Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1682556
  • 博文数量: 2273
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 22859
  • 用 户 组: 普通用户
  • 注册时间: 2020-11-26 14:30
个人简介

更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号

文章分类

全部博文(2273)

文章存档

2024年(123)

2023年(643)

2022年(693)

2021年(734)

2020年(80)

我的朋友

分类: LINUX

2022-02-11 14:16:59

  在Linux操作系统中,set命令主要用于设置shell,它能设置所使用shell的执行方式,可依照不同的需求来做设置,而-e是Linux set命令常用的参数之一。那么Linux里面set-e命令作用是什么?如何使用?以下是详细的内容介绍。

  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 可以帮助优化脚本

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