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
.
if [ kondisi ]
then
# Kode yang dieksekusi jika kondisi benar
fi
Contoh:
if [ -f "file.txt" ]
then
echo "File file.txt ada nih!"
fi
Penjelasan:
[ -f "file.txt" ]
: Cek apakah file bernamafile.txt
ada.then
: Awali blok yang mau dieksekusi kalau kondisitrue
.fi
: Akhiri blokif
.
2. Struktur if
dengan else
Gimana kalau if
nggak terpenuhi? Nah, kita bisa masuk ke else
!
if [ kondisi ]
then
# Kode yang dieksekusi jika kondisi benar
else
# Kode yang dieksekusi jika kondisi salah
fi
Contoh:
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 kondisinyafalse
, eksekusi kode di bagianelse
.
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
).
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:
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
), cekkondisi2
. - Kalo masih salah juga, eksekusi
else
.
4. Operator dalam Kondisi
Biar kondisinya lebih beragam, kita bisa pake operator dalam [ ]
(alias test
):
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:
if [ 10 -gt 5 ] then echo "10 lebih besar dari 5" fi
Operator String
=
: string sama!=
: string beda-z
: string kosong (panjang 0)-n
: string tidak kosong (panjang bukan 0)
Contoh:
if [ "$str1" = "hello" ] then echo "Stringnya sama!" fi
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:
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 [[ ]]
:
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!