shell腳本--------while循環(huán)語句

while和for的區(qū)別:
for語句非常適合用于列表對(duì)象無規(guī)律,且列表來源是固定的場(chǎng)合

蒲縣網(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年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。

while對(duì)于要求控制循環(huán)次數(shù)、操作對(duì)象按數(shù)字順序編號(hào),按特定條件執(zhí)行重復(fù)操作。

重復(fù)測(cè)試某個(gè)條件時(shí),只要條件成立就會(huì)反復(fù)執(zhí)行(無限),除非強(qiáng)制終止,或者exit語句退出腳本

格式:
while   條件測(cè)試操作(判斷語句)
do
    命令序列
done

應(yīng)用領(lǐng)域
1、批量添加用戶
#!/bin/bash

U="student"            //名稱
i=1                        //默認(rèn)從一開始
while [ $i -le 10 ]   //循環(huán)十次
do
        useradd $U$i
        echo 123 | passwd --stdin $U$i &> /dev/null     設(shè)置密碼為123并將結(jié)果輸出至黑洞
        let i++                     //依次遞增
done

until [ $i -gt 10 ]
do
        useradd $U$i
        echo 123 | passwd --stdin $U$i &> /dev/null
        let i++
done

在/opt目錄下創(chuàng)建while01.sh
寫入一下腳本
shell腳本--------while循環(huán)語句
完成后保存退出為文件添加執(zhí)行權(quán)限并啟動(dòng)如下圖
shell腳本--------while循環(huán)語句
第一遍運(yùn)行是不會(huì)顯示的我這是第二遍運(yùn)行,第一遍運(yùn)行若為報(bào)錯(cuò)可以cat /etc/passwd查看
shell腳本--------while循環(huán)語句
2.交互式批量創(chuàng)建用戶:

#!/bin/bash
read -p "請(qǐng)輸入要?jiǎng)?chuàng)建用戶的前綴:" X
read -p "請(qǐng)輸入要?jiǎng)?chuàng)建用戶的個(gè)數(shù):" M
read -p "請(qǐng)輸入用戶的初始密碼:" N
i=1
while [ $i -le $M ]      //要?jiǎng)?chuàng)建用戶的個(gè)數(shù)
do
        useradd $X$i
        echo "$N" | passwd --stdin $X$i &> /dev/null    //密碼
        chage -d 0 $X$i     //第一次登陸強(qiáng)制修改密碼
        let i++
done

再創(chuàng)建wheil02.sh輸入一下內(nèi)容
shell腳本--------while循環(huán)語句
保存退出后添加執(zhí)行權(quán)限運(yùn)行
shell腳本--------while循環(huán)語句
到cat /etc/passwd中查看是否創(chuàng)建完成
shell腳本--------while循環(huán)語句
強(qiáng)制修改密碼可以到虛擬機(jī)中嘗試一下如下圖
shell腳本--------while循環(huán)語句
這樣就強(qiáng)制修改了.

3、猜價(jià)格游戲

#!/bin/bash
P=$(($RANDOM%1000))
T=0
echo "商品實(shí)際價(jià)格范圍0~999,請(qǐng)猜猜看是多少?"

while true
do
        read -p "請(qǐng)輸入你猜測(cè)的價(jià)格數(shù)目:" INT
        let T++
        if [ $INT -eq $P ];then
                echo "恭喜答對(duì)了,實(shí)際價(jià)格是$P"
                echo "你總共猜測(cè)了$T次"
                exit 0
        elif [ $INT -gt $P ];then
                echo "太高了"
        else
                echo "太低了"
        fi
done

shell腳本--------while循環(huán)語句

網(wǎng)站標(biāo)題:shell腳本--------while循環(huán)語句
網(wǎng)站網(wǎng)址:http://bm7419.com/article38/jcegpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)建站公司、企業(yè)網(wǎng)站制作虛擬主機(jī)、外貿(mào)建站、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司