shell的退出狀態碼

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

  • 無效的命令會返回一個退出狀態碼127。
  • 退出狀態碼126,代表用戶沒有執行命令的正確權限。
  • 給命令提供了無效參數,會產生通常性的退出狀態碼1,代表在命令中發生了未知錯誤。

exit 命令

默認狀況下,shell腳本會以腳本中的最後一個命令的退出狀態碼退出。
使用exit命令能夠改變這種行爲,容許你在腳本結束時指定一個退出狀態碼。class

退出狀態碼是一個0~255的整數,參數太大,會被系統取模。變量

相關文章
相關標籤/搜索