Ya mereka ( [ -z "$VAR" ]
dan [ "$VAR" = "" ]
...) setara. Keduanya menguji kekosongan $VAR
(misalnya ketika tidak terikat, atau diatur ke string kosong).
Sebagai berkomentar oleh Celada , hal-hal buruk yang mungkin terjadi saat menggunakan [ "$VAR" = "" ]
jika VAR
beberapa tes yang valid (misalnya jika VAR
ini -z
), khususnya ketika [
(atau test
) adalah tidak builtin shell. Tapi di bash
atau zsh
yang [
adalah builtin dan yang tampaknya tidak menjadi masalah. Anda bisa menggunakan [ "x$VAR" = "x" ]
untuk tes Anda. Lihat tes (1)
Tentu saja, saya mengasumsikan beberapa shell POSIX atau yang serupa.
Mungkin -z
mungkin sedikit lebih cepat (tetapi Anda seharusnya tidak peduli tentang mikrodetik dalam skrip shell) dan Anda mungkin menemukan =
mungkin lebih mudah dibaca.
==
adalah sintaks yang salah, tetapi bekerja di banyak shell (mungkin karena itu adalah memori otot untuk siapa saja yang menggunakan bahasa lain). Anda harus menggunakan=
.