shell編程 條件判斷式----利用 case ..... esac 判斷

來源:互聯網
上載者:User

標籤:

條件判斷式----利用 case ..... esac 判斷

case  $變數名稱 in   <==關鍵詞為 case ,還有變數前有錢字型大小

  "第一個變數內容")   <==每個變數內容建議用雙引號括起來,關鍵詞則為小括弧 )

  程式段

  ;;            <==每個類別結尾使用兩個連續的分號來處理!

  "第二個變數內容")

  程式段

  ;;

  *)                  <==最後一個變數內容都會用 * 來代表所有其它值

  不包含第一個變數內容與第二個變數內容的其它程式執行段

  exit 1

  ;;

esac                  <==最終的 case 結尾!”反過來寫”思考一下!

要注意的是,這個文法以 case (實際案例之意) 為開頭,結尾自然就是將 case 的英文反過來寫!就成為 esac 囉! 不會很難背啦!

另外,每一個變數內容的程式段最後都需要兩個分號 (;;) 來代表該程式段落的結束,這挺重要的喔!

至於為何需要有 * 這個變數內容在最後呢?這是因為,如果使用者不是輸入變數內容一或二時, 我們可以告知使用者相關的資訊啊!廢話少說,案例說明

 

來源程式如下:

 1 case $1 in 2 "hello") 3         echo "Hello,how are you?" 4         ;; 5 "") 6         echo "You MUST input parameters,ex>{$0 someword}" 7         ;; 8 *) #其實就相當於萬用字元,0~無窮多個任一字元之意! 9         echo "Usage $0 {hello}"10         ;;11 esac

用vi編輯器建立shell指令碼:

用vi編輯器編寫shell指令碼:

執行結果如下:

在上面這個 sh09-2.sh 的案例當中,如果你輸入” sh test02.sh test “來執行, 那麼螢幕上就會出現”Usage test02.sh {hello}”的字樣,告知執行者僅能夠使用 hello 喔~ 這樣的方式對於需要某些固定字串來執行的變數內容就顯的更加的方便呢! 這種方式你真的要熟悉喔!這是因為系統的很多服務的啟動 scripts 都是使用這種寫法的。

shell編程 條件判斷式----利用 case ..... esac 判斷

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.