bash 忽略特定错误代码(pytest 没有测试警告错误代码 5)

Nir*_*Izr 4 bash error-code

我有一个程序可以测试我提供的脚本/命令的错误代码。在某些情况下,命令行会返回一个我想忽略的警告错误代码(以 0 而不是 5 退出)。我希望其他错误代码也能传递相同的代码,并且尽可能简单(以保持单行命令)。

我尝试过使用pytest || [ $? -eq 5 ],它会忽略来自命令的错误代码 5,但会将所有非零错误代码替换为 1(而不是实际的错误代码)。

我想比我更有 bash 经验的人可以比我更快地提出更好的解决方案。

一些更具体的上下文:

我正在使用 pytest 来测试我的项目。其中一些目前没有测试,pytest 的默认行为是将其视为错误(错误代码 5)。我想把这个错误视为成功。事实上,我希望特拉维斯能把这个错误当作成功来威胁。

谢谢!

Rus*_*nov 5

使用算术表达式:

exit $(( $? == 5 ? 0 : $? ))
Run Code Online (Sandbox Code Playgroud)