shell腳本學習之case用法及實例

case語句和判斷語句[if...elif...else]功能相似;
當在邏輯判斷比較簡單的狀況下,比後者的代碼量要少量多.
case用法,用變量來匹配某值,若是匹配成功則執行它下面的命令,直到 ;;爲止git

case語句結構特色以下:bash

case行尾必須爲單詞 in 每一個模式必須以右括號 ) 結束blog

雙分號 ;; 表示命令序列結束
case語句結構特色以下:
匹配模式中但是使用方括號表示一個連續的範圍,如[0-9];使用豎槓符號「|」表示或。
最後的「*)」表示默認模式,當使用前面的各類模式均沒法匹配該變量時,將執行「*)」後的命令序列。it

 

語法:io

case "變量" infunction

    "變量1")變量

        ...語法

        ;; #輸出兩個分號im

    "變量2")img

        ...

      ;; #輸出兩個分號

    "變量3")

        ...

       ;; #輸出兩個分號

    *)

         ...

       ;; #輸出兩個分號

esac

實例一、輸入不一樣數字,獲得不一樣結果(多個條件能夠用"|"分隔開)

 

 實例二、由用戶從鍵盤輸入一個字符,並判斷該字符是否爲字母、數字或者其餘字符, 並輸出相應的提示信息。

#!/bin/bashread -p "press some key ,then press return :" KEYcase $KEY in[a-z]|[A-Z])echo "It's a letter.";;[0-9]) echo "It's a digit.";;*)echo "It's function keys、Spacebar or other ksys."esac

相關文章
相關標籤/搜索