Sabtu, 04 Oktober 2014

Percabangan dan Perulangan pada Bash Script

Pada postingan ini kita akan membahas tentang percabangan dan perulangan pada bash script, langsung saja:

Percabangan

Pada percabangan, saya hanya akan menjelaskan statement if. Statement if berfungsi untuk melakukan seleksi berdasarkan suatu kondisi tertentu.

syntax :

if test-command1
   then
      perintah1
elif test-command2
   then
      perintah2
else
      alternatif_perintah
fi



statement if harus diikuti dengan statement then dan diakhiri dengan statement fi. Untuk operator pembandingnya adalah sebagai berikut:

operator untuk integer:
bil1 -eq bil2 => mengembalikan nilai benar jika bil1 sama dengan bil2
bil1 -ne bil2 => mengembalikan nilai benar jika bil1 tidak sama dengan bil2
bil1 -lt bil2 => mengembalikan nilai benar jika bil1 lebih kecil dari bil2
bil1 -le bil2 => mengembalikan nilai benar jika bil1 lebih kecil atau sama dengan bil2
bil1 -ge bil2 => mengembalikan nilai benar jika bil1 lebih besar bil2
bil1 -gt bil2 => mengembalikan nilai benar jika bil1 lebih besar atau sama dengan bil2

operator untuk string:
-z string => mengembalikan benar jika panjang string adalah zero
string1 == string2 => mengembalikan benar jika string1 sama dengan string 2

operator untuk file:
-f file => mengembalikan benar jika file ada dan merupakan file biasa
-d file => mengembalikan benar jika file ada dan merupakan directory

operator logika:
ekspr1 -o ekspr2 => benar jika salah satu ekspresi benar (or)
ekspr1 -a ekspr2 => benar jika keduanya benar (and)
! ekspr => benar jika ekspresi salah (not)


contoh script:

#!/bin/bash
num=1
if [ $num -lt 10]
   then
         echo "ya"
else
         echo "tidak"
fi

script di atas akan menghasilkan output "ya" jika variabel num benilai kurang dari sepuluh, dan menghasilkan output "tidak" jika tidak. Ingat, pada saat inisialisasi variabel, tidak ada tanda $, dan tidak boleh ada spasi sama sekali, pada saat variabel diakses, harus diberi tanda $ di awal nama variabel. Juga perhatikan spasi pada if, karena spasi berpengaruh.


Perulangan

<=> Statement for <=>
Contoh:

#!/bin/bash
for i in 1 2 3 4 5
     do
           echo "angka=$i"
done

Statement for harus diikuti oleh statement do dan diakhiri dengan statement done. statement 1 2 3 4 5 bisa diganti dengan perintah sequensial, contoh:

#!/bin/bash
for i in $(seq 1 5)
     do
           echo "angka=$i"
done

output script di atas sama dengan script sebelumnya

<=> Statement while <=>
Statement while berarti mengulang perintah selama kondisi benar.

syntax:

while kondisi
       do
              perintah
done

Sama dengan statement for, statement while juga harus diikuti dengan do dan diakhiri dengan done. 

Contoh:

#!/bin/bash
i=1;
while [ $i -le 10 ];
     do
          echo "$i,";
          let i=$i+2;
done

<=> Statement until <=>
Statement until adalah kebalikan dari statement while, jika while mengulang selama kondisi benar, maka until mengulang selama kondisi salah.

syntax:

until kondisi
       do
              perintah
done

Contoh:

#!/bin/bash
i=1;
until [ $i -gt 10 ];
      do
           echo $i;
           let i=$i+1
done

Ingat, operasi aritmatika harus didahului perintah let, jika tidak, akan dianggap sebagai string.


Sekian dan semoga bermanfaat..

1 komentar: