shell學習六流程控制

1.條件語句 condition 用[ ] 或是test

if else

if

if 語句語法格式:編程

if condition
then
    command1 
    command2
    ...
    commandN 
fi

if else-if else

if else-if else 語法格式:編程語言

if condition1
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi

for 循環

與其餘編程語言相似,Shell支持for循環。測試

for循環通常格式爲:spa

for var in item1 item2 ... itemN
do
    command1
    command2
    ...
    commandN
done

while 語句

while循環用於不斷執行一系列命令,也用於從輸入文件中讀取數據;命令一般爲測試條件。其格式爲:it

while condition
do
    command
done

如下是一個基本的while循環,測試條件是:若是int小於等於5,那麼條件返回真。int從0開始,每次循環處理時,int加1。運行上述腳本,返回數字1到5,而後終止。io

#!/bin/sh
int=1
while(( $int<=5 ))
do
        echo $int
        let "int++"
done

case

Shell case語句爲多選擇語句。能夠用case語句匹配一個值與一個模式,若是匹配成功,執行相匹配的命令。case語句格式以下:for循環

case  in
模式1)
    command1
    command2
    ...
    commandN
    ;;
模式2
    command1
    command2
    ...
    commandN
    ;;
esac

case工做方式如上所示。取值後面必須爲單詞in,每一模式必須以右括號結束。取值能夠爲變量或常數。匹配發現取值符合某一模式後,其間全部命令開始執行直至 ;;。test

取值將檢測匹配的每個模式。一旦模式匹配,則執行完匹配模式相應命令後再也不繼續其餘模式。若是無一匹配模式,使用星號 * 捕獲該值,再執行後面的命令。變量

下面的腳本提示輸入1到4,與每一種模式進行匹配:循環

echo '輸入 1 到 4 之間的數字:'
echo '你輸入的數字爲:'
read aNum
case $aNum in
    1)  echo '你選擇了 1'
    ;;
    2)  echo '你選擇了 2'
    ;;
    3)  echo '你選擇了 3'
    ;;
    4)  echo '你選擇了 4'
    ;;
    *)  echo '你沒有輸入 1 到 4 之間的數字'
    ;;
esac
相關文章
相關標籤/搜索