簡體   English   中英

如何退出 bash 腳本

[英]how to exit bash script

我有一個 case 命令,它有幾個選項,其中一個是針對失敗的存儲空間大小。

#################### System Information Tests ##############################
export HOME=`cd;pwd`
export Storage_Space_Size=$(df -h --output=avail ${HOME} | awk 'NR==2 {print $1}' | tr -cd '[:digit:]')
export Storage_Space_Units=$(df -h --output=avail ${HOME} | awk 'NR==2 {print $1}' | tr -cd '[:alpha:]')
export Storage_Space_Required="350"

echo " Testing for Storage Space for installation"
echo " "

case $Storage_Space_Units in
    [Pp]* )
      echo "Sufficient storage space for installation found" ;;
    [Tt]* )
      echo "Sufficient storage space for installation found" ;;
    [Gg]* )
      if [[ ${Storage_Space_Size} -lt ${Storage_Space_Required} ]]; then
        echo "Not enough storage space for installation"
      else echo "Sufficient storage space for installation found."
      fi ;;
    [MmKk]* )
      echo "Not enough storage space for installation."
      exec $SHELL ;;
    * )
    echo "Not enough storage space for installation."
    exec $SHELL ;;
  esac

echo " "

exec $SHELL 是退出腳本的最佳方法還是有其他方法?

在不保留失敗環境的情況下退出腳本的替代方法

################### System Information Tests ##############################

if [ "$SYSTEMOS" = "Linux" ]; then

  export HOME=`cd;pwd`
  export Storage_Space_Size=$(df -h --output=avail ${HOME} | awk 'NR==2 {print $1}' | tr -cd '[:digit:]')
  export Storage_Space_Units=$(df -h --output=avail ${HOME} | awk 'NR==2 {print $1}' | tr -cd '[:alpha:]')
  export Storage_Space_Required="350"
  echo "-------------------------------------------------- "
  echo " "
  echo " Testing for Storage Space for installation"
  echo " "

  case $Storage_Space_Units in
      [Pp]* )

        echo " "
        echo "Sufficient storage space for installation found"
        echo "-------------------------------------------------- " ;;
      [Tt]* )
        echo " "
        echo "Sufficient storage space for installation found"
        echo "-------------------------------------------------- " ;;
      [Gg]* )
        if [[ ${Storage_Space_Size} -lt ${Storage_Space_Required} ]]; then
          echo " "
          echo "Not enough storage space for installation"
          echo "-------------------------------------------------- "
          exit
        else
          echo " "
          echo "Sufficient storage space for installation found."
          echo "-------------------------------------------------- "
        fi ;;
      [MmKk]* )
        echo " "
        echo "Not enough storage space for installation."
        echo "-------------------------------------------------- "
        exit ;;
      * )
      echo " "
      echo "Not enough storage space for installation."
      echo "-------------------------------------------------- "
      exit ;;
    esac

  echo " "
fi



if [ "$SYSTEMOS" = "MacOS" ]; then
  while true; do
    read -r -p "Do you have minimum of 350GB of FREE storage space available for this instllation (Y/N) " yn
    case $yn in
      [Yy]* )
      echo "-------------------------------------------------- "
      echo " "
      echo "Installation will move forward"
      break
        ;;
      [Nn]* )
      echo " "
      echo "Not enough storage space available. Exiting script."
      break
        ;;
      * ) echo "Please answer yes or no.";;
    esac
  done
fi

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM