必須了解的Shell迴圈語句介紹與例項

2021-10-10 06:59:56 字數 2408 閱讀 1688

2 while語句的結構

3 until語句的結構

for  變數名 in 取值列表        

do

命令序列

done

● 使用for迴圈語句時,需要指定乙個變數及可能的取值列表,針對每個不同的取值重複執行相同的命令列,直到 變數值用完退出迴圈。「取值列表」稱為for 語句的執行條件,其中包括多個屬性相同的物件,需要預先指定

例:建立乙個新使用者列表,內容根據人事給定的姓名拼音來認定

[root@localhost~

] # vim users. txt //用做測試的列表檔案

chenye

dengchao

zhangjie

迴圈建立列表裡這些使用者,並給他們這些設定初始密碼,密碼為「123456」

[root@localhost~

]# vim uaddfor. sh //批量新增使用者的指令碼

#!/bin/bash

ulist=$

(cat /root/users. txt)

foruname

in $ulist

doif

[ $uname ==

` grep $uname /etc/passwd | awk -f: 』』 `

]then echo "姓名重複"

fiuseradd $uname

echo "123456"

| passwd --stdin $uname

&>

/dev/

null

done

[root@localhost~

] # chmod +x uaddfor. sh

[root@localhost~

] # .

/uaddfor. sh //測試並確認執行結果

while 條件測試操作    

do

命令序列

done

● for迴圈語句非常適用於列表物件無規律,且列表**已固定(如果個列表檔案)的場合。而對於要求控制迴圈次 數、操作物件按數字順序編號、按特定條件執行重複操作等情況,則更適合使用另外一種迴圈-while 語句。

例:若要新增20個使用者,名稱依次為stul、 stu2、… stu20

[root@localhost~

]# vim uaddwhile. sh

#!/bin/bashi=1

while

[ $i -le 20

]//控制迴圈條件

do//重複迴圈執行的操作

uname=

" stu$i "

if[ $uname ==

`grep $uname /etc/ passwd | awk -f: 』』 `

]then echo"姓名重複"

fiuseradd $uname

echo 123456

| passwd --stdin $uname &

>

/dev/

null

let i++

done

[root@localhost~

]# chmod +x uaddwhile. sh

[root@localhost~

]# .

/uaddwhile. sh

until  條件測試操作

do

命令序列

done

● until迴圈與while迴圈類似,while迴圈能實現的指令碼until 同樣也可以實現,但區別是while 迴圈在條件為真是繼續執行迴圈,而until 則是在條件為假時執行迴圈。

例:計算從1到50的和,從1開始相加,採用迴圈的方式,每次迴圈後加1,將得到的值加入計算的和中數字運算採用的是let方式,直到加到50為止

[ root@localhost ]# vim sum1to50_until_ v1. sh

#!/bin/ bashi=0

s=0until [ $i -eq 50]do

let" i=$i+1 "

;let

" s=$s+$i "

done

echo』 sum(1.

.50)

=』$s

[root@localhost~

]# chmod +x sum1to50_until_vl.sh

[root@localhost~

]# .

/ sumlto50_ until_ v1.sh

sum(

1..50)=

1275

shell迴圈語句

一般的迴圈結構 for 變數名 in 列表 do 迴圈體done 迴圈執行機制 依次將列表中的元素賦值給變數名,每次賦值後執行一次迴圈體,直到列表中的元素耗盡,迴圈結束 一般的迴圈結構 while condition do 迴圈體done condition 迴圈控制條件 進入迴圈之前,先做一次判 ...

shell 迴圈語句

1 shell中的迴圈語句 迴圈語句,主要是為了簡化重複動作 在運維方面主要用於重複某項動作,例如批量建立使用者,在shell中主要有兩種 while迴圈 與 for 迴圈。1 while迴圈 while 迴圈主要用於無限次的迴圈情況,例如登入認證,你不知道多少次可以登入成功,當然可以認為限制登入次...

shell程式設計 迴圈語句

while語句 while語句格式 while 表示式 do command command done while 和 if 的條件表示式完全相同,也是 或commad或test while 表示式 if 表示式 表示式值為0,則迴圈繼續 表示式值為0,then 表示式值為非0,則迴圈停止 表示式值...