运营商||的含义是什么? 在linux的shell?

我在.sh脚本中find这段代码:

(test -x "$1" || which "$1") 

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

它相当于带短路评估的布尔值“或”,这样它才会执行第二个命令,只有当第一个返回对应于“false”的某个值。 例如:

 false || echo "foo" 

呼应“富”,而

 true || echo "foo" 

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

它的意思是:

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

双管道做的是执行第一个命令,如果成功则停止执行,如果没有执行第二个命令。

这与&&是相反的。