Selasa, 16 Juli 2013

Variabel di Shell Script


sebelumnya kita sudah berkenalan dengan shell script dan berhasil membuat sebuah shell script yang sangat sederhana. Kalau kita perhatikan, kita tidak melakukan proses apapun pada shell script tersebut. Kita hanya menampilkan pesan di layar serta menjalankan perintah pada shell melalui shell script. Bagaimana jika kita hendak membuat program shell script yang lebih interaktif?
Seperti halnya bahasa pemrograman, shell script juga mengenal variabel yang berfungsi untuk dapat menampung informasi secara temporer untuk berbagai macam keperluan, misalnya untuk proses komputasi ataupun menentukan hasil output. Kamu boleh membuat atau menggunakan sebanyak mungkin variabel dalam script shell kamu. Nama variabel bersifat bebas, boleh huruf besar maupun kecil, namun agar lebih mudah dalam mengingat, biasakan untuk membuat aturan yang baku dalam pembuatan nama variabel. Pada tulisan ini, semua variabel akan dituliskan dalam huruf kecil.
Variabel dapat dibedakan menjadi dua jenis, yaitu environment variable dan user variable. Environment variable adalah variabel yang sudah ditentukan sebelumnya karena merupakan bagian dari shell yang dipakai (bash). Secara default, nama dari variabel ini menggunakan huruf kapital. Contoh dari variabel ini adalah $USER yang akan berisi nama user yang sedang kamu gunakan, $HOME yang berisi alamat home directory dari user yang digunakan, dan lain sebagainya. Untuk menampilkan seluruh nilai environment variabel yang sudah ada, kamu bisa menggunakan perintah set pada terminal (Gambar 1). User variable adalah variabel yang ditentukan sendiri namanya oleh pengguna dan bukan oleh shell yang dipakai.
Variabel dapat diakses dengan menggunakan tanda dollar ($) didepan nama variabel, misalnya kita memiliki sebuah variabel bernama “namaku”, maka untuk mengakses nilai yang tersimpan pada variabel tersebut, kita menggunakan $namaku. Untuk memberi nilai pada sebuah variabel, kita menggunakan tanda “=” yang langsung diikuti dengan nilai yang akan kita berikan tanpa ada spasi, misalnya namaku=Willy. Bagaimana jika nilai yang hendak kita berikan adalah sebuah kalimat? Gunakan tanda kutip ganda sebagai pembuka dan penutup nilai variabel, misalnya namaku=”Willy Sudiarto Raharjo”. Sebagai contoh, lihat listing 1 dan coba jalankan pada komputer kamu. Terlihat bahwa nilai variabel Sudiarto akan dianggap sebagai sebuah perintah dan bukan bagian dari variabel karena tidak diapit oleh tanda petik ganda. Harap berhati-hati dalam memberikan sebuah nilai pada variabel.
Kamu bisa menggabungkan environment variable dan user variabel dalam satu shell script yang sama, seperti pada listing 2. Bagaimana jika hendak menuliskan sebuah pesan yang menggunakan karakter $, misalnya “Harganya $15” ? Jika kita tidak hati-hati, maka bisa jadi shell script akan salah menginterpretasikan informasi yang kita berikan dan mencoba mengambil nilai dari variabel 1 (yang tidak akan berisi apapun) dan menampilkannya sebagai “Harganya 5”. Untuk mengatasinya, gunakan karakter escape untuk menandai bahwa karakter berikutnya akan dikenali sebagai karakter biasa dan bukan sebagai pengganti sebuah variabel, yaitu tanda backslash “\” seperti pada listing 3.


Satu karakter yang perlu mendapatkan perhatian lebih adalah karakter backtick “`” (posisinya disebelah kiri angka 1 pada keyboardmu) karena karakter ini memiliki fungsi spesial dalam pemrograman shell, yaitu mampu menampung hasil keluaran dari sebuah perintah shell didalam sebuah variabel. Sebagai contoh, kita akan menampung hasil dari perintah date kedalam variabel tanggal dan menampilkan isinya menggunakan perintah echo seperti pada listing 4.


Untuk bisa menerima input dari pengguna dan menyimpannya kedalam sebuah variabel, kita bisa menggunakan fungsi read yang diikuti dengan nama variabel yang hendak kita pakai untuk menyimpan nilai seperti pada contoh listing 5.

Sekian tutorial kita kali ini. Selamat bermain dengan variabel pada shell script.

Listing 1
#!/bin/bash
namaku=Willy
echo $namaku
namaku=Willy Sudiarto Raharjo
echo $namaku
namaku=”Willy Sudiarto Raharjo”
echo $namaku

Listing 2
#!/bin/bash
jumlah=5
echo $USER memiliki $jumlah Apel

Listing 3
#!/bin/bash
echo Mouse ini seharga \$15

Listing 4
#!/bin/bash
tanggal=`date`
echo “Tanggal hari ini: $tanggal”

Listing 5
|#!/bin/bash
echo -n “Masukkan nama Anda: “
read nama
echo -n “Berapa usia Anda: “
read usia
echo “Hallo $nama, usia Anda $usia tahun”

0 komentar:

Posting Komentar