And*_*510 3 shell logic base return-value
我们知道这&&是合乎逻辑的AND,所以
true && true => true
false && true => false
Run Code Online (Sandbox Code Playgroud)
当我们在Shell(Bash here)中工作时,成功的命令调用返回0.请问外壳改变0对non-zero之前AND操作?或壳刚反转正常logics?
举个例子:
cat file1 && cat file2
Run Code Online (Sandbox Code Playgroud)
file2将是cat-ed唯一file1可能的cat-ed.
在shell中(包括bash)&&确实意味着逻辑AND.参数&&可以是将根据其返回值进行评估的命令 - 返回值0表示成功(true),其他值表示失败(false).
因此,在C/C++意义上,它是相反的(在C/C++中,它的同类0 = false,其他= true),但从shell的角度看它不是(success = true,fail = false)
更新:根据&&不必涉及执行命令的注释更改说明