Shell基础学习(六) 流程控制
1、if
if的語法格式
if conditon thencommand1command2```commandn fi2、if else
if conditon thencommand1command2```commandn elsecommand1command2```commandn fi3、if elseif else
if conditon thencommand1command2```commandn else if conditoncommand1command2```commandn elsecommand1command2```commandn fi4、for循環(huán)
for(var in item1 item2 item3) do command1 command2 ``` commandn done5、while
while condition docommand1command2```commandn done6、until
until循環(huán)執(zhí)行一系列命令直至條件為真時停止。
until condition docommand done7、case
Shell case語句為多選擇語句。可以用case語句匹配一個值與一個模式,如果匹配成功,執(zhí)行相匹配的命令。case語句格式如下:
case 值 in 模式1)command1command2...commandN;; 模式2)command1command2...commandN;; esac
8、break
break命令允許跳出所有循環(huán)(終止執(zhí)行后面的所有循環(huán))。
下面的例子中,腳本進(jìn)入死循環(huán)直至用戶輸入數(shù)字大于5。要跳出這個循環(huán),返回到shell提示符下,需要使用break命令。
#!/bin/bash while : doecho -n "輸入 1 到 5 之間的數(shù)字:"read aNumcase $aNum in1|2|3|4|5) echo "你輸入的數(shù)字為 $aNum!";;*) echo "你輸入的數(shù)字不是 1 到 5 之間的! 游戲結(jié)束"break;;esac done
結(jié)果: 輸入 1 到 5 之間的數(shù)字:
3 你輸入的數(shù)字為 3!
輸入 1 到 5 之間的數(shù)字:7
你輸入的數(shù)字不是 1 到 5 之間的! 游戲結(jié)束
9、continue
continue命令與break命令類似,只有一點(diǎn)差別,它不會跳出所有循環(huán),僅僅跳出當(dāng)前循環(huán)。
對上面的例子進(jìn)行修改:
#!/bin/bash while : doecho -n "輸入 1 到 5 之間的數(shù)字: "read aNumcase $aNum in1|2|3|4|5) echo "你輸入的數(shù)字為 $aNum!";;*) echo "你輸入的數(shù)字不是 1 到 5 之間的!"continueecho "游戲結(jié)束";;esac done
運(yùn)行代碼發(fā)現(xiàn),當(dāng)輸入大于5的數(shù)字時,該例中的循環(huán)不會結(jié)束,語句 echo "游戲結(jié)束" 永遠(yuǎn)不會被執(zhí)行。
轉(zhuǎn)載于:https://www.cnblogs.com/huixuexidezhu/p/5542225.html
總結(jié)
以上是生活随笔為你收集整理的Shell基础学习(六) 流程控制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不常用 保存下来
- 下一篇: jQuery on 绑定的事件触发多次