Pengantar Bash Scripting
Alex Scriven
Data Scientist
Pernyataan CASE bisa lebih optimal daripada IF saat ada banyak atau kondisi kompleks.
Misalkan Anda ingin menguji kondisi dan aksi berikut:
sydney lalu pindahkan ke direktori /sydneymelbourne atau brisbane lalu hapuscanberra lalu ubah namanya menjadi IMPORTANT_filename di mana filename adalah nama asliAnda bisa menyusun beberapa IF seperti ini:
grep pada argumen ARGV pertama untuk kondisional.if grep -q 'sydney' $1; then
mv $1 sydney/
fi
if grep -q 'melbourne|brisbane' $1; then
rm $1
fi
if grep -q 'canberra' $1; then
mv $1 "IMPORTANT_$1"
fi
PATTERN, mis. Air* untuk 'diawali Air' atau *hat* untuk 'mengandung hat'.Format dasar pernyataan CASE:
case 'STRINGVAR' inPATTERN1) COMMAND1;; PATTERN2) COMMAND2;;
*) DEFAULT COMMAND;;
esac Terakhir, kata penutupnya adalah 'esac'
Format dasar pernyataan CASE:
case 'STRING' in PATTERN1) COMMAND1;; PATTERN2) COMMAND2;;*) DEFAULT COMMAND;;esac
Pernyataan IF lama kita:
if grep -q 'sydney' $1; then
mv $1 sydney/
fi
if grep -q 'melbourne|brisbane' $1; then
rm $1
fi
if grep -q 'canberra' $1; then
mv $1 "IMPORTANT_$1"
fi
Pernyataan CASE baru kita:
case $(cat $1) in*sydney*) mv $1 sydney/ ;; *melbourne*|*brisbane*) rm $1 ;; *canberra*) mv $1 "IMPORTANT_$1" ;;*) echo "No cities found" ;; esac
Pengantar Bash Scripting