&&和和-a在BASH

时间:2013-05-18 10:02:28

标签: bash unix posix

据我所知,&&-a都在BASH shell的表达式中提供了条件AND函数。

其中2个有什么不同吗?

2 个答案:

答案 0 :(得分:2)

是的,-a-odeprecated by POSIX。它们可能会因您的输入而中断,因此不应使用。

答案 1 :(得分:0)

一些差异:

和/或列表&&但不是-a:

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