Pengantar Bash Scripting
Alex Scriven
Data Scientist
Struktur dasar pernyataan IF di Bash:
if [ CONDITION ]; then# SOME CODEelse # SOME OTHER CODEfi
Dua tips:
];Kita dapat melakukan perbandingan string dasar dalam pernyataan IF:
x="Queen"if [ $x == "King" ]; thenecho "$x adalah King!"else echo "$x bukan King!" fi
Queen bukan King!
Anda juga dapat memakai != untuk 'tidak sama dengan'
Pernyataan IF aritmetika dapat memakai struktur tanda kurung ganda:
x=10if (($x > 5)); then echo "$x lebih dari 5!" fi
10 lebih dari 5!
Pernyataan IF aritmetika juga bisa menggunakan kurung siku dan flag aritmetika, bukan (>, <, =, !=, dll.):
-eq untuk 'sama dengan'-ne untuk 'tidak sama dengan'-lt untuk 'kurang dari'-le untuk 'kurang dari atau sama dengan'-gt untuk 'lebih dari'-ge untuk 'lebih dari atau sama dengan'Berikut kita buat ulang contoh terakhir dengan notasi kurung siku:
x=10
if [ $x -gt 5 ]; then
echo "$x lebih dari 5!"
fi
10 lebih dari 5!
Bash juga memiliki berbagai flag terkait file seperti:
-e jika file ada-s jika file ada dan berukuran lebih dari nol-r jika file ada dan dapat dibaca-w jika file ada dan dapat ditulisSerta lainnya:
Untuk menggabungkan kondisi (AND) atau menggunakan OR di Bash, gunakan simbol berikut:
&& untuk AND|| untuk ORDi Bash Anda dapat merangkai kondisi sebagai berikut:
x=10
if [ $x -gt 5 ] && [ $x -lt 11 ]; then
echo "$x lebih dari 5 dan kurang dari 11!"
fi
Atau gunakan notasi double-square-bracket:
x=10
if [[ $x -gt 5 && $x -lt 11 ]]; then
echo "$x lebih dari 5 dan kurang dari 11!"
fi
Anda juga dapat memakai banyak program baris perintah langsung di kondisi, menghapus kurung siku.
Contoh, jika file words.txt berisi 'Hello World!':
if grep -q Hello words.txt; then
echo "Hello ada di dalam!"
fi
Hello ada di dalam!
Anda juga dapat memanggil shell-di-dalam-shell untuk kondisinya.
Mari tulis ulang contoh terakhir; hasilnya sama.
if $(grep -q Hello words.txt); then
echo "Hello ada di dalam!"
fi
Hello ada di dalam!
Pengantar Bash Scripting