"echo || true"有什么用?

What is the use of "echo || true"?

为什么有人想要 echo "something" || true 这样的代码?

我在 Ubuntu 14.04 的 /lib/lsb/init-functions 的第 92 行发现了这样的用法:

echo "$pid" || true

我明白了||代表或。但是我找不到让 echo 产生除零以外的任何类型的退出代码的方法。即使是这样,谁在乎呢?

我的意思是,使用前缀 || true 可确保退出代码始终为 0。因此,如果双管道的左侧产生任何不同于 0 的值,则将执行 true 并导致整个线产生 0.

为什么对简单回显的退出代码偏执狂?是否有任何检查 /lib/lsb/init-functions 上的每一行是否都成功完成?

Why the paranoia with the exit code

我认为这是为了避免脚本因可能使用而退出:

set -e

在脚本开始处否则会导致脚本退出。