我们为什么或||在Bash中有没有像“ iw dev interface_name del || true”这样的真实条件?

时间:2019-04-30 13:49:00

标签: linux bash shell

为什么将bash脚本中的任何表达式与true进行OR运算?

iw dev interface del || true

1 个答案:

答案 0 :(得分:13)

该命令可能在使用set -e的脚本的上下文中发生,如果任何命令的退出状态为非零,这将导致脚本退出。如果运行iw dev interface del并且失败,则脚本将退出。但是,如果运行iw dev interface del || true,即使iw失败,true也会运行,并且保证成功,这意味着完整命令的退出状态是零。

本质上,<command> || true是一个惯用法,意思是“运行但忽略其退出状态”。