Linux裡面set-e命令作用是什麼?如何使用?

老男孩IT教育機構發表於2022-02-11

  在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 可以幫助最佳化指令碼


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2855325/,如需轉載,請註明出處,否則將追究法律責任。

相關文章