在 bash 中使用“exit ${?}”是否正确?

Hos*_*ect 2 syntax bash exit

假设我编码如下:

if [ ${?} -ne 0 ]; then 
    exit ${?}
Run Code Online (Sandbox Code Playgroud)

这会正常工作吗?这是正确的“语法明智”吗?

che*_*ner 5

[您的if语句中的命令将$?在检查后设置。您需要在测试前保存原始退出状态。

some_command
es=$?
if [ "$es" -ne 0 ]; then
    exit "$es"
fi
Run Code Online (Sandbox Code Playgroud)