Bash

我可以從使用 $(command) 啟動的子 shell 中獲取退出程式碼嗎?

  • February 22, 2017

我正在設置這樣的變數:

myvar=$(command --params)

之後我想檢查$?我的命令的退出程式碼()。像這樣檢查$?總是返回0,因為它成功地將變數設置為命令的輸出。

是否有可能獲得的返回值command

是的,甚至不用太過分就可以做到:

$ $(exit 3); echo $?
3

$ foo="$(echo bar; exit 3)"; echo $?; echo $foo
3
bar

引用自:https://unix.stackexchange.com/questions/346878