一、單分支if語句
格式:if 判斷條件;then
statement1statement2...fi
二、雙分支的if語句
格式:if 判斷條件; then
statement1statement2...elsestatementN...fi
使用一個以前用過的指令碼來說明這個結構。
三、多分支if語句
格式:if 判斷條件1;then
statement1...elif 判斷條件2; thenstatement2...elif 判斷條件3; thenstatement3...elsestatement4...fi
四、case語句
格式:case 變數 in
PATTERN1)statement...;;PATTERN2)statement... ;;*)statement...;;esac
因為判斷結構語句比較簡單,沒有做過多的說明,只要記住各語句的結構用法即可。
補充shell基本文法
1.1、shell檔案開頭
shell檔案必須以下面的行開始(必須方在檔案的第一行):
#!/bin/sh
符號#!用來告訴系統它後面的參數是用來執行該檔案的程式。在這個例子中我們使用/bin/sh來執行程式。
當編輯好指令碼時,如果要執行該指令碼,還必須使其可執行。
要使指令碼可執行:
運行chmod +x filename 這樣才能用./filename 來運行
1.2 注釋
在進行shell編程時,以#開頭的句子表示注釋,直到這一行的結束。我們真誠地建議您在程式中使用注釋。
如果您使用了注釋,那麼即使相當長的時間內沒有使用該指令碼,您也能在很短的時間內明白該指令碼的作用及工作原理。
1.3 變數
在shell編程中,所有的變數都由字串組成,並且您不需要對變數進行聲明,直接賦值就可以,應用變數的話,用$+變數名的形式。
要賦值給一個變數,您可以這樣寫:
現在列印變數a的內容:
有時候變數名很容易與其他文字混淆,比如:
num=2 echo "this is the $numnd"
這並不會列印出"this is the 2nd",而僅僅列印"this is the ",因為shell會去搜尋變數numnd的值,但是這個變數時沒有值的。可以使用花括弧來告訴shell我們要列印的是num變數:
num=2 echo "this is the ${num}nd"
這將列印: this is the 2nd
1.4 環境變數
由export關鍵字處理過的變數叫做環境變數。我們不對環境變數進行討論,因為通常情況下僅僅在登入
指令碼中使用環境變數。