哪个`[`不能比较空字符串?
Which `[` can not compare empty strings?
在一些古老的 Shell Solaris 脚本中,我发现了以下符号来检查变量是否为空:
[ x"$var" = x ]
在当前的 Linux 系统上,我会这样写
[ "$var" = "" ]
或
[ -z "$var" ]
哪个版本的 [
实际上需要第一个符号?
None.The alias from [] to test 出现在 test 的选项 -z 之后。因此,如果可以用[ x"$var" = x]
,也可以写成[ -z "$var" ]
.
在一些古老的 Shell Solaris 脚本中,我发现了以下符号来检查变量是否为空:
[ x"$var" = x ]
在当前的 Linux 系统上,我会这样写
[ "$var" = "" ]
或
[ -z "$var" ]
哪个版本的 [
实际上需要第一个符号?
None.The alias from [] to test 出现在 test 的选项 -z 之后。因此,如果可以用[ x"$var" = x]
,也可以写成[ -z "$var" ]
.