2

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?

4

2 回答 2

2

是的,-a并且已-oPOSIX 弃用。它们可能会根据您的输入而中断,因此不应使用。

于 2013-05-18T10:18:34.933 回答
0

一些区别:

&& 但不是 -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 命令语法的一部分

于 2013-05-18T10:27:58.630 回答