Cara Menulis Pernyataan-JIKA dalam Skrip-Bash

Perintah, Sintaks, dan Contoh

Dengan pernyataan if, yang merupakan jenis pernyataan kondisional, Anda dapat melakukan tindakan yang berbeda tergantung pada kondisi yang ditentukan. Ini secara efektif memberikan kemampuan pada sistem untuk mengambil keputusan.

Contoh bentuk paling sederhana dari pernyataan if adalah:

hitung = 5 jika [$ count == 5] kemudian gema "hitungan $" fi

Dalam contoh ini, variabel "menghitung" digunakan untuk menentukan kondisi yang digunakan sebagai bagian dari pernyataan-if. Sebelum pernyataan if dijalankan, variabel "count" diberi nilai "5". Pernyataan if kemudian memeriksa apakah nilai "hitungan" adalah "5". Jika itu adalah kasus pernyataan antara kata kunci "lalu" dan "fi" dieksekusi, jika tidak, setiap pernyataan yang mengikuti pernyataan-if dieksekusi. Kata kunci "fi" adalah "jika" dieja terbalik. Bahasa bash scripting menggunakan konvensi ini untuk menandai akhir dari ekspresi kompleks, seperti pernyataan if atau pernyataan kasus.

Pernyataan "echo" mencetak argumennya, dalam hal ini, nilai variabel "menghitung", ke jendela terminal. Indentasi kode antara kata kunci dari pernyataan-if meningkatkan keterbacaan tetapi tidak diperlukan.

Jika Anda memiliki situasi di mana sepotong kode harus dijalankan hanya jika kondisi tidak benar, Anda dapat menggunakan kata kunci "lain" dalam pernyataan-if, seperti dalam contoh ini:

hitung = 5 jika [$ count == 5] kemudian gema "hitungan $" lagi echo "hitung tidak 5" fi

Jika kondisi "$ count == 5" benar, sistem mencetak nilai variabel "menghitung", selain itu mencetak string "hitungannya tidak 5".

Jika Anda ingin membedakan beberapa kondisi, Anda dapat menggunakan kata kunci "elif", yang berasal dari "else if", seperti dalam contoh ini:

jika [$ count == 5] maka echo "count is five" elif [$ count == 6] lalu gema "count is six" else echo "none of the above" fi

Jika "hitungan" adalah "5", sistem akan mencetak "hitungannya lima". Jika "hitung" bukan "5" tetapi "6", sistem mencetak "hitung enam". Jika bukan "5" atau "6", sistem mencetak "tidak ada yang di atas".

Seperti yang Anda duga, Anda dapat memiliki sejumlah klausa "elif". Contoh dengan beberapa kondisi "elif" adalah:

jika [$ count == 5] maka echo "count is five" elif [$ count == 6] lalu gema "count is six" elif [$ count == 7] lalu gema "count is seven" elif [$ count = = 8] kemudian gema "count is eight" elif [$ count == 9] lalu gema "count is nine" else echo "none of the above" fi

Cara yang lebih ringkas untuk menulis pernyataan dengan beberapa kondisi adalah metode kasus . Ini berfungsi mirip dengan pernyataan if dengan beberapa klausa "elif" tetapi lebih ringkas. Sebagai contoh, potongan kode di atas dapat ditulis ulang dengan pernyataan "kasus" sebagai berikut:

case "$ count" dalam 5) echo "count is five" ;; 6) echo "count is six" ;; 7) gema "hitungannya tujuh" ;; 8) echo "count is eight" ;; 9) echo "count is nine" ;; *) echo "tidak ada yang di atas" esac

If-statement sering digunakan di dalam for-loops atau while-loops seperti pada contoh ini:

count = 1 done = 0 ketika [$ count -le 9] lakukan sleep 1 ((hitung ++)) jika [$ count == 5] kemudian lanjutkan echo "hitungan $" selesai echo Selesai

Anda juga dapat memiliki pernyataan bersarang jika. Pernyataan tersarang paling sederhana jika berbentuk: jika ... maka ... lain ... jika ... maka ... fi ... fi. Namun, pernyataan-if dapat bersarang dengan kompleksitas yang sewenang-wenang.

Lihat juga cara meneruskan argumen ke skrip bash , yang menunjukkan cara menggunakan conditional untuk memproses parameter yang dilewatkan dari baris perintah.

Shell bash menyediakan konstruksi pemrograman lain, seperti for-loops , while-loops , dan ekspresi aritmatika .