您好,登錄后才能下訂單哦!
linux中shell有哪些循環與判斷語句?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
一,for循環
#!/bin/bash for file in $(ls /tmp/test/mytest |grep sh) //for in格式是shell for的基本格式,根js的for in類似 do //循環開始你就把它當成{ echo $file done //循環結束你就把它當成} 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" //這個根上面是有區別的,這個循環只循環了一次,雙引號里面只是一個變量 do echo -n $i done exit 0
二,while循環
#!/bin/bash i=0 while ((i<10)) do echo $i ((i += 1)) done i=0 while [ $i -lt 10 ] //注意括號內側二邊的空格 do echo $i let "i+=1" //加1 done exit 0
三,until循環
#!/bin/bash END_CONDITION=end until [ "$var1" = "$END_CONDITION" ] //讀取的變量根設定的變量相等時退出循環,不然永遠循環 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 )) //對于有語言基礎的人來說,這種寫法讓人覺得很舒服,不要忘了是雙小括號 then echo "very good" else echo "num is wrong" fi //if要有結束標簽的,根XML很像,不閉合,就報錯 exit 0
五,case語句
#!/bin/sh case $1 in start) echo "start ok" ;; //注意一點,要注意是雙分號 stop) echo "stop ok" ;; restart) echo "restart ok" ;; *) echo "no param" ;; esac //注意閉合標簽 exit 0 [root@krlcgcms01 forif]# sh c1.sh stop stop ok
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。