以下测试之间有什么区别吗?
[[ "$STRING" = "" ]] && exit 1;
[[ "x$STRING" = "x" ]] && exit 1;
[[ -z $STRING ]] && exit 1;
答案 0 :(得分:11)
$STRING
中的-z
以及${STRING-}
,以防万一未设置答案 1 :(得分:0)
显然,他们都做同样的事情,即检查给定的字符串是否为“空”,除了第一个检查$ string是否为空,第二个检查x加上$ string是否等于x,最后,-z检查长度。 就个人而言,我更愿意使用-z,这更加可靠。