Answers:
你可以找到bash的运营商一个很好的参考这里。如果您使用的是其他外壳,则只需搜索即可<my shell> operators
找到所需的一切。在您的特定情况下,您正在使用:
-n
string is not null.
-z
string is null, that is, has zero length
为了显示:
$ foo="bar";
$ [ -n "$foo" ] && echo "foo is not null"
foo is not null
$ [ -z "$foo" ] && echo "foo is null"
$ foo="";
$ [ -n "$foo" ] && echo "foo is not null"
$ [ -z "$foo" ] && echo "foo is null"
foo is null
man test
或man [
将为您提供测试命令的所有选项。在这种情况下,-n测试以查看$ abc的内容是否具有非零长度,而-z测试以查看$ xyz的内容是否为零长度字符串。
man test
(总是?)提供了外部程序版本的手册页,该手册页(至少对于GNU-coreutils版本)明确警告某些(大多数IME)外壳程序的内置版本可能有所不同。