Linux中國

Shell 腳本基礎 – 使用 if 語句進行條件檢測

if 語句的語法:

if [ 判斷條件 ]
then
        command1
        command2
        ……..
        last_command
fi

Example:

#!/bin/bash
number=150
if [ $number -eq 150 ]
then
    echo "Number is 150"
fi

if-else 語句:

除了標準的 if 語句之外,我們還可以加入 else 代碼塊來擴展 if 語句。這麼做的主要目的是:如果 if 條件為真,執行 if 語句里的代碼塊,如果 if 條件為假,執行 else 語句里的代碼塊。

語法:

if [ 判斷條件 ]
then
       command1
       command2
       ……..
       last_command
else
       command1
       command2
       ……..
       last_command
fi

Example:

#!/bin/bash
number=150
if [ $number -gt 250 ]
then
    echo "Number is greater"
else
    echo "Number is smaller"
fi

If..elif..else..fi 語句 (簡寫的 else if)

Bourne Shell 的 if 語句語法中,else 語句里的代碼塊會在 if 條件為假時執行。我們還可以將 if 語句嵌套到一起,來實現多重條件的檢測。我們可以使用 elif 語句(else if 的縮寫)來構建多重條件的檢測。

語法 :

if [ 判斷條件1 ]
then
       command1
       command2
       ……..
       last_command
elif [ 判斷條件2 ]
then
        command1
        command2
        ……..
        last_command
else
command1
command2
……..
last_command
fi

Example :

#!/bin/bash
number=150
if [ $number -gt 300 ]
then
    echo "Number is greater"
elif [ $number -lt 300 ]
then
    echo "Number is Smaller"
else
    echo "Number is equal to actual value"
fi

多重 if 語句 :

If 和 else 語句可以在一個 bash 腳本里相互嵌套。關鍵詞 「fi」 表示裡層 if 語句的結束,所有 if 語句必須使用 關鍵詞 「fi」 來結束。

基本 if 語句的嵌套語法

if [ 判斷條件1 ]
then
        command1
        command2
        ……..
        last_command
else
if [ 判斷條件2 ]
then
        command1
        command2
        ……..
        last_command
else
        command1
        command2
         ……..
         last_command
      fi
fi

Example:

#!/bin/bash
number=150
if [ $number -eq 150 ]
then
   echo "Number is 150"
else
if [ $number -gt 150 ]
then
    echo "Number is greater"
else
    echo "'Number is smaller"
   fi
fi

via: http://www.linuxtechi.com/shell-scripting-checking-conditions-with-if/

作者:Pradeep Kumar 譯者:ThomazL 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國