Bash Script: Seleksi if dan case
Artikel ini bagian dari Bash Script yang terdiri dari 7 bagian :
Operator
Sebelum membahas seleksi terlebih dahulu membahas tentang operator yang dibutuhkan dalam proses seleksi.
Operator untuk integer
bil1 -eq bil2 TRUE jika bil1 sama dengan bil2
bil1 -ne bil2 TRUE jika bil1 tidak sama dengan bil2
bil1 -lt bil2 TRUE jika bil1 lebih kecil dari bil2
bil1 -le bil2 TRUE jika bil1 lebih kecil atau sama dengan bil2
bil1 -gt bil2 TRUE jika bil1 lebih besar dari bil2
bil1 -ge bil2 TRUE jika bil1 lebih besar atau sama dengan bil2
Operator untuk string
-z VarString TRUE jika panjang VarString bernilai zero atau tidak ada teks.
String1 == String2 TRUE jika String1 sama dengan String2
Operator untuk File
-f FILE TRUE jika FILE ada
-d FILE TRUE jika FILE ada dan merupakan sebuah directory
-r FILE TRUE jika FILE ada dan permission read aktif
-w FILE TRUE jika FILE ada dan permission write aktif
-x FILE TRUE jika FILE ada dan permission execute aktif
Operator untuk logika
ekspresi1 -o ekpresi2 TRUE jika salah satu ekspresi benar (or, ||)
ekspresi1 -a ekspresi2 TRUE jika ekspresi1 dan ekspresi2 benar (and, &&)
!ekspresi TRUE jika ekspresi tidak benar (not!)
Seleksi dengan if
if
Format penulisan if
1 2 3 4 | if [ <some test> ] then <commands> fi |
Contoh
1 2 3 4 5 6 7 8 9 10 | #!/bin/bash clear read -p "Masukkan nilai A : " nilaiA; read -p "Masukkan nilai B : " nilaiB; if [ $nilaiA -gt $nilaiB ] then echo "Nilai A > Nilai B" fi |
if else
Format penulisan if else
1 2 3 4 5 6 | if [ <some test> ] then <commands> else <other commands> fi |
Contoh
1 2 3 4 5 6 7 8 9 10 11 | #!/bin/bash clear pass="rahasia"; read -sp "Password : " word; if [ $pass == $word ] then echo "Login sukses" else echo "Password salah" fi |
if elif else
Format penulisan if elif else
1 2 3 4 5 6 7 8 9 | if [ <some test> ] then <commands> elif [ <some test> ] then <different commands> else <other commands> fi |
Contoh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #!/bin/bash clear read -p "Masukkan nilai A : " nilaiA; read -p "Masukkan nilai B : " nilaiB; if [ $nilaiA -gt $nilaiB ] then echo "Nilai A > Nilai B" elif [ $nilaiA -lt $nilaiB ] then echo "Nilai A < Nilai B" else echo "Nilai A == Nilai B" fi |
Operasi Boolean
Contoh menggunakan operator and &&
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #!/bin/bash #contoh and - && clear pass="secret" read -p "Email : " logmail read -sp "Password : " logpass echo if [ $email == $logmail ] && [ $pass == $logpass ] then echo "Login sukses" else echo "Email atau password salah" fi |
Contoh menggunakan operator or ||
1 2 3 4 5 6 7 8 9 10 11 12 | #!/bin/bash #contoh or - || clear hari="sabtu" if [ $hari == "sabtu" ] || [ $hari == "minggu" ] then echo "Hari libur" else echo "Hari kerja" fi |
Seleksi dengan case
Format penulisan
1 2 3 4 5 6 7 8 | case <variable> in <pattern 1>) <commands> ;; <pattern 2>) <other commands> ;; esac |
Contoh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #!/bin/bash clear status="delete" case $status in new ) echo "New post" ;; edit ) echo "Edit post" ;; save ) echo "Save post" ;; view ) echo "View post" ;; delete ) echo "Delete post" ;; *) echo "tidak dikenali" ;; esac |
referensi:
pemula.linux.or.id
ryanstutorials.net