Dalam bash, apakah [[ $variable ]]dan [[ -n $variable ]]sepenuhnya sama? Tampaknya menjadi kasus dilihat dari output di bawah ini, tapi saya melihat kedua bentuk penggunaan lazim dalam skrip shell.
$ z="abra"
$ [[ $z ]]
$ echo $?
0
$ [[ -n $z ]]
$ echo $?
0
$ z=""
$ [[ $z ]]
$ echo $?
1
$ [[ -n $z ]]
$ echo $?
1
$ unset z
$ [[ $z ]]
$ echo $?
1
$ [[ -n $z ]]
$ echo $?
1
[ -n ]sama saja [ -n -n ]. Dalam shell selain zsh, argumen command (even builtin) atau variabel shell tidak dapat berisi karakter NUL.
[[ -n $(echo -ne "\0") ]]; echo $?dan[ -n $(echo -ne "\0") ]; echo $?berbeda