case語句及腳本選項進階詳解面向過程程序設計語言中的控制流(即程序當中的語句)默認是順序執行的。
程序設計語言的控制結構一共有三類:
1,順序結構
2,選擇結構
(1)if語句
->單分支的if語句
格式:if condition1;then
expression
...
fi
->雙分支的if語句
格式:if condition1;then
expression
...
else
expression
...
fi
->多分支的if語句
格式:if condition1;then
expression
...
elif condition2;then
expression
...
else
expression
...
fi
多分支的if語句,執行效率比較低,因為它是一個條件接著一個條件比較的。
(2)case語句
我們選擇結構還有第二個語句,也就是我們的case語句,比多分支的if語句,結構更明晰,使用更簡單,執行效率更高的選擇結構語句。
用法格式:case(關鍵字) SWITCH(變量,這裡引用的是變量的值,而不是變量本身) in
而我們變量的值會有以下幾種情況
value 1)->這不是條件,而是變量的值,變量的第一種值
expression
...;;(沒一個選項都得以雙分號結尾)
value 2)->第二種值
expression
...;;
...
*)
expression
...
esac
value的值可以有多個
練習:寫一個腳本,要求
讓用戶從鍵盤鍵入內容,然後用我們的腳本來判斷用戶鍵入了什麼內容並顯示出來
鍵入了數字就顯示數字,鍵入了小寫字母就顯示小寫字母,鍵入了大寫字母就顯示大寫字母
腳本內容:

腳本執行結果:

練習:寫一個腳本,要求
該腳本只接收這四個參數其中之一,start,stop,restart,status
然後顯示相對應的內容
腳本內容:

腳本執行結果:

練習:寫一個腳本,要求
可以接收選項及參數,而後能獲取每一個選項及參數,並能根據選項及參數做出特定的操作
比如->boke3.sh --add tom,jerry --del tom,blair -v|--verbose -h|--help
腳本內容:


腳本執行結果:

練習:寫一個腳本,要求
腳本名為boke4.sh
腳本的用法格式為showlogged.sh -v -c -h|--help
其中-h選項只能單獨使用,用於顯示幫助信息;
-c選項時,顯示當前系統上登錄的所有用戶數,如果同時使用了-v選項,則既顯示同時登錄的用戶數,又顯示登錄的用戶的相關信息。
腳本內容:

腳本執行結果:

3,循環結構
for語句
本文出自 “菜鳥的技術文檔” 博客,請務必保留此出處http://zhubo.blog.51cto.com/11395641/1831868