Linux
echo $ 是什麼?做?
在我的終端中,它列印出一個看似隨機的數字
127
。我認為它正在列印一些變數的值,為了檢查我的懷疑,我定義了一個新變數v=4
。再次執行echo $?
給了我0
作為輸出。我很困惑,因為我期待 4 是答案。
來自
man bash
:美元?擴展到最近執行的前台管道的退出狀態。
echo $?
將返回最後一個命令的退出狀態。你得到127
的是最後執行的命令的退出狀態,退出了一些錯誤(很可能)。0
成功完成的命令以(最有可能)的退出狀態退出。0
自從echo $v
上一行完成後,最後一個命令給出了輸出,沒有出現錯誤。如果執行命令
v=4 echo $v echo $?
你會得到如下輸出:
4 (from echo $v) 0 (from echo $?)
也試試:
true echo $?
你會得到
0
.false echo $?
你會得到
1
.該
true
命令什麼都不做,它只是以狀態碼退出0
;並且該false
命令也不執行任何操作,它只是以指示失敗的狀態程式碼退出(即狀態程式碼1
)。