Home / Linux / Bash Programming / Dasar-dasar Bash Programming (2)

Dasar-dasar Bash Programming (2)

/
/
/
46 Views

Heyhoooo.. Jumpa lagiii.. Jumpa Maissy kembaliiii.. *Dih, ketahuan tuanya.. Yg Gen 90-an pasti tau πŸ˜›* Eheheheh.. Ketemu lagi di blog ini, yg dalam postingan kali ini masih mengangkat tema tentang “Bash Programming“. Kalo di postingan sebelumnya yg dibahas adalah seputar perkenalan dgn Bash programming, maka postingan kali ini merupakan lanjutannya, yaitu pembahasan tentang variabel & parameter.

Di bagian akhir postingan yg lalu kan udah dicontohin tuh menulis script sederhana yg sangat FAMOUS di dunia persilatan pemrograman, yaitu scriptHello, World!“. Karena kesederhanaannya itu, dia bs hidup tenang dan damai.. *Ini apaaa siiihh?* Pokoknya, disebut sederhana karena nggak melibatkan tetek bengek macem variabel, operator, iterasi, menu interaktif, endebre endebre..

Oh nooooo.. Peyek kacangkuuu,, bertebaran di atas keyboard πŸ™ *Nulisnya emg masih sambil ngemil peyek kacang* Hiks.. Bentar, ane bersihin dulu yaaa…

Fast forward…………………………….

OK, udah.. Fiuh.. Maaf pembaca, terjadi interupsi tadi. Ya intinya di postingan kali ini yg bakal dibahas adalah sbb:

  1. Variabel
  2. Parameter

Langsung aja yaaa… Yuk, kita bahas satu persatu

 

1. VARIABEL

Variabel bertugas untuk menyimpan data sementara yg sewaktu2 dapat dianggil. Kalo setting variabel-nya di CLI, maka variabel tsb dapat dipanggil kalo CLI window-nya (terminal) belum ditutupΒ atau OS-nya belum kena reboot πŸ˜€ Tapi, klo setting variabel-nya langsung di dalam file script yg udh di-save, terminalnya ditutup atau OS reboot pun tak masalah. Bingung? Yuk, kita simak dulu contohnya πŸ™‚

  • Contoh variabel yg langsung diketikkan di CLI.
[email protected]:/home/ninkyhade# nama=ninkyhade
[email protected]:/home/ninkyhade# lokasi="di mana aja yg penting hepi"
[email protected]:/home/ninkyhade# echo $nama $lokasi
ninkyhade di mana aja yg penting hepi

 

  • Format penulisan –> nama_variabel=isi_variabel
  • Penulisan nama_variabel harus diawali dgn huruf, bersifat case sensitive (huruf besar & kecil dibedakan), dan tidak ada spasi.
  • Antara nama_variabel, tanda sama dengan (=), dan isi_variabel juga tidak ada spasi.
  • Untuk isi_variabel yg terdiri lebih dari 1 kata, gunakan tanda petik.
  • Untuk pemanggilan variabel, gunakan tanda $ sehingga penulisannya menjadi $nama_variabel

Sekarang kalo nama di atas mau saya ganti jadi “belalang tempur” gimana? Yuk, kita coba..

[email protected]:/home/ninkyhade# nama="belalang tempur"
[email protected]:/home/ninkyhade# echo $nama $lokasi
belalang tempur di mana aja yg penting hepi

 

  • Lho kog, nama ninkyhade jd ilang dan berganti belalang tempur? Ya jelang doss, kan variabel-nya sama, yaitu variabel nama. Oleh karena belalang tempur didefinisikan dalam variabel yg sama dgn ninkyhade, dan didefinisikan setelah ninkyhade, jadi si ninkyhade ketimpa sama belalang tempur. Jelas ya? πŸ™‚
  • Nah, terus tiba2 terminalnya ditutup ato lebih parahnya misal kena reboot OS-nya, maka variabel nama dan lokasi tidak akan ditemukan karena penyimpanan variabel yg diketikkan langsung di CLI sifatnya tidak permanen.
  • Contoh variabel dalam file script.
#!/bin/bash
# Contoh penggunaan variabel dalam file script

nama="belalang tempur"
lokasi="di mana aja yg penting hepi"
echo $nama $lokasi

 

Simpan file tsb dgn nama “variabel.sh“. Sekarang coba kita jalankan file script tsb ya.. Jangan lupa ganti dulu hak aksesnya agar bisa dieksekusi.

[email protected]:/home/ninkyhade# chmod +x variabel.sh
[email protected]:/home/ninkyhade# ls -l variabel.sh
-rwxr-xr-x 1 root root 138 Oct 20 15:42 variabel.sh
[email protected]:/home/ninkyhade# bash variabel.sh
belalang tempur di mana aja yg penting hepi

 

Kalopun terminalnya ditutup ato OS-nya kena reboot, variabelnya akan aman karena tersimpan di dalam file. Ketika file script tsb dijalankan, maka variabel akan ikut didefinisikan.

Variabel jg bisa digabung dan bisa juga berisi perintah lhooo.. Mari kita simak..

  • Contoh variabel gabungan.
[email protected]:/home/ninkyhade# nama="belalang tempur"
[email protected]:/home/ninkyhade# spasi=" "
[email protected]:/home/ninkyhade# lokasi="di mana aja yg penting hepi"
[email protected]:/home/ninkyhade# gabungan=$nama$spasi$lokasi
[email protected]:/home/ninkyhade# echo $gabungan
belalang tempur di mana aja yg penting hepi

 

  • Contoh variabel yg berisi perintah.
[email protected]:/home/ninkyhade# lihat_dir="ls -l"
[email protected]:/home/ninkyhade# $lihat_dir
total 28180
-rwxr-xr-x 1 root root 33 Oct 18 21:35 hello.sh
-rw-r--r-- 1 root root 8183815 Sep 19 14:21 latest.tar.gz
-rw-r--r-- 1 root root 8912693 Sep 19 14:21 latest.zip
-rwxr-xr-x 1 root root 2105 Sep 27 22:21 product-image.php
-rwxr-xr-x 1 root root 138 Oct 20 15:42 variabel.sh

 

Gimana? Asik kan? Belum bosen to? Boleh sambil nyemil2 lhoo.. Kebetulan ada martabak di atas meja πŸ˜› Kita lanjut lagi ke pembahasan mengenai parameter yaaa…

 

2. PARAMETER

Ketika kita mengetikkan perintah pada CLI, misalnya cp file1 file2, maka file1 and file2 adalah argumen dari perintah cp (copy). file1 merupakan parameter ke-1 ($1) yg mewakili argumen pertama, dan file2 merupakan parameter ke-2 ($2) yg mewakili argumen kedua, begitu seterusnya. Parameter ini ($1, $2, dst.) udah otomatis tersedia di sistem, jadi kita tinggal pake aja.. Yuk, kita buat contohnya ke dalam file script πŸ˜‰

#!/bin/bash
# Script sederhana untuk copy file menggunakan parameter

cp $1 $2
echo "meng-copy-kan file $1 ke $2"
ls -l $2

 

Simpan file tsb dgn nama “parameter.sh” kemudian jalankan ya..

[email protected]:/home/ninkyhade# chmod +x parameter.sh
[email protected]:/home/ninkyhade# ls -l parameter.sh
-rwxr-xr-x 1 root root 119 Oct 20 16:57 parameter.sh
[email protected]:/home/ninkyhade# bash parameter.sh variabel.sh variabelcopy.sh
meng-copy-kan file variabel.sh ke variabelcopy.sh
-rwxr-xr-x 1 root root 138 Oct 20 16:59 variabelcopy.sh

 

Nah, isi file script-nya tadi kan perintah untuk copy file, yaitu cp $1 $2. Pas file script tsb dijalankan pake perintah bash parameter.sh, di belakangnya kita kasih argumen berupa nama file yg akan di-copy-kan ($1) dan nama file hasil copy-an ($2). Sehingga, perintah lengkapnya menjadi bash parameter.sh variabel.sh variabelcopy.sh. Sampe sini paham kan gunanya parameter?

OK, lanjut gaaan.. Kira2 ada lagi nggak parameter selain $1 dan $2 yaaa? Sekarang kita cek aja, emang ada parameter apalagi selain kedua parameter yg udah disebut di atas. Seperti biasa, kita coba ke dalam file script ya.. πŸ™‚

#!/bin/bash
echo "Anda menjalankan program $0"
echo "Parameter pertama adalah $1"
echo "Parameter kedua adalah $2"
echo "Parameter ketiga adalah $3"
echo "Anda memasukkan parameter sebanyak $#"
echo "Parameter yang Anda masukkan adalah $*"
echo "Proses berjalan dengan PID $$"

 

Simpan file dgn nama “parameterinfo.sh“. Dan coba jalankan seperti berikut..

[email protected]:/home/ninkyhade# bash parameterinfo.sh
[email protected]:/home/ninkyhade# bash parameterinfo.sh satu
[email protected]:/home/ninkyhade# bash parameterinfo.sh satu dua
[email protected]:/home/ninkyhade# bash parameterinfo.sh satu dua tiga

 

Hayoooo.. Apa bedanya perintah2 tsb?? Bisa mengamati hasilnya kan? Saya kasi liat hasilnya ya, tapi langsung aja ke hasil dari perintah terakhir yg bash parameterinfo.sh satu dua tiga.

[email protected]:/home/ninkyhade# bash parameterinfo.sh satu dua tiga
Anda menjalankan program parameterinfo.sh
Parameter pertama adalah satu
Parameter kedua adalah dua
Parameter ketiga adalah tiga
Anda memasukkan parameter sebanyak 3
Parameter yang Anda masukkan adalah satu dua tiga
Proses berjalan dengan PID 2998

 

Dan berikut adalah keterangannya:

  • $0 = parameterinfo.sh –> biasanya menunjukkan nama program
  • $1 = satu
  • $2 = dua
  • $3 = tiga
  • $# = 3 –> menunjukkan banyaknya parameter yg didefinisikan
  • $* = satu dua tiga –> menunjukkan nama2 parameter
  • $$ = 2998 –> menunjukkan nomor identifikasi proses (PID)

 

Tu kan, parameter ternyata banyak jg ragamnya.. Smoga dgn info ini jd pada tau dan syukur2 paham ya..

Waaaaaah.. Ternyata tulisannya udah panjang yak.. πŸ˜€ Padahal masih mau mbahas tentang Input dan Operator. Tapi kayaknya dilanjutin aja insya Allah di postingan selanjutnya.. OK, semoga bermanfaat yaaa πŸ™‚

SUMBER

  • Facebook
  • Twitter
  • Google+
  • Linkedin

Leave a Comment

Your email address will not be published. Required fields are marked *