新聞中心
在Linux系統(tǒng)中,while循環(huán)是一個(gè)非常常用的結(jié)構(gòu),它的基本語法是:

昌寧網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)于2013年開始到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
“`
while [ condition ]
do
command1
command2
…
commandN
done
“`
其中,`condition`表示循環(huán)的條件,如果滿足條件,則執(zhí)行`command1`到`commandN`這些命令,執(zhí)行完以后再判斷`condition`是否滿足,如果滿足,則繼續(xù)執(zhí)行`command1`到`commandN`這些命令,否則循環(huán)結(jié)束。
除了上述基本語法外,while循環(huán)還可以使用一些參數(shù)來控制循環(huán)的行為,下面我們就來。
1. -n參數(shù)
在默認(rèn)情況下,while循環(huán)會(huì)在每次執(zhí)行完`command1`到`commandN`這些命令以后輸出一個(gè)換行符,但是如果我們希望不輸出換行符,可以使用`-n`參數(shù)。
例如,下面的命令會(huì)輸出一行數(shù)字,但是數(shù)字之間不會(huì)有換行符:
“`
i=1
while [ $i -le 10 ]
do
echo -n “$i “
let i++
done
“`
輸出結(jié)果為:
“`
1 2 3 4 5 6 7 8 9 10
“`
2. -r參數(shù)
在默認(rèn)情況下,while循環(huán)會(huì)將`\`字符視為轉(zhuǎn)義字符,如果我們想要將`\`當(dāng)作普通字符來處理,可以使用`-r`參數(shù)。
例如,下面的命令會(huì)輸出一行字符串,并將`\`當(dāng)作普通字符來處理:
“`
str=”hello\\world”
while [ -n “$str” ]
do
echo “$str”
str=${str#*\\}
done
“`
輸出結(jié)果為:
“`
hello\world
world
“`
3. -t參數(shù)
在默認(rèn)情況下,while循環(huán)會(huì)一直等待用戶輸入,直到用戶按下`Enter`鍵,但是如果我們希望在等待一段時(shí)間后自動(dòng)退出循環(huán),可以使用`-t`參數(shù)。
例如,下面的命令會(huì)等待3秒鐘,如果用戶沒有輸入任何內(nèi)容,就會(huì)自動(dòng)退出循環(huán):
“`
while read -t 3 line
do
echo “Input is: $line”
done
“`
4. -u參數(shù)
在默認(rèn)情況下,while循環(huán)從標(biāo)準(zhǔn)輸入中讀取數(shù)據(jù),但是如果我們希望從特定的文件中讀取數(shù)據(jù),可以使用`-u`參數(shù)。
例如,下面的命令會(huì)從`/etc/passwd`文件中讀取每一行數(shù)據(jù),并輸出其中的用戶名:
“`
while read -u 3 line
do
username=$(echo $line | cut -d ‘:’ -f1)
echo “Username is: $username”
done 3
“`
5. -p參數(shù)
如果我們希望在用戶輸入數(shù)據(jù)之前先輸出一些提示信息,可以使用`-p`參數(shù)。
例如,下面的命令會(huì)先輸出`Enter your name:`提示信息,然后等待用戶輸入姓名,并將其輸出:
“`
while read -p “Enter your name: ” name
do
echo “Hello, $name!”
done
“`
通過上述例子,我們可以深入了解Linux中的while循環(huán)參數(shù),這些參數(shù)可以幫助我們更加靈活地處理各種數(shù)據(jù),提高腳本的執(zhí)行效率和可讀性。同時(shí),我們也應(yīng)該注意,while循環(huán)語句在寫作時(shí)要符合語法規(guī)范,避免出現(xiàn)語法錯(cuò)誤。
相關(guān)問題拓展閱讀:
- 在linux中,count=$#實(shí)現(xiàn)了什么功能?
在linux中,count=$#實(shí)現(xiàn)了什么功能?
之一行:是給count賦值 而$# 的含義是 程鋒螞襲物晌序執(zhí)行的時(shí)候穿進(jìn)去的參數(shù)個(gè)數(shù)
第三行:while的銀兄判斷條件 判斷 參數(shù)個(gè)數(shù)大于0 就執(zhí)行while循環(huán)
第六行:count 自身 -1
程序的作用的是打印程序的輸入?yún)?shù)
之一句是把$#賦值給了count變量,$#是特殊Shell變量,指的是參數(shù)的個(gè)數(shù)。
cmd變量的內(nèi)容是echo命令
第三句是循環(huán),條件是只要count不等于0
第六句是count值減1
程序的意思是:
一直循環(huán),只要參數(shù)個(gè)數(shù)不是0,畝粗陸那迅頃么顯示這個(gè)參數(shù),前面加上一個(gè)$符號(hào)。
即你的參數(shù)是foo的話,那么顯示的就是$foo
eval的意思是運(yùn)行變凳裂量cmd中命令
第1行、假如你的腳本是test.sh,當(dāng)你執(zhí)行./test.sh a b c時(shí)候,你有三個(gè)參數(shù)
$#的值就是參數(shù)的數(shù)量3,相當(dāng)于變量count=3
$0=./test.sh
$1=a
$2=b
$3=c
第3行、只要$count值>0,就進(jìn)行while循環(huán), -gt是great then的意思神拿
調(diào)用變量count的襪困方法:是在前面加$,這里的$count=3
第6行、count=$((count-1)) 每循環(huán)一次游好搭count值減1
linux中while循環(huán)參數(shù)的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux中while循環(huán)參數(shù),深入理解Linux中的while循環(huán)參數(shù),在linux中,count=$#實(shí)現(xiàn)了什么功能?的信息別忘了在本站進(jìn)行查找喔。
成都創(chuàng)新互聯(lián)建站主營(yíng):成都網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動(dòng)網(wǎng)站開發(fā)制作等網(wǎng)站服務(wù)。
網(wǎng)站題目:深入理解Linux中的while循環(huán)參數(shù)(linux中while循環(huán)參數(shù))
新聞來源:http://www.dlmjj.cn/article/dhehccd.html


咨詢
建站咨詢
