Linux Shell程式設計(11)——退出和退出狀態
exit命令一般用於結束一個指令碼,就像C語言的exit一樣。它也能返回一個值給父程式。
每一個命令都能返回一個退出狀態(有時也看做返回狀態).一個命令執行成功返回0,一個執行不成功的命令則返回一個非零值,此值通常可以被解釋成一個對應的錯誤值。除了一些例外的情況,一個行為端莊的UNIX命令,程式或是軟體包執行成功能返回0的作為退出碼。
同樣的,在指令碼里的函式和指令碼自身都會返回一個退出狀態碼。在指令碼或函式裡被執行的最後一個命令將決定退出狀態碼。在一個指令碼里,exit nnn 命令將會返回shell一個nnn的退出狀態碼。(nnn必須是一個在0-255範圍的十進位制整數)。
如果一個指令碼以不帶引數的exit命令結束,指令碼的退出狀態碼將會是執行exit命令前的最後一個命令的退出碼。
指令碼結束沒有exit,不帶引數的exit和exit $?三者是等價的。
$?變數儲存了最後一個命令執行後的退出狀態。當一個函式返回時,$?儲存了函式裡最後一個命令的退出狀態碼。這就是Bash裡函式返回值的處理辦法。當一個指令碼執行結束,$? 變數儲存指令碼的退出狀態,而指令碼的退出狀態則是指令碼中最後一個已執行命令的退出狀態。並且依照慣例,0表示執行成功,1-255的整數範圍表示錯誤。
每一個命令都能返回一個退出狀態(有時也看做返回狀態).一個命令執行成功返回0,一個執行不成功的命令則返回一個非零值,此值通常可以被解釋成一個對應的錯誤值。除了一些例外的情況,一個行為端莊的UNIX命令,程式或是軟體包執行成功能返回0的作為退出碼。
同樣的,在指令碼里的函式和指令碼自身都會返回一個退出狀態碼。在指令碼或函式裡被執行的最後一個命令將決定退出狀態碼。在一個指令碼里,exit nnn 命令將會返回shell一個nnn的退出狀態碼。(nnn必須是一個在0-255範圍的十進位制整數)。
如果一個指令碼以不帶引數的exit命令結束,指令碼的退出狀態碼將會是執行exit命令前的最後一個命令的退出碼。
#!/bin/bash
COMMAND_1
. . .
# 指令碼將會以最後命令COMMAND_LAST的狀態碼退出。
COMMAND_LAST
exit
指令碼結束沒有exit,不帶引數的exit和exit $?三者是等價的。
#!/bin/bash
COMMAND_1
. . .
# 會以最後命令的退出碼退出指令碼.
COMMAND_LAST
exit $?
#!/bin/bash
COMMAND1
. . .
# 會以最後命令的退出碼退出指令碼.
COMMAND_LAST
$?變數儲存了最後一個命令執行後的退出狀態。當一個函式返回時,$?儲存了函式裡最後一個命令的退出狀態碼。這就是Bash裡函式返回值的處理辦法。當一個指令碼執行結束,$? 變數儲存指令碼的退出狀態,而指令碼的退出狀態則是指令碼中最後一個已執行命令的退出狀態。並且依照慣例,0表示執行成功,1-255的整數範圍表示錯誤。
相關文章
- Shell程式設計-11-子Shell和Shell巢狀程式設計巢狀
- Linux終端退出後導致nohup程式退出Linux
- Android 退出多個Activity | 退出程式Android
- Docker容器的退出狀態碼及解決方法Docker
- 11個年頭之後我開始退出了程式設計開發程式設計
- (Python程式設計 | 系統程式設計 | 並行系統工具 | 程式退出)Python程式設計並行
- Shell 指令碼 ,, 根據程式號退出 從而關機指令碼
- Linux Shell程式設計(17)——巢狀迴圈Linux程式設計巢狀
- linux系統程式設計之程式(四):程式退出exit,_exit區別即atexit函式Linux程式設計函式
- 退出、測試、判斷及操作符 shell
- Linux Shell程式設計(1)——shell程式設計簡介Linux程式設計
- Linux 退出Vi編輯器Linux
- python怎麼退出程式Python
- 物件導向程式設計和根本狀態物件程式設計
- linux系統程式設計之程式(六):父程式查詢子程式的退出,wait,waitpidLinux程式設計AI
- linux shell 程式設計Linux程式設計
- linux shell程式設計Linux程式設計
- win11如何退出微軟賬號微軟
- 11g的RMAN在命令出錯後退出程式
- Linux Shell程式設計(27)——子shellLinux程式設計
- 哈哈:180萬程式設計師不知如何退出Vim編輯器...程式設計師
- 進入與退出應用 / 登入與退出
- shell程式的結束狀態
- Linux 程式設計之Shell程式設計(轉)Linux程式設計
- 獲取 NodeJS 程式退出碼NodeJS
- Android-返回桌面?退出程式?Android
- Android應用程式完全退出Android
- js元素全屏和退出全屏效果JS
- git log 退出Git
- VIM退出命令
- Linux之shell程式設計Linux程式設計
- Linux Shell程式設計(1)Linux程式設計
- Linux Shell程式設計(2)Linux程式設計
- Linux Shell程式設計(2)——第一個shell程式Linux程式設計
- 子程式等待父程式退出及fork使用
- linux下用vi,vim編輯時退出編輯模式(wq)無法儲存退出Linux模式
- Oracle會話超時退出設定Oracle會話
- QuitAll for Mac(應用程式一鍵退出)UIMac