bash子程序的退出狀態

bash子程序的退出狀態

我憑經驗發現了這一點:

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

我希望bash -c someCommand返回 的退出狀態someCommand,而不是始終為 0。

這是一個錯誤還是設計使然?如何輕鬆取得原始退出狀態?

答案1

這是因為您正在獲取命令的退出狀態bash,而不是someCommand.

bash執行someCommand然後​​退出。someCommand您呼叫的 bash shell 退出後,退出狀態就會遺失。

相關內容