If Statement

If statement adalah sebuah pernyataan yang digunakan untuk mengeksekusi perintah tertentu jika kondisi yang ditentukan benar. Jika kondisi salah, maka perintah tidak akan dieksekusi.

Kondisi

Sintaks if statement menggunakan tanda kurung siku untuk menentukan kondisi. Kondisi yang dapat digunakan adalah sebagai berikut:

  • -eq : sama dengan
  • -ne : tidak sama dengan
  • -gt : lebih besar dari
  • -ge : lebih besar atau sama dengan
  • -lt : lebih kecil dari
  • -le : lebih kecil atau sama dengan
  • -z : string kosong
  • -n : string tidak kosong
  • str : string tidak kosong
  • -e : file ada
  • -d : file adalah direktori
  • -f : file adalah file biasa
  • -s : file tidak kosong
  • -r : file dapat dibaca
  • -w : file dapat ditulis
  • -x : file dapat dieksekusi
  • -L : file adalah simbolik link
  • -O : file dimiliki oleh user saat ini
  • -G : file dimiliki oleh grup saat ini
  • -nt : file lebih baru dari file lain
  • -ot : file lebih lama dari file lain
  • -ef : file sama dengan file lain
  • ! : negasi
  • -a : dan
  • -o : atau
  • str1 == str2 : string sama dengan
  • str1 != str2 : string tidak sama dengan
  • str1 < str2 : string lebih kecil dari
  • str1 > str2 : string lebih besar dari
  • str1 <= str2 : string lebih kecil atau sama dengan
  • str1 >= str2 : string lebih besar atau sama dengan
  • str1 =~ str2 : string cocok dengan regex
  • str1 !~ str2 : string tidak cocok dengan regex

Sintaks

Terdapat dua sintaks yang dapat digunakan untuk membuat if statement, yaitu:

  • Sintaks 1
1
2
3
if [ kondisi ]; then
    perintah
fi
  • Sintaks 2
1
2
3
4
if [ kondisi ]
then
    perintah
fi

Else dan Elif

Else digunakan untuk mengeksekusi perintah jika kondisi salah sedangkan Elif digunakan untuk mengeksekusi perintah jika kondisi salah dan kondisi lainnya benar.

1
2
3
4
5
if [ kondisi ]; then
    perintah
else
    perintah
fi
1
2
3
4
5
6
7
if [ kondisi ]; then
    perintah
elif [ kondisi ]; then
    perintah
else
    perintah
fi