unix中的-z工作

unix中的-z工作,unix,Unix,谁能帮我一下吗。这到底是怎么回事。 是否正在检查abc是否存在以及调用GetLogDir的main是否有一些参数?来自man测试: if [ -z "${ABC}" ] then LOGDIR=`${JAVA_HOME}/bin/java -cp ${a}/aim.jar my.app.util.GetLogDir "${rsp}"` 检查ABC是否为空。如果是,那么命令将被执行,结果将出现在LOGDIR中,Man test是你的朋友。@wildplasser:是的,但如果你不知道[是tes

谁能帮我一下吗。这到底是怎么回事。 是否正在检查abc是否存在以及调用GetLogDir的main是否有一些参数?

来自man测试:

if [ -z "${ABC}" ] 
then
LOGDIR=`${JAVA_HOME}/bin/java -cp ${a}/aim.jar my.app.util.GetLogDir "${rsp}"`

检查
ABC
是否为空。如果是,那么命令将被执行,结果将出现在
LOGDIR

中,Man test是你的朋友。@wildplasser:是的,但如果你不知道
[
test
命令的替代名称,这一点就不明显了。实际上
Man[
应该可以工作。而
test
[
很可能是除外部命令之外的shell内置命令(它们在bash中)。感谢Keith…因为我今天学到了一些东西!@KeithThompson:我知道,我只是将OP指向正确的方向,而不是复制/粘贴整个手册页。测试过去是个秘密(我甚至没有检查“[”的手册页是否存在;-)并且,从语法/语义的角度来看,内置属性不应该有任何区别。@wildplasser:
/usr/bin/[
和内置的
[
(同样对于
测试
)在这种情况下的行为应该相同,但是bash的
[
可能具有
/usr/bin[
所缺乏的其他功能。如果需要将脚本从bash移植到其他Bourne派生的shell,这一点很重要。
 -z string                   True if  the  length  of  string
                             string is zero.
   -z string
              True if the length of string is zero.