A. PENGERTIAN
Contoh sederhana penggunakan shell script:
ketikkan pada terminal :
$ vi hello.sh
echo 'HELLO WORLD'
Untuk menjalankan ada dua cara, pertama melalui program shell itu sendiri dengan mengetik
$ sh hello.sh
Maka akan muncul seperti gambar berikut :
Kedua adalah mengeksekusinya secara independen, untuk melakukan hal tersebut anda harus memberi permission 'execute' pada file.
$ chmod +x hello.sh
$ ./hello.sh
Seperti gambar berikut :
B. PERINTAH & FITUR SHELL SCRIPT
Pemberian variabel pada shell script bersifat 'dynamic typing' karena shell script tidak mengenal adanya tipe data. Dalam membuat variabel ada beberapa aturan yang harus dipenuhi agar variabel
tersebut dianggap valid oleh shell, syntax untuk penamaan variabel adalah:
nama_variabel=NILAI
Perhatikan bahwa tidak ada spasi antara nama_variabel dengan tanda '=' juga dengan NILAI.
tersebut dianggap valid oleh shell, syntax untuk penamaan variabel adalah:
nama_variabel=NILAI
Perhatikan bahwa tidak ada spasi antara nama_variabel dengan tanda '=' juga dengan NILAI.
Berikut adalah beberapa aturan tentang penamaan variabel:
1. Variabel HARUS diawali ABJAD atau _ (tidak dapat diawali angka)
2. Variabel dapat terdiri dari karakter alphanumeric dan _
3. Variabel bersifat Case Sensitive
4. Jika isi variabel mengandung spasi sebaiknya apit dengan tanda petik (') atau (").
5. Gunakan escape character (\) untuk karakter non-literal seperti (\', \$, \?, dll)
1. Variabel HARUS diawali ABJAD atau _ (tidak dapat diawali angka)
2. Variabel dapat terdiri dari karakter alphanumeric dan _
3. Variabel bersifat Case Sensitive
4. Jika isi variabel mengandung spasi sebaiknya apit dengan tanda petik (') atau (").
5. Gunakan escape character (\) untuk karakter non-literal seperti (\', \$, \?, dll)
2. Command Line dan Argument
Perintah-perintah command line umumnya memerlukan minimal satu buah argumen
agar dapat mengerjakan tugasnya secara optimal. Argumen adalah text/character yang ditempatkan setelah nama program dengan pemisah minimal satu spasi.
Untuk mengetahui jumlah argument yang diinputkan user gunakan variabel $#, sedangkan untuk mendapatkan seluruh argument gunakan variabel $*.
3. Perhitungan Aritmatik
Untuk melakukan perhitungan aritmatik, shell tidak memiliki kemampuan built-in, tetapi meminta bantuan program lain yaitu `expr`. Program expr berfungsi untuk mengevaluasi suatu ekspresi baik itu perbandingan string atau operasi aritmatik sederhana.
Operator aritmatik yang disediakan antara lain:
a. + : Penjumlahan
b. - : Pengurangan
c. * : Perkalian
d. / : Pembagian
e. % : Modulus
Keterangan : Operator Perkalian harus ditulis seperti berikut \*
Contoh :
Setelah masuk ke vi kalkulator.sh :
Setelah menjalankan sh kalkulator.sh :
4. Piping
Piping merupakan penggabungan dua atau lebih perintah dimana output dari perintah sebelumnya digunakan sebagai input untuk perintah selanjutnya. Simbol yang digunakan untuk membatasi perintah yang satu dengan yang lain adalah tanda pipe "|".
Contoh sederhana penggunaan piping pada command line:
$ cat /etc/passwd | wc -l
$ cat /etc/passwd | wc -l
Berarti "Pengalihan". Jika kita ingin mengambil inputan maka kita mengambil dari STANDARD INPUT (STDIN) yaitu keyboard. Sedangkan hasil output program yang tercetak di layar monitor kita disebut STANDARD OUTPUT (STDOUT). Hampir sama dengan STDOUT, error yang dihasilkan program juga ditampilkan lewat monitor biasa disebut STANDARD ERROR (STDERR).
Hampir sama dengan bahasa pemrograman tingkat tinggi, pada shell script juga
dikenal istilah fungsi. Dimana dengan adanya fungsi kita dapat membagi
kode kita ke dalam sub-sub yang lebih kecil. Hal ini sangat berguna jika kita
membangun sebuah program shell script yang cukup kompleks.
Syntax penggunaan fungsi pada shell script adalah:
function nama-fungsi()
{
perintah
...
...
return
}
7. Percabangan
Dengan menggunakan percabangan/branching maka kita dapat mengontrol alur dari shell script yang kita buat. Hal ini memungkinkan kita untuk menulis program yang sangat kompleks pada shell script.
function nama-fungsi()
{
perintah
...
...
return
}
Dengan menggunakan percabangan/branching maka kita dapat mengontrol alur dari shell script yang kita buat. Hal ini memungkinkan kita untuk menulis program yang sangat kompleks pada shell script.
Syntax penggunaan percabangan pada shell script adalah:
a. If :
a. If :
if kondisi
then
...
...
fi
...
...
fi
b. Else If :
if kondisi
then
...
...
else
...
...
fi
then
...
...
else
...
...
fi
c. Nesterd If :
if kondisi1
then
...
...
elif kondisi1
...
...
elif kondisi-n
...
...
else
...
...
fi
then
...
...
elif kondisi1
...
...
elif kondisi-n
...
...
else
...
...
fi
d. Case :
case $variabel in
pattern1) perintah
...
perintah;;
pattern2) perintah
...
perintah;;
*) perintah
...
perintah;;
esac
Untuk melakukan perbandingan kondisi pada data kita dapat menggunakan perintah `test`(man test) atau meletakkannya dalam blok [ ].
pattern1) perintah
...
perintah;;
pattern2) perintah
...
perintah;;
*) perintah
...
perintah;;
esac
Untuk melakukan perbandingan kondisi pada data kita dapat menggunakan perintah `test`(man test) atau meletakkannya dalam blok [ ].
a. -eq : Samadengan (=)
b. -ne : Tidak sama dengan (!=)
c. -gt : Lebih besar (>)
d. -ge : Lebih besar atau sama dengan (>=)
e. -lt : Kurang dari (<)
f. -le : Kurang dari atau sama dengan (<=)
8. Menangkap Error Status
Seperti yang pernah dijelaskan sebelumnya bahwa untuk melihat error status dari suatu perintah kita gunakan special variable "$?". Error status ini dapat kita gunakan untuk melihat apakah perintah yang kita jalankan berjalan tanpa error atau tidak.
Error status terdiri dari dua flag yaitu:
+-----------+-----------------+
| NO. ERROR | STATUS PROGRAM |
+-----------+-----------------+
| 0 | OK |
+-----------+-----------------+
| !=0 | TERJADI ERROR |
+-----------+-----------------+
NOTE: != artinya TIDAK SAMA DENGAN
Perulangan atau looping adalah pengeksekusian suatu blok perintah selama kondisi yang digunakan masih bernilai TRUE.
Dalam shell script terdapat dua tipe perulangan yaitu:
- for loop
- while loop
Umumnnya perulangan `for` digunakan apabila kita sudah tahu batas perulangan yang akan kita lakukan.
Syntax penulisannya adalah:
for nama_variabel in list
do
...
...
done
-------------------------
for (( expr1; expr2; expr3 ))
do
...
...
done
for nama_variabel in list
do
...
...
done
-------------------------
for (( expr1; expr2; expr3 ))
do
...
...
done
SUMBER :




Tidak ada komentar:
Posting Komentar