Struktur Dasar Bash Script: if, else, dan elif

calendar_today
schedule 3 min read

Struktur Dasar Bash Script: if, else, dan elif

Kuy Belajar Bash Script!

Di dunia scripting, sering banget kita harus ngeganti alur eksekusi kode kayak ngecek kondisi. Nah, di Bash, kita punya if, else, dan elif buat ngatur semua ini. Yuk, kita bahas tuntas!

1. Struktur if Dasar

Pertama, kita mulai dari yang paling sederhana dulu: if.

code
if [ kondisi ]
then
  # Kode yang dieksekusi jika kondisi benar
fi

Contoh:

code
if [ -f "file.txt" ]
then
  echo "File file.txt ada nih!"
fi

Penjelasan:

  • [ -f "file.txt" ]: Cek apakah file bernama file.txt ada.
  • then: Awali blok yang mau dieksekusi kalau kondisi true.
  • fi: Akhiri blok if.

2. Struktur if dengan else

Gimana kalau if nggak terpenuhi? Nah, kita bisa masuk ke else!

code
if [ kondisi ]
then
  # Kode yang dieksekusi jika kondisi benar
else
  # Kode yang dieksekusi jika kondisi salah
fi

Contoh:

code
if [ -f "file.txt" ]
then
  echo "File file.txt ada nih!"
else
  echo "File file.txt gak ada, bro!"
fi

Penjelasan:

  • Sama seperti if sebelumnya, tapi kalo kondisinya false, eksekusi kode di bagian else.

3. Struktur if dengan elif

Terdadinya kita pengen ngecek beberapa kondisi berturut-turut sebelum akhirnya keluar. Nah, ini dia gunanya elif (singkatan dari else if).

code
if [ kondisi1 ]
then
  # Kode yang dieksekusi jika kondisi1 benar
elif [ kondisi2 ]
then
  # Kode yang dieksekusi jika kondisi2 benar
else
  # Kode yang dieksekusi jika semua kondisi salah
fi

Contoh:

code
if [ -f "file.txt" ]
then
  echo "File file.txt ada nih!"
elif [ -f "file2.txt" ]
then
  echo "File file2.txt ada, tapi file.txt gak ada!"
else
  echo "Gak ada sama sekali filenya, gan :("
fi

Penjelasan:

  • Cek kondisi1 dulu.
  • Kalo salah, loncat ke elif (else if), cek kondisi2.
  • Kalo masih salah juga, eksekusi else.

4. Operator dalam Kondisi

Biar kondisinya lebih beragam, kita bisa pake operator dalam [ ] (alias test):

  1. Banding Numerik

    • -eq: sama dengan (==)
    • -ne: nggak sama dengan (!=)
    • -gt: lebih besar (>)
    • -lt: lebih kecil (<)
    • -ge: lebih besar atau sama dengan (>=)
    • -le: lebih kecil atau sama dengan (<=)

    Contoh:

    code
    if [ 10 -gt 5 ]
    then
      echo "10 lebih besar dari 5"
    fi
  2. Operator String

    • =: string sama
    • !=: string beda
    • -z: string kosong (panjang 0)
    • -n: string tidak kosong (panjang bukan 0)

    Contoh:

    code
    if [ "$str1" = "hello" ]
    then
      echo "Stringnya sama!"
    fi
  3. Operator File

    • -f: cek apakah file biasa ada
    • -d: cek apakah direktori ada
    • -e: cek apakah file (biasa atau direktori) ada
    • -r: cek apakah file readable
    • -w: cek apakah file writable
    • -x: cek apakah file executable

    Contoh:

    code
    if [ -d "mydir" ]
    then
      echo "Direktori mydir ada!"
    fi

5. Tips Biar Lancar:

  • Ketik spasi dengan benar di dalam [ ]: harus ada space setelah [ dan sebelum ].
  • Pake " buat variabel string, biar aman kalau isinya kosong/ada spasi.
  • Bisa pake [[ ]] juga (eksklusif di Bash, lebih modern dan robust) biar support lebih banyak operator keren kayak &&, ||.

Contoh [[ ]]:

code
if [[ 10 > 5 && -f "file.txt" ]]
then
  echo "10 > 5 dan file.txt ada!"
fi

Jadi gitu guys, struktur if, else, dan elif di Bash. Jangan lupa banyak latihan biar makin jago! Kalo ada error, cek dulu spasi dan syntax kondisinya ya. Selamat coding!

A

Written by Ariful

Full-stack engineer obsessed with web performance.