我们知道&&的意思是逻辑AND,所以:
true && true => true
false && true => false当我们在Shell中工作时(在这里),成功的命令调用将返回0。在0操作之前,shell是否将AND更改为non-zero?或者Shell只是反转正常的logics
例如:
cat file1 && cat file2只有当file2可以是cat-ed时,file1才是cat-ed。
发布于 2012-03-29 15:52:17
在Bash中,逻辑true表示为0,而逻辑false表示为非零值.这允许在逻辑操作中使用命令的退出值。
您可以通过浏览关于bash操作符的文档了解更多信息。
一个常见成语是使用&&链接命令,以便如果链中的任何命令失败,则不会执行以下命令:
cmd1 && cmd2 && cmd3发布于 2012-03-29 15:46:35
在shell中(包括bash),&&确实意味着逻辑和。&&的参数可以是根据返回值计算的命令--返回值0表示成功(true),其他值失败(false)。
因此,在C/C++意义上,它是相反的(在C/C++及其ilk 0= false,other = true),但从shell的角度看,它不是(成功=真,失败=假)
UPDATE:基于&&不一定涉及执行命令的注释而更改的解释
https://stackoverflow.com/questions/9928844
复制相似问题