shell腳本:exit退出當前進程

exit

exit是一個shell內置命令,用於退出當前用戶的登錄狀態(退出shell進程)。exit 命令可以接受一個整數值作爲參數,代表退出狀態。如果不指定,默認狀態值是 0。

例如:

[root@linus ~]# bash
[root@linus ~]# exit
exit
[root@linus ~]# echo $?
0
[root@linus ~]# exit
登出

腳本中的exit

既然exit是退出當前進程,在腳本中的應用就是退出當前腳本進程,也就是執行到exit後,直接退出,不再執行後續命令,所以說,exit需要謹慎寫入,確保執行完你想要的效果後再退出。

exit的使用,通常有一個前提,就比如說,腳本的執行效果或者反饋結果,是你想要的效果,就退出腳本,或者說,你不想要腳本某後半部分命令,只執行前半部分,在前半部分後面加上exit,就會退出腳本,不再執行後續命令。

腳本中使用exit

格式: exit 返回值

嗯?怎麼多了一個返回值,直接使用不可以嗎?當然可以,沒有定義返回值的話,默認返回值是在執行腳本中,exit上面一條命令的返回值。如果定義返回值,那就是你定義的返回值。可以查詢$?變量來查看返回值。

exit 退出狀態只能是一個介於 0~255 之間的整數,其中只有 0 表示成功,其它值都表示失敗。

理解案例

通過一個簡單的案例,來了解一下exit的具體使用。

#!/bin/bash
read -p "請輸入(yes|no):" a
case $a in 
yes)
	echo	"您輸入的是yes"
	exit 1
	echo 	"我是yes,能看見我嗎"
	;;
no)
	echo	"您輸入的是no"
	echo 	"我是no,能看見我嗎"
	;;
*)
	echo 	"輸入錯誤,請輸入yes|no"
esac

執行效果:

[root@linus ~]# sh exit.sh 
請輸入(yes|no):yes
您輸入的是yes
[root@linus ~]# sh exit.sh 
請輸入(yes|no):no
您輸入的是no
我是no,能看見我嗎

可以看到,輸入yes的時候,少了一個echo輸出,而輸入no的時候,全部都顯示出來,就是因爲加上exit後,執行到exit直接結束腳本,沒有

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章