首页 > 编程笔记 > Linux笔记 阅读:7

Shell exit语句的用法(附带实例)

在系统中是有 exit 命令的,用于退出当前登录的用户、退出切换用户身份、退出切换组身份。但是在 shell 脚本中,exit 语句是用来退出当前脚本的。

也就是说,在 shell 脚本中,只要碰到 exit 语句,后续的程序就不再执行,而是直接退出脚本。

exit 语句的语法如下:

exit[返回值]

在使用 exit 定义了返回值之后,可以通过查询“$?”这个变量来查看返回值。如果 exit 之后没有定义返回值,那么脚本执行之后的返回值是执行 exit 语句之前最后执行的一条命令的返回值。

exit 返回值为 0~255,通常默认正常退出后的返回值为 0,其余数字可以通过自定义来表示不同情况的异常退出。我们可以在 case 语句、for 循环、while 循环等语句中使用 exit 表示退出脚本。

例如,我们在 while 循环中写过一个能够无限循环的脚本,现在可以使用 exit 表示退出 while 循环。在 while 无限循环的基础上进行修改:
[root@localhost ~]# cat /root/while.sh
#!/bin/bash
while true
do
cat << EOF
1. SELinux ON:
2. SELinux OFF :
3. IP DHCP:
4. IP Static :
5. EXIT
# 在输出提示信息中加入退出选项
EOF
    read -p "请输入您的选择(1-5):" slct
    case "$slct" in
        1)
            echo "SELinux ON..."
            ;;
        2)
            echo "SELinux OFF..."
            ;;
        3)
            echo "DHCP IP..."
            ;;
        4)
            echo "Static IP..."
            ;;
        5)
            echo "Exiting..."
            exit 50
            # case语句中加入退出选项,输出退出提示并执行exit,指定exit退出返回值为50
            ;;
        *)
            echo "Error, Please input 1|2|3|4|5"
            ;;
    esac
done

exit 一旦执行,while 循环就会停止。脚本运行结果如下:
[root@localhost ~]# /root/while.sh
1. SELinux ON:
2. SELinux OFF :
3. IP DHCP :
4. IP Static :
5. EXIT
请输入您的选择(1-5):5
# ←使用键盘输入5
Exiting...
# ←输出退出提示
[root@localhost ~]#
# ←退出脚本
[root@localhost ~]# echo $?
50
# ←退出返回值为50

相关文章