對于if語句,其實很多人都肯定的聽說過,那么if語句到底是什么,簡單的說,就類似于漢語里面的如果----那么,if語句是linux運維人員在實際環境中使用的最頻繁也是最重要的語句!!!
一、if條件語句
1、單分支語句結構
第一種語法如下:
if <條件表達式> then 指令 fi
第二種語法
if <條件表達式>; then 指令 fi
在以上這兩種方式中我還是喜歡用第一種,這個是看個人習慣的。在上面的兩個語法中<條件表達式>可以是 test [] [[]] (())等條件表達式,甚至可以使用命令作為條件表達式。注意:每個if語句都是以if開頭 fi結束,中間并帶有then;
其實很簡單,舉個例子如下:
if [ -f file ] then echo "是一個普通文件" else echo "不是一個普通文件" exit 1 fi
剖析:如果file是一個普通文件,那么就執行echo "是一個普通文件" 否則 輸出一條"不是一個普通文件" 最后退出腳本
其實以下的這段命令更能清晰的了解if語句如下:
如果 <你不會if語句> 那么 那肯定長的不帥 果如
2、以上就是單分支的if語句,接下來看看雙分支的if語法結構
if <條件表達式> then 指令一 else 指令二 fi
以上就是單分支的if語句結構,那么在舉個例子如下:
if [ -f file ] then echo "這是一個普通文件" else echo "NONONO" fi
這個和以上的例子是一樣的。同樣是測試file是不是一個普通文件,如果是,那么就輸出指令1 否則那么就輸出指令2
到這里我們在來一個形象描述
如果 <你不會if語句> 那么 就快點學,快點練 否則 你永遠都不可能學會 果如
我們發現 單分支和雙分支的區別就在于一個有else 一個沒有。
3、多分支if語句結構
我們在上面說了 單分支和雙分支 這里又有了一個多分支,我們可以理解為雙分支里面包含了單分支,那么多分支里面肯定包含了單分支+雙分支:個人理解,好像有點繞? 先來看看多分支吧 如下:
if 語句多分支結構主體為:如果.....那么....否則如果.....那么.....否則如果.....那么,,,,
例1:
if [ -f file ] then echo "yes yes yes" elif [ -z file ] then echo "yes yes" else echo "nonono" fi
解釋如下圖:

看完圖還是沒理解? 沒有關系 如下:
新聞熱點
疑難解答