溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

shell中的循環(huán)語(yǔ)句、判斷語(yǔ)句實(shí)例介紹

發(fā)布時(shí)間:2021-07-28 21:25:21 來源:億速云 閱讀:142 作者:chen 欄目:開發(fā)技術(shù)

這篇文章主要介紹“shell中的循環(huán)語(yǔ)句、判斷語(yǔ)句實(shí)例介紹”,在日常操作中,相信很多人在shell中的循環(huán)語(yǔ)句、判斷語(yǔ)句實(shí)例介紹問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”shell中的循環(huán)語(yǔ)句、判斷語(yǔ)句實(shí)例介紹”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

shell的循環(huán)主要有3種,for,while,until
shell的分支判斷主要有2種,if,case

一,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++))        //注意是雙小括號(hào),由于受其他語(yǔ)言的影響,很容易搞錯(cuò)
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"    //這個(gè)根上面是有區(qū)別的,這個(gè)循環(huán)只循環(huán)了一次,雙引號(hào)里面只是一個(gè)變量
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 ]  //注意括號(hào)內(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è)定的變量相等時(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語(yǔ)句

代碼如下:


#!/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 ]  //多個(gè)條件的判斷
then
 echo "pass"
elif [[ $num -lt 85 && $num -ge 70 ]] //如果放在一起,要注意是雙方括號(hào),不要寫成[ $num -lt 85 && $num -ge 70 ]
then
 echo "good"
elif (( $num <= 100 )) && (( $num >= 85 ))  //對(duì)于有語(yǔ)言基礎(chǔ)的人來說,這種寫法讓人覺得很舒服,不要忘了是雙小括號(hào)
then
 echo "very good"
else
 echo "num is wrong"
fi                                 //if要有結(jié)束標(biāo)簽的,根XML很像,不閉合,就報(bào)錯(cuò)

exit 0

五,case語(yǔ)句

代碼如下:


#!/bin/sh
case $1 in
 start)
 echo "start ok"
 ;;       //注意一點(diǎn),要注意是雙分號(hào)
 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

到此,關(guān)于“shell中的循環(huán)語(yǔ)句、判斷語(yǔ)句實(shí)例介紹”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI