运算符||的含义是什么 在linux shell中?

ald*_*ita 7 linux shell

我在.sh脚本中找到了这段代码:

 (test -x "$1" || which "$1") 
Run Code Online (Sandbox Code Playgroud)

这个算子||是什么意思?

Gia*_*ian 14

它等效于具有短路评估的布尔"或",这样只有当第一个返回一些对应于"false"的值时它才会执行第二个命令.例如:

false || echo "foo"
Run Code Online (Sandbox Code Playgroud)

回声"foo",而

true || echo "foo"
Run Code Online (Sandbox Code Playgroud)

什么都不打印.该&&运营商提供免费的操作.


don*_*yor 6

它的意思是:

如果第一个命令成功,则第二个命令将永远不会执行