我想在 Linux 中运行一个可执行文件,并且无论它返回的退出状态如何,我都希望返回一个好的退出状态。(即没有错误。)
(这是因为我正在使用sh -ex
,并且我希望即使一个(特定)命令失败,脚本也能继续运行。)
答案1
尝试一下:
command || true
从man bash
:
如果失败的命令是紧跟在 while 或 Until 关键字之后的命令列表的一部分、跟在 if 或 elif 保留字之后的测试的一部分、在 && 或 ⎪⎪ 列表中执行的任何命令的一部分(最后一个 && 或 ⎪⎪ 之后的命令除外)、管道中除最后一个命令之外的任何命令,或者如果命令的返回值被 ! 反转,则 shell 不会退出。
答案2
尝试一下(executable ; exit 0)
,或者将其包装在始终退出 0 的 shell 脚本中。