Di dalam kurung tunggal untuk pengujian kondisi (yaitu [...]), beberapa operator seperti tunggal =
didukung oleh semua shell, sedangkan penggunaan operator ==
tidak didukung oleh beberapa shell yang lebih lama.
Di dalam tanda kurung ganda untuk pengujian kondisi (yaitu [[...]]), tidak ada perbedaan antara menggunakan =
atau ==
di shell yang lama atau yang baru.
Sunting: Saya juga harus mencatat bahwa: Dalam bash, selalu gunakan tanda kurung ganda [[...]] jika memungkinkan, karena lebih aman daripada tanda kurung tunggal. Saya akan menggambarkan mengapa dengan contoh berikut:
if [ $var == "hello" ]; then
jika $ var adalah null / kosong, maka inilah yang dilihat skrip:
if [ == "hello" ]; then
yang akan merusak skrip Anda. Solusinya adalah dengan menggunakan kurung ganda, atau selalu ingat untuk menempatkan tanda kutip di sekitar variabel Anda ( "$var"
). Kurung ganda adalah praktik pengkodean defensif yang lebih baik.