set -e
作用:命令执行失败,脚本就会退出,不加这个,命令执行失败,脚本的下一个命令还会继续执行。
下面是两个函数,先调用第一个test,然后再调用test2,那么set -e对第二个函数也是有效的。因为调用第一个函数之后,set -e对当前的shell都是有效的。
1 function test()
2 {
3 set -e
4 echo hello
5 }
6
7 function test2()
8 {
9 echo hello
10 ifconfig | grep can0
11 echo hello
12 }
注意:
- set -e作用于由管道连接的命令组合时,仅检查该组合最后一个命令的退出状态码。
- set命令详细用法参考:https://segmentfault.com/a/1190000003005706
检查文件是否存在
test -s filename
功能:如果文件存在,返回0 ,如果文件为空或者不存在,返回1。