我想在Linux中运行一个可执行文件,无论它返回的退出状态如何,我都想返回一个良好的退出状态。(即没有错误。)
(这是因为我正在使用,sh -ex
并且即使一个(特定)命令失败,我也希望脚本继续运行。)
我想在Linux中运行一个可执行文件,无论它返回的退出状态如何,我都想返回一个良好的退出状态。(即没有错误。)
(这是因为我正在使用,sh -ex
并且即使一个(特定)命令失败,我也希望脚本继续运行。)
Answers:
试试看:
command || true
来自man bash
:
如果失败的命令是一会儿或直到关键字之后紧随其后的命令列表的一部分,if或elif保留字之后的测试的一部分,在&&或⎪⎪列表中执行的任何命令的一部分(除了最后一个&&或⎪⎪之后的命令,管道中除最后一个命令之外的任何命令,或者该命令的返回值正用!反转。
尝试使用(executable ; exit 0)
,或者将其包装在始终退出0的shell脚本中。
(cd foo; exit 0)
成功的话,您将不会再以“ foo”结尾,因为您的cwd返回了以前的状态。但是,cd foo || true
如果成功,它将留在“ foo”中。