以下测试之间有什么区别吗?
[[ "$STRING" = "" ]] && exit 1;
[[ "x$STRING" = "x" ]] && exit 1;
[[ -z $STRING ]] && exit 1;
最佳答案
不,他们都是一样的.但是几个防守习惯才能进入.
>你应该引用-z中的$STRING
>如果您使用-u选项运行(我总是这样做),那么您应该将可能的可选变量引用为${STRING-}以防万一它根本没有设置