Shell 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
21926.html
相关文章
- Activiti可视化流程管理器
- Android ANR分析(trace文件的产生流程)
- kombu连接流程详解
- Camunda流程引擎快速入门——Hello World示例
- 与流程挖掘布道者熵评科技孙一鸣博士共话流程挖掘市场的起源与前景 | 爱分析访谈
- Python 流程控制与循环体
- Java的学习笔记(03)控制流程
- 【Nacos源码分析】- 02 获取配置流程
- 【计算机网络】计算机网络 标准化及组织 ( 标准化工作 | 标准化工作流程 | 标准化工作组织 )
- MySQL基础-变量/流程控制/游标
- LinearLayout 绘制流程解析详解手机开发
- 工作流activiti-02事物控制、流程引擎创建详解编程语言
- python全栈开发-Day2 布尔、流程控制、循环详解编程语言
- Linux goto语句:流程控制之利器(linuxgoto语句)
- 流程MySQL握手流程:深入剖析(mysql握手)
- 使用Linux脚本if语句流程掌握对语句的控制(linux脚本if语句)
- 使用 C 语言连接MySQL:完整流程与代码示例(c连接mysql代码)
- Python流程控制实例代码
- Swift流程控制之循环语句和判断语句详解