Bash 子进程的退出状态

Bash 子进程的退出状态

我根据经验发现了这一点:

# someCommand; echo $?
1
# bash -c someCommand; echo $?
0

我希望bash -c someCommand返回退出状态someCommand,而不是总是0。

这是错误还是设计功能?我如何才能轻松获取原始退出状态?

答案1

这是因为您获取的是命令的退出状态bash,而不是的退出状态someCommand

bash执行someCommand然后退出。 的退出状态someCommand在您调用的 bash shell 退出后丢失。

相关内容