Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1076420
  • 博文数量: 165
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1351
  • 用 户 组: 普通用户
  • 注册时间: 2016-03-11 14:13
个人简介

狂甩酷拽吊炸天

文章分类

全部博文(165)

文章存档

2024年(1)

2023年(1)

2022年(3)

2021年(4)

2020年(17)

2019年(37)

2018年(17)

2017年(35)

2016年(50)

分类: LINUX

2019-07-24 16:55:11

用法:
#!/bin/bash
set -e
...
exit 0
用途:你写的每个脚本都应该在文件开头加上set -e,这句语句告诉解释器如果任何语句的执行结果不是true则应该退出。这样的好处是防止错误像滚雪球般变大导致一个致命的错误

创建一个test.sh脚本:

#!/bin/bash
set -e

function return1()
{
        return 1
}
function return0()
{
        return 0
}

echo "run start"
return1
if [ $? -ne 0 ];then
        echo "cmd error"
fi
echo "run end !"

单独执行时候结果:
sh test.sh
-----------------------------------------
run start

即return1语句返回非零,立即退出执行。说明set -e 选项有效。

如果我注释掉set -e执行,则结果:
-----------------------------------------
run start
cmd error
run end !

set -e 命令用法总结如下:
1. 当命令的返回值为非零状态时,则立即退出脚本的执行。
2. 作用范围只限于脚本执行的当前进行,不作用于其创建的子进程。
3. 另外,当想根据命令执行的返回值,输出对应的log时,最好不要采用set -e选项,而是通过配合exit 命令来达到输出log并退出执行的目的





阅读(4042) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~