shell流程控制語句腳本編程解析
流程控制
if條件判斷
可以使用if來實(shí)現(xiàn)多路跳轉(zhuǎn),條件通常使用test命令
#if語句的語法 if condition1 then command1 elif condition2 then command2 else commandN fi
如果then需要和if放在同一行的話,使用;分隔
fi用來結(jié)束if語句,相當(dāng)于endif
<!-- more -->
#變量賦值等號兩端沒有空格 a=10 b=20 if [ $a == $b ] then echo "a 等于 b" elif [ $a -gt $b ] then echo "a 大于 b" elif [ $a -lt $b ] then echo "a 小于 b" else echo "沒有符合的條件" fi
"[" 符號前后、 "]"前邊都要有空格
case條件控制
匹配到模式則執(zhí)行對應(yīng)的命令,執(zhí)行結(jié)束后跳出case語句
#case語句的語法 case 值 in 模式1) command1 ;; 模式2) commandN ;; esac
echo "input your name:" read name case $name in zhanghe) echo "你是管理員,權(quán)限最大";; zhangsan) echo "你是誰呀,張三嗎";; *) echo "你我可不認(rèn)識";; esac
- 取值后邊一定要用in
- 變量的值會匹配)符號前面的字符串
case支持通配符
- *: 任意長度任意字符
- ?: 任意單個(gè)字符
- []: 指定范圍內(nèi)的任意單個(gè)字符
- a|b: a或b
- 如果匹配的話,會執(zhí)行該case下的語句,直到發(fā)現(xiàn);;時(shí)停止
- 如果沒有匹配,就會執(zhí)行最后*)這一行的內(nèi)容
- 如果沒有匹配到不想執(zhí)行任何內(nèi)容的話,可以不寫*)
一定注意;;如果不加;;的話,執(zhí)行會出錯(cuò)的
以上就是shell流程控制語句腳本編程解析的詳細(xì)內(nèi)容,更多關(guān)于shell流程控制的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
linux shell之通過標(biāo)識測試文件系統(tǒng)屬性的方法示例
今天小編就為大家分享一篇關(guān)于linux shell之通過標(biāo)識測試文件系統(tǒng)屬性的方法示例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-04-04Linux命令行循環(huán)執(zhí)行shell命令
這篇文章主要介紹了Linux命令行,循環(huán)執(zhí)行shell命令的相關(guān)知識,主要包括死循環(huán),普通計(jì)數(shù)循環(huán),以及Linux shell循環(huán)命令 while死循環(huán)的用法,需要的朋友可以參考下2023-01-01詳解Shell編程之if語句實(shí)戰(zhàn)(小結(jié))
本篇文章主要介紹了詳解Shell編程之if語句實(shí)戰(zhàn)(小結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02Log4j 日志文件Linux/Mac/Windows通用存放位置設(shè)置方法
下面小編就為大家?guī)硪黄狶og4j 日志文件Linux/Mac/Windows通用存放位置設(shè)置方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01