![]() |
IF dalam Bash |
Bash script mungkin adalah salah satu mantan hal yang terindah dalam hidup saya. Ndak cuma bash sih, ada sh zsh, csh, ksh dan masi banyak sh sh lain yang juga indah. yang saya maksud itu shell atau antar muka baris perintah (kok jadi wagu) yang dalam bahasa inggris biasa di sebut CLI.
Beberapa teman lebih suka pake zsh, katanya si lebih keren dan gampang, saya belum coba si, mungkin ini salah satu daftar oprek saya dalam waktu dekat. Saya lebih prefer pake bash karena persebaran bash lebih luas, sehingga kompatibilitas scriptnya tidak perlu dikhawatirkan.
Di dalam bash script, pasti kita akan sering menggunakan managemen "kondisi". biasanya yang dipake kalo ndak if ya pake case (emang adanya ya cuma dua itu si). penggunaan case mungkin tidak terlalu banyak perintah yang asing dalam pemrograman, tapi if? Daripada ngingetnya mending saya bikin catetannya. berikut adalah ekspresi cek kondisi dengan if pada bash script yang biasanya sering dipakai.
Expression Variabel Angka
expression berikut adalah expression yang kita gunakan saat kita mengkomparasi sebuah nilai dengan tipe angka. Dan setau saya, bash lebih banyak digunakan untuk memproses angka-angka integer atau bilangan bulat desimal. Ya meskipun bisa untuk memproses bilangan yang pecahan, tapi sangat jarang bash script digunakan untuk memproses bilangan pecahan.
-gt # greater than atau lebih besar
-ge # greater equal atau lebih besar sama dengan
-eq # equal atau sama dengan
-lt # less than atau kurang dari
-le # less equal atau kurang dari sama dengan
-lt # lebih kecil
-gt # lebih besar
== # sama dengan
contoh penggunaan :
VARIABLE1=50 VARIABLE2=20if [[ $VARIABLE1 -gt $VARIABLE2 ]]; then# action herefi
Expression Variable String / Karakter
expression dalam if juga dapat memproses huruf, kata atau kalimat.
-z # benar jika variable kosong/tidak memiliki value
-n # benar jika variabel tidak kosong/memiliki value
= # sama dengan
!= # tidak sama dengan, bisa dipakai di string juga
! # negasi dari expression
contoh penggunaan :
contoh negasi :if [[ -z "$VARIABLE2" ]]; then# jika variabel kosong, eksekusi perintah dibawahfi
contoh komparasi string :if [[ ! -z "$VARIABLE2" ]]; then# jika variabel TIDAK kosong, eksekusi perintah dibawahfi
VARIABLE1="kalimat kesatu"VARIABLE2="kalimat kedua"if [[ "$VARIABLE1" = "$VARIABLE2" ]]; then# jika kalimat sama, maka eksekusi perintah dibawahfi
Expression pada File/Folder
Selain memproses string dan angka, if pada bash script juga dapat menangani file atau folder. berikut adalah expression yang sering digunakan versi saya.
[[ -a $FILE ]] # bernilai benar jika file/folder ada
[[ -e $FILE ]] # sama dengan -a
[[ -d $FILE ]] # bernilai benar jika $FILE adalah sebuah folder
[[ -f $FILE ]] # bernilai benar jika $FILE adalah sebuah file reguler (bukan socket, symbolic link dsb)
[[ -h $FILE ]] # bernilai benar jika $FILE adalah sebuah file yang berupa symbolic link
[[ -r $FILE ]] # bernilai benar jika $FILE adalah sebuah file yang dapat dibaca
[[ -s $FILE ]] # bernilai benar jika $FILE adalah memiliki ukuran file lebih besar dari 0
[[ -w $FILE ]] # bernilai benar jika $FILE adalah sebuah file yang dapat ditulis atau di ubah
[[ -x $FILE ]] # bernilai benar jika $FILE adalah sebuah file yang dapat dieksekusi
contoh penggunaan :
if [[ ! -r $FILE ]]; then# jika variabel tidak bisa dibaca, munculkan errorfi
Kombinasi Kondisi
if pada bash script juga dapat langsung memproses dua kondisi atau lebih sekaligus. ada beberapa cara, diantaranya sebagai berikut :
if [[ KODISI1 -a KODISI2 ]]; then# jika kondisi1 dan kondisi2 benar, maka eksekusi perintah dibawahfi
Semoga bermanfaat. :)
Referensi :
No comments:
Post a Comment