Pengertian dan Macam-Macam Sintaks Pada Bash Shell
SHELL BASH
Pengertian Bash Shell adalah bahasa penerjemah atau comand language interpreter untuk sistem operasi linux. Nama dari BASHSHELL meruapkan kepanjangan dari Bourne-Again SHell yang diambil dari nama Stephen Bourne sang pembuat dan penggagas Unix Shell sh.
Secara spesifik, Bash merupakan project yang dikembangkan oleh GNU. Bash menjadi shell linux yang default. Artinya linux menggunakan Bash sebagai shellnya secara umum.
Berikut Macam-macam sintaks pada bash shell :
• Input/Output
1. Output dengan printf
Contoh:
#!/bin/bash
#pr1
url=”pemula.linux.or.id”;
angka=32;
printf “Hi, Pake printf ala C\n\t\a di bash\n”;
printf “My url %s\n %d decimal = %o octal\n” $url $angka $angka;
printf “%d decimal dalam float = %.2f\n” $angka $angka
Hasilnya:
[arif@linuxubuntu$] bash pr1 ( atau bisa ./pr )
Hi, Pake printf ala C
di bash
My url pemula.linux.or.id
32 decimal = 40 octal
32 decimal dalam float = 32.00
2. Input dengan read
Setelah echo dan printf untuk proses output telah anda ketahui, sekarang kita menggunakan statement read yang cukup ampuh untuk membaca atau menerima masukan dari input standar.
Contohnya:
#!/bin/bash
#rd1
echo -n “Nama anda :”
read nama;
echo “Hi $nama, apa khabarmu”;
echo “Pesan dan kesan :”;
read
echo “kata $nama, $REPLY”;
Hasilnya:
[arif@linuxubuntu$] bash rd1
Nama anda : pinguin
Hi pinguin, apa khabarmu
Pesan & kesan :
pake linux pasti asyk – asyk aja
kata pinguin, pake linux pasti asyk – asyk aja
• Seleksi
1. If
Statement builtin if berfungsi untuk melakukan seleksi berdasarkan suatu kondisi tertentu
Sintaxnya:
if test-command1;
then
perintah1;
elif test-command2;
then
perintah2;
else
alternatif_perintah;
fi
Contohnya:
#!/bin/bash
#if1
clear;
if [ $# -lt 1 ];
then
echo “Usage : $0 [arg1 arg2 ...]”
exit 1;
fi
echo “Nama script anda : $0″;
echo “Banyak argumen : $#”;
echo “Argumennya adalah: $*”;
Hasilnya:
[arif@linuxubuntu$]bash if1
Usage : ./if1 [arg1 arg2 ...]
2. Case
Seperti halnya if statement case digunakan untuk menyeleksi kondisi majemuk, dibanding if, pemakaian case terasa lebih efisien.
Sintaxnya:
case WORD in [ [(] PATTERN [| PATTERN]…) COMMAND-LIST ;;]…
esac
Contohnya:
#!/bin/bash
clear
echo -n “Masukkan nama binatang :”;
read binatang;
case $binatang in
pinguin | ayam | burung ) echo “$binatang berkaki 2″
break
;;
onta | kuda | anjing ) echo “$binatang berkaki 4″
break
;;
*) echo “$binatang blom didaftarkan”
break
;;
Esac
Hasilnya:
[arif@linuxubuntu$]bash cs1
Masukkan nama binatang : pinguin
pinguin berkaki 2
• Perulangan
1. For
Sintax:
for NAME [in WORDS ...]; do perintah; done
Contohnya:
#!/bin/bash
for angka in 1 2 3 4 5;
do
echo “angka=$angka”;
done
Hasilnya:
[arif@linuxubuntu$]bash for1
angka=1
angka=2
angka=3
angka=4
2. While
Selama kondisi bernilai benar atau zero perintah dalam blok while akan diulang terus
Syntaxnya:
while KONDISI; do perintah; done;
Contohnya:
#!/bin/bash
i=1;
while [ $i -le 10 ];
do
echo “$i,”;
let i=$i+2;
done
Hasilnya:
[arif@linuxubuntu$]bash wh1
1,3,5,7,9,
3. Until
Jika while akan mengulang selama kondisi benar, lain halnya dengan statement until yang akan mengulang selama kondisi salah. berikut contoh script ut menggunakan until
Contohnya:
#!/bin/bash
i=1;
until [ $i -gt 10 ];
do
echo $i;
let i=$i+1
done
Hasilnya:
[arif@linuxubuntu$]bash ut
1,2,3,4,5,6,7,8,9,10,
4. Select
Select berguna untuk pembuatan layout berbentuk menu pilihan, anda lihat contoh script pembuatan menu diatas kita hanya melakukannya dengan echo secara satu persatu, dengan select akan terlihat lebih efisien.
Syntaxnya:
select varname in (<item list>); do perintah; done
Contohnya:
#!/bin/bash
#menu1
clear
select menu
do
echo “Anda memilih $REPLY yaitu $menu”
done
Hasiilnya:
[arif@linuxubuntu$]bash menu1 Slackware Redhat Mandrake
1) Slackware
2) Redhat
3) Mandrake
#? 1
Anda memilih 1 yaitu Slackware
• Array
Array adalah kumpulan variabel dengan tipe sejenis, dimana array ini merupakan feature Bash yang cukup indah dan salah satu hal yang cukup penting dalam bahasa pemrograman, anda bisa membayangkan array ini sebagai tumpukan buku – buku dimeja belajar. lebih jelasnya sebaiknya lihat dulu
Contoh script berikut:
#!/bin/bash
#array1
buah=(Melon,Apel,Durian);
echo ${buah[*]};
Hasilnya :
[arif@linuxubuntu$] bash array1
Melon,Apel,Durian
Anda lihat bahwa membuat tipe array di Bash begitu mudah, secara otomatis array buah diciptakan dan string Melon menempati index pertama dari array buah, perlu diketahui bahwa array di Bash dimulai dari index 0, jadi array buah mempunyai struktur seperti berikut:
buah[0] berisi Melon
buah[1] berisi Apel
buah[2] berisi Durian
0,1,2 adalah index array, berarti ada 3 elemen pada array buah, untuk menampilkan isi semua elemen array gunakan perintah subtitusi seperti pada contoh diatas, dengan index berisi "*" atau "@". dengan adanya index array tentunya kita dapat mengisi array perindexnya dan menampilkan isi array sesuai dengan index yang diinginkan. anda lihat contoh berikut:
#!/bin/bash
#array2
bulan[0]=31
bulan[1]=28
bulan[2]=31
bulan[3]=30
bulan[4]=31
bulan[5]=30
bulan[6]=31
bulan[7]=31
bulan[8]=30
bulan[9]=31
bulan[10]=30
bulan[11]=31
echo "Banyak hari dalam bulan November adalah ${bulan[10]} hari"
Hasilnya:
[arif@linuxubuntu$]bash array2
Banyak hari dalam bulan November adalah 30 hari
Sebenarnya kita dapat mendeklarasikan array secara eksplisit menggunakan statement declare
Contohnya:
declare -a myarray
Mendeklarasikan variabel myarray sebagai array dengan opsi -a, kemudian anda sudah dapat memberinya nilai baik untuk semua elemen atau hanya elemen tertentu saja dengan perulangan yang telah kita pelajari pengisian elemen array dapat lebih dipermudah, lihat contoh :
#!/bin/bash
#array3
#deklarasikan variabel array
declare -a angka
#clear
i=0;
while [ $i -le 4 ];
do
let isi=$i*2;
angka[$i]=$isi;
let i=$i+1;
done
#tampilkan semua elemen array
#dengan indexnya berisi "*" atau "@"
echo ${angka[*]};
#destroy array angka (memory yang dipakai dibebaskan kembali)
unset angka
Hasilnya:
[arif@linuxubuntu$]bash array3
0 2 4 6 8
Komentar
Posting Komentar