Ksh
ksh 中的排版和返回狀態
我希望能夠將本地變數聲明為命令的結果,並且能夠擷取命令的返回狀態。
像這樣的東西:
#!/bin/ksh typeset -r command_output=$(command) typeset -r return_status=$? echo "$return_status" # always 0
上面程式碼片段的問題是 return_status 將始終為 0,即使命令以另一個狀態程式碼退出。
有沒有人能幫幫我?
問題是
typeset
創建返回狀態。此程式碼(即同一聲明中的兩個分配)適用於我:typeset -r command_output=$(command) return_status=$?
要保持
return_status
可寫(非只讀),您可以執行以下操作:typeset command_output=$(command) return_status=$? typeset -r command_output
(即將只讀變數聲明為後續命令)。