From what I know, &&
and -a
both provide the conditional AND
function in an expression for a BASH shell.
Is there any difference between the 2 of them?
是的,-a
并且已-o
被POSIX 弃用。它们可能会根据您的输入而中断,因此不应使用。
一些区别:
&& 但不是 -a 的 AND/OR 列表:
false && echo foo || echo bar
true || echo foo && echo bar
[ -d directory ] || mkdir directory
-a 是有限的,作为测试命令的一部分:使用 test 或在 [[,
test -d mydir -a -f somefile
[ -d mydir -a -f somefile ]
-a 和 -o 也是 find 命令语法的一部分