您好,登錄后才能下訂單哦!
linux中shell有哪些循環(huán)與判斷語句?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
一,for循環(huán)
#!/bin/bash for file in $(ls /tmp/test/mytest |grep sh) //for in格式是shell for的基本格式,根js的for in類似 do //循環(huán)開始你就把它當(dāng)成{ echo $file done //循環(huán)結(jié)束你就把它當(dāng)成} for ((i=0;i<10;i++)) //注意是雙小括號,由于受其他語言的影響,很容易搞錯 do echo -n $i done echo \ //輸出換行 for i in 0 1 2 3 4 5 6 7 8 9 do echo -n $i done echo \ for i in "0 1 2 3 4 5 6 7 8 9" //這個根上面是有區(qū)別的,這個循環(huán)只循環(huán)了一次,雙引號里面只是一個變量 do echo -n $i done exit 0
二,while循環(huán)
#!/bin/bash i=0 while ((i<10)) do echo $i ((i += 1)) done i=0 while [ $i -lt 10 ] //注意括號內(nèi)側(cè)二邊的空格 do echo $i let "i+=1" //加1 done exit 0
三,until循環(huán)
#!/bin/bash END_CONDITION=end until [ "$var1" = "$END_CONDITION" ] //讀取的變量根設(shè)定的變量相等時退出循環(huán),不然永遠(yuǎn)循環(huán) do echo "Input variable #1 " echo "($END_CONDITION to exit)" read var1 echo "variable #1 = $var1" echo done exit 0
四,if語句
#!/bin/bash echo "Input a number #1 " read num echo "variable #1 = $num" if [ $num -lt 60 ] //注意lt前面的-,很容易忘的 then echo "you are not pass" elif [ $num -lt 70 ] && [ $num -ge 60 ] //多個條件的判斷 then echo "pass" elif [[ $num -lt 85 && $num -ge 70 ]] //如果放在一起,要注意是雙方括號,不要寫成[ $num -lt 85 && $num -ge 70 ] then echo "good" elif (( $num <= 100 )) && (( $num >= 85 )) //對于有語言基礎(chǔ)的人來說,這種寫法讓人覺得很舒服,不要忘了是雙小括號 then echo "very good" else echo "num is wrong" fi //if要有結(jié)束標(biāo)簽的,根XML很像,不閉合,就報錯 exit 0
五,case語句
#!/bin/sh case $1 in start) echo "start ok" ;; //注意一點(diǎn),要注意是雙分號 stop) echo "stop ok" ;; restart) echo "restart ok" ;; *) echo "no param" ;; esac //注意閉合標(biāo)簽 exit 0 [root@krlcgcms01 forif]# sh c1.sh stop stop ok
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。