shell中運行的每一個命令都使用退出狀態碼(exit status)。退出狀態碼是一個0~255的整數,在命令結束運行時有命令傳給shell。shell
Linux提供了一個專門的變量 $? 來保存上一個已執行命令的退出狀態碼。對於須要進行檢查的命令,必須在其運行完畢後馬上查看或使用 $? 變量。它的值會變成有shell所執行的最後一條命令的退出狀態碼。ide
一個成功結束的命令的退出狀態碼是0。Linux錯誤退出狀態碼沒有什麼標準可循,但有一些可用的參考:it
狀態碼 | 描述 |
---|---|
0 | 命令成功結束 |
1 | 通常性未知錯誤 |
2 | 不適合的shell指令 |
126 | 命令不可執行 |
127 | 沒找到命令 |
128 | 無效的退出參數 |
128+x | 與Linux信號x相關的嚴重錯誤 |
130 | 經過 Ctrl+C 終止的命令 |
255 | 正常範圍以外的退出狀態碼 |
舉例說明:table
默認狀況下,shell腳本會以腳本中的最後一個命令的退出狀態碼退出。
使用exit命令能夠改變這種行爲,容許你在腳本結束時指定一個退出狀態碼。class
退出狀態碼是一個0~255的整數,參數太大,會被系統取模。變量