哪个`[`无法比较空字符串?

时间:2016-02-12 15:02:14

标签: sh

在Solaris的一些古老的Shell脚本中,我找到了以下符号来检查变量是否为空:

[ x"$var" = x ]

在当前的Linux系统上,我会把它写成

[ "$var" = "" ]

[ -z "$var" ]

哪个版本的[实际上需要第一个符号?

1 个答案:

答案 0 :(得分:1)

无。从[]到测试的别名出现在选项-z of test之后。因此,如果您可以使用[ x"$var" = x],还可以撰写[ -z "$var" ]