Minggu, 25 Desember 2016

SHELL SCRIPT PADA LINUX

A. PENGERTIAN


Shell Script merupakan kumpulan perintah yang disimpan pada suatu file. Extensi umum yang digunakan untuk shell script adalah ('.sh'). Shell script juga menyediakan beberapa fitur yang tersedia pada bahasa pemrograman tingkat tinggi seperti variabel, percabangan dan perulangan.

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


1. Variabel
       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.

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)

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



5. Redirection
        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).

6. FUNGSI
      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. 

Syntax penggunaan percabangan pada shell script adalah:
a. If : 
if kondisi 
then
...
...
fi
b. Else If :
if kondisi
then
...
...
else
...
...
fi
c. Nesterd If :
if kondisi1
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 [ ].

Operator yang dapat digunakan untuk membandingkan data NUMERIK :
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

9. Perulangan dalam Shell Script
       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

SUMBER :

Tidak ada komentar:

Posting Komentar