小編給大家分享一下Shell中如何實現(xiàn)流程控制,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
十余年專注成都網(wǎng)站制作,成都企業(yè)網(wǎng)站建設(shè),個人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設(shè)計流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都企業(yè)網(wǎng)站建設(shè),高端網(wǎng)頁制作,對成都柔性防護網(wǎng)等多個方面,擁有多年設(shè)計經(jīng)驗。在Linux編程中,流程控制語句基本為 if 、for、while、until、case等條件的控制語句
if常用語法結(jié)構(gòu)
If (表達式); then echo .......... else echo .......... fi
演示:
#!/bin/bash num=10 if ((${num} > 4));then echo "${num} 大于 3" fi if test [${num} > 4];then echo "${num} 大于 4" fi
#!/bin/bash num=10; if [ $num -lt 8 ];then echo "${num} 小于 8" elif [ ${num} -eq 10 ];then echo "${num} 等于 10" elif [ ${num} -gt 11 ];then echo "${num} 大于 10" else echo "沒有符合的條件" fi;
for循環(huán)語法結(jié)構(gòu)
For 變量 in 字符串 do echo "" done
演示:
#!/bin/bash #定義一個數(shù)組 val=(1 2 3 4 5 6) for i in ${val[*]} #也可以直接 in `seq 6` do echo "this is num: $i" done
輸出結(jié)果:
#打印結(jié)果: this is num: 1 this is num: 2 this is num: 3 this is num: 4 this is num: 5 this is num: 6
演示2:
#!/bin/bash #對查找文件批量打包 for i in `find /var/log -name “*.log”` do tar –czf 2019log.tgz $i done
while語法結(jié)構(gòu)
while (條件判斷) do echo "" done
演示:
#!/bin/sh i=1; while(( $i <= 10 ));do #或者while [ $i -le 10 ];do echo $i; let "i++" # 或者((i++)); done;
輸出結(jié)果:
1 2 . . 10
演示:
[root@localhost opt]# cat test.sh #!/bin/sh #打印文件內(nèi)容 while read line do echo $line; done < /etc/hosts
until循環(huán)執(zhí)行命令是需要條件為true時才退出,否知一直循環(huán),[]主要判斷true和false
until循環(huán)與while循環(huán)在處理方式相反,且while循環(huán)優(yōu)于until循環(huán)
演示:
#!/bin/bash i=1; until [ ! $i -le 10 ];do echo $i; let "i++" #((i++)) or (i=`expr $i + 1`) done;
簡單演示:
#!/bin/sh #author: case $1 in 1|2|3|4) echo "你輸入數(shù)字為$1" ;; *) echo "Usage:{$0 1 | 2 | 3 | 4 | help}" echo "你輸入數(shù)字不在服務(wù)區(qū)" ;; esac
簡單演示
注意:
break 直接跳出while循環(huán)體 continue 只會跳出當前循環(huán),不會跳出while循環(huán)
#!/bin/sh #author: while : do echo "------------------------" echo '輸入 1-4之間的數(shù)字:' echo '你輸入的數(shù)字為:' read num case $num in 1|2|3|4) echo "你輸入數(shù)字為:${num} !!" ;; *) #echo "Usage:{$0 1 | 2 | 3 | 4 | help}" echo "------------------------" echo "你輸入數(shù)字不在服務(wù)區(qū)" break # continue ;; esac done
#!/bin/sh #author: PS3="What you like most of the open source system?" select i in windows Linux Max do echo "Your Select System: "$i done
#目錄是否存在 if [ ! -d $BAK_DIR ];then mkdir -p $BAK_DIR fi #test判斷文件 if test -e ${BAK_DIR} then echo '文件存在!' else echo '文件不存在!' fi
看完了這篇文章,相信你對“Shell中如何實現(xiàn)流程控制”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)頁名稱:Shell中如何實現(xiàn)流程控制-創(chuàng)新互聯(lián)
本文路徑:http://muchs.cn/article42/eicec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、移動網(wǎng)站建設(shè)、小程序開發(fā)、面包屑導(dǎo)航、網(wǎng)站制作、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)