在我的一个实验教程中,有一个命令需要检查。
test -z $LOGNAME || echo Logname is not defined
Run Code Online (Sandbox Code Playgroud)
当我执行此命令时,输出是“未定义日志名”。测试手册页说
> -z STRING
> the length of STRING is zero
Run Code Online (Sandbox Code Playgroud)
当我回显 $LOGNAME 时,它会打印出我的登录名。所以 $LOGNAME 有一个值。在上面的第一个命令中,由于执行了命令的右侧部分,这意味着左侧部分已返回 false。当 $LOGNAME 有值时,为什么它返回 false?