Linux里面set -e命令作用是什么?

Linux里面set -e命令作用是什么?,第1张

Linux里面set -e命令作用是,如果一个命令返回一个非0退出状态值(失败),就退出.

这个命令-e参数企业应用极少

set的“+” ,"-" 分别用于关闭或者打开某些特性;具体的特性有很多,这里介绍 -e 特性:

set -e 表示后续所有的bash 命令的返回code 如果不是0,那么脚本立即退出,后续的脚本将不会得到执行的机会;

set +e 这个是默认的状态,表示就算后续的命令如果返回值不是0,那么脚本依然向下执行;

所以 set -e其实就是从设置的位置起,给脚本的每一条命令加上了同一个退出条件;而set +e 则是取消这种设置;

看下面的例子:

[root@oldboy ~]# cat test.sh

#!/bin/bash

function lookupstr(){

grep "sles" /etc/os-release >/dev/null 2>&1

if [ "$?" -ne 0 ]then

echo -e "Can not find the 'sles' string in file.\n"

fi

}

echo "Below results based on: set +e"

set +e

lookupstr

echo "Below results based on: set -e"

set -e

lookupstr

[root@oldboy ~]# ./test.sh

Below results based on: set +e

Can not find the 'sles' string in file.

Below results based on: set -e

[root@oldboy ~]#

set -e option 可以帮助优化脚本

e是表示该文件为可执行文件。特提供该命令的相关资料整理如下:(1)命令作用:显示文件属性(2)功能说明:lsattr 命令显示关于给定设备或设备类型的属性信息。(3)语法:lsattr [-adlRvV][文件或目录...] (4)所属包:coreutils (5)使用技巧:lsattr 命令显示文件系统属性与ls 显示的UNIX 文件系统属性是两个不同的概念。lsattr实现的属性是文件系统的物理属性,而ls显示的文件属性是 *** 作系统进行管理文件系统的逻辑属性。(6)相关命令:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7293283.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存