exit [返回值]
如果在 exit 之後定義了返回值,那麼這個指令碼執行之後的返回值就是我們自己定義的返回值。可以通過查詢 $? 這個變數來査看返回值。如果 exit 之後沒有定義返回值,則指令碼執行之後的返回值是執行 exit 語句之前最後執行的一條命令的返回值。寫一個 exit 語句的例子:
[[email protected] ~]#vi sh/exit.sh
#!/bin/bash
#演示exit的作用
read -p "Please input a number:" -t 30 num
#接收使用者的輸入,並把輸入賦予變數num
y=$(echo $num|sed's/[0-9]//g')
#如果變數num的值是數位,則把num的值替換為空;否則不替換
#把替換之後的值賦予變數y
[-n "$y" ] && echo "Error! Please input a number!" && exit 18
#判斷變數y的值,如果不為空,則輸出報錯資訊,退出指令碼,退出返回值為18
echo The number is: $num"
#如果沒有退出指令碼,則列印變數num中的數位
[[email protected] ~]# chmod 755 sh/exit.sh
#給指令碼賦予執行許可權
[[email protected] ~]# sh/exit.sh
#執行指令碼
Please input a number: test
#輸入值不是數位,而是test
Error! Please input a number!
輸出報錯資訊,而不會輸出test
[[email protected] ~]# echo $?
#檢視一下返回值
18
#返回值居然是18
[[email protected] ~]# sh/exit.sh
Please input a number: 10
#輸入數位10
The number is: 10
#輸出數位10