過程式編程語言通常分為三種執行方式,分別是
順序執行
選擇執行
循環執行
一、選擇執行語句
1)if語句
選擇執行:if語句可以是單分支選擇,也可以雙分支分支選擇,還可以多分支選擇。而且if語句可嵌套,
單分支
if 判斷條件;then
? ?條件為真的分支
fi
根據判斷條件選擇是否執行下面的分支,如果符合條件,則執行;若不符合,則跳過。
雙分支
if 判斷條件;then
條件為真的分支1
else
條件為假的分支2
fi
根據判斷條件選擇是否執行下面的分支,如果符合條件,則執行分支1;若不符合,則執行分支2。
多分支
if 判斷條件1;then
條件為真的分支
elif 判斷條件2;then
條件為真的分支
elif 判斷條件3;then
條件為真的分支
else
以上條件均不符合的分支
fi
根據判斷條件進行判斷,當判斷條件為真時,執行當前環境下的分支;若判斷條件都不符合,則執行最后一個分支
if語句作為選擇執行語句經常用于條件判斷的情況,可根據不同的條件設計多個分支進行判斷。
例題; 編寫腳本/root/bin/createuser.sh,實現如下功能:使用一個用戶名做為參數,如果指定參數的用戶存在,就顯示其存在,否則添加之;顯示添加的用戶的id號等信息?。
根據if語句編寫了如下腳本
這是一個雙分支的if判斷語句,利用”id $name”的執行結果來進行判斷,如果$?等于0,則說明該用戶已創立,執行”echo”命令;若$?不等于0,則說明該用戶未創立,則執行”useradd”命令。
執行該腳本,首先輸入已存在的用戶”zhao”,然后輸入為創建的用戶”yjj”,顯示兩種不同的結果。
2)case語句
case語句用于多分支的情況,根據變量匹配對應的分支來執行。
case語句格式
case 變量引用 in
par1)
執行分支1
? ? ;;
pat2)
執行分支2
? ? ;;
……
*)
執行分支
? ?;;
seac
case語句支持通配符寫法。
例題: 編寫腳本/root/bin/yesorno.sh,提示用戶輸入yes或no,并不區分大小寫
case語句支持通配符寫法,對變量”ans”進行匹配,當”ans”匹配到無論大寫還是小寫的”yes””no”都會顯示對應的分支,當匹配不到時,就會執行最后的默認分支。
二、循環執行語句
循環執行即將某段代碼執行多次,有的語句循環次數已知,即可指定循環多少次;還有循環次數未知的語句,根據進入循環和退出循環的條件來開始或退出循環。
1)for語句
基本格式
for ?變量名 in 列表;do?
? ? 循環體
done
通過列表給變量賦值,執行一次循環,當列表內數值用完,結束循環。
列表可通過以下方式生成
1)直接給出
在”in”后直接列出要循環的數值
2)數列
通過{start..end}表示一個集合作為列表
3)用命令生成列表
例如”ls ~root/”命令可顯示root家錄下文件名。
4)通配符生成列表
例如”*.sh”可顯示”sh”后綴文件作為循環列表
5)還可使用變量作為列表
例題: 編寫腳本,提示輸入正整數n的值,計算1+2+…+n的總和
用”seq”列出1到n的值,循環相加從1加到n,最后輸出結果
2)white語句
3)until語句
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/90489