在 bash 中,是[[ $variable ]]和[[ -n $variable ]]完全等价的吗?从下面的输出来看,情况似乎是这样,但我看到两种形式的用法在 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
Run Code Online (Sandbox Code Playgroud)