exit 命令被用來結束腳本,就像C 語言一樣,他也會返回一個值來傳給父進程,父進程會判斷是否可用。
每個命令都會返回一個exit 狀態(有時候也叫 return 狀態). 成功返回 0, 如果返回一個非 0 值,通常情況下都會被認為是一個錯誤碼.一個編寫良好的UNIX命令,程序,和工具都會返回一個0 作為退出碼來表示成功,雖然偶爾也會有例外.
同樣的,腳本中的函數和腳本本身都會返回退出狀態.在腳本或者是腳本函數中執行的最後的命令會決定退出狀態.在腳本中,exit nnn 命令將會把 nnn 退出碼傳遞給 shell(nnn必須是 10進制數 0-255).
當一個腳本以不帶參數exit 來結束時,腳本的退出狀態就由腳本中最後執行命令來決定.
#!/bin/bash
COMMAND_1
. . .
# 將以最後的命令來決定退出狀態
COMMAND_LAST
exit $?
$? 讀取最後執行命令的退出碼.函數返回後,$? 給出函數最後執行的那條命令的退出碼. 這種給返回值的方法是Bash的方法.對於腳本來說也一樣.總之,一般情況下,0 為成功,非0為失敗..
Example:
###############Start Script########
#!/bin/bash
pwd
hostname
ifconfig
aaa
exit 12
df -h
whoami
uname -r
exit 22
###############End Script########
[root@ www.linuxidc.com]# echo $?
12
因為沒有aaa這個命令,所以結束腳本。