linux exit 流程,Shell exit流程控制语句及用法

系统中是有 exit 命令的,用于退出当前用户的登录状态。但是在 Shell 脚本中,exit 语句是用来退出当前脚本的。也就是说,在 Shell 脚本中,只要碰到了 exit 语句,后续的程序就不再执行,而直接退出脚本。exit 的语法如下:

exit [返回值]

如果在 exit 之后定义了返回值,那么这个脚本执行之后的返回值就是我们自己定义的返回值。可以通过查询 $? 这个变量来査看返回值。如果 exit 之后没有定义返回值,则脚本执行之后的返回值是执行 exit 语句之前最后执行的一条命令的返回值。写一个 exit 语句的例子:

[root@localhost ~]#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中的数字

在这个脚本中,大家需要思考,如果输入的不是数字,那么"echo"The number is:$num""这条命令是否会执行?当然不会,因为如果输入的不是数字,那么"[-n"$y"]&&echo"Error! Please input a number!"&&exit 18"这条命令就会执行,exit 一旦执行,脚本就会中止。运行一下这个脚本:

[root@localhost ~]# chmod 755 sh/exit.sh

#给脚本赋予执行权限

[root@localhost ~]# sh/exit.sh

#执行脚本

Please input a number: test

#输入值不是数字,而是test

Error! Please input a number!

输出报错信息,而不会输出test

[root@localhost ~]# echo $?

#查看一下返回值

18

#返回值居然是18

[root@localhost ~]# sh/exit.sh

Please input a number: 10

#输入数字10

The number is: 10

#输出数字10

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值