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中的数字
[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
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算