我想在 if 循环中测试两个命令存在代码,但没有任何额外的管道
现在,我可以使用单个命令,例如。
if cmp -s file1 file2
then
....
但如何添加两个测试呢?这样可以吗:
if cmp -s file1 file2 && test -f file3
then
...
以下对我不起作用:
if [ $(cmp -s file1 file2) -a $(test -f file3) ]
then
...
答案1
if cmp -s file1 file2 && test -f file3
then
...
正如所写,如果两个测试中的任何一个失败,“if”就会失败,如果两个测试都成功,“if”就会成功,这应该是您想要的。如果您需要第二个测试的输出,则不应这样做,因为如果第一个测试失败,它将不会运行。否则这似乎是一个不错的策略。