我正在看下面的代码:

if [ -z  ]; then
        echo "usage: ...


(这三个点是不相关的用法细节。)错误,但找不到-z选项的说明。

评论

男人测试有答案。 (也可能是男子扑)。

Google的“ bash -z标志”未提供任何内容。

请注意,我将-z放在引号内。否则,Google会将其解释为“排除z”。

stackoverflow.com/questions/6665541 / ...

stackoverflow.com/questions/228544/…

#1 楼

-z string如果字符串为null(空字符串),则为true

评论


我找到了另一个出色而详尽的解释-stackoverflow.com/questions/3601515/…

–valentt
17年5月11日在13:16

此外,-n与-z相反。如果字符串不为null且不为空,则通过[-n“ $ {1}”]。

–瑞安
18 Mar 26 '18在23:48

-n是否具有if [$ 2]的默认行为,还是有一些区别?

–bbarker
19年1月18日在18:32

#2 楼

-z

string is null, that is, has zero length

String=''   # Zero-length ("null") string variable.

if [ -z "$String" ]
then
  echo "$String is null."
else
  echo "$String is NOT null."
fi     # $String is null.


#3 楼

如果参数为空,则test -z返回true(请参阅man shman test)。

#4 楼

如果字符串的长度为-z string,则表达式zero为true。