for迴圈與while迴圈

2021-09-20 16:18:15 字數 2389 閱讀 4309

for迴圈

格式:for 變數名 in 列表

do 命令1 ......

done

當變數值在列表裡, for迴圈即執行一次所有命令,使用變數名訪問列表中取值。命令可為任何有效的 shell命令和語句。變數名為任何單詞。 in列表用法是可選的,如果不用它, for迴圈使用命令列的位置引數。

簡單的for迴圈

迴圈輸出12345

for  loop in 1 2 3 4 5

doecho $loop

done

相對字串來說 變數後邊的賦值也可以是字串,或者是字串和變數的結合

比如:echo "this is $loop"

或者在執行命令中輸出ls的結果

比如:for loop in `ls`

do echo $loop

done

對for迴圈使用引數

在for迴圈中省去 in列表選項時,它將接受命令行位置引數作為引數。實際上即指明:

forparams in"$@"

params in"$*"

for params

doecho this is test $params 

done

在執行指令碼時,後邊直接傳入引數 進行輸出即可

比如在迴圈中使用find命令 進行查詢

for loop

doecho find / -name $loop -print

done

使用for進行連線

hosts=172.16.8.44

for loop in $hosts

doping -c 2 $loop

done

迴圈計數

count=0

for files in *

do count=`expr $count + 1`

done

echo "there is $count files in `pwd`"

for迴圈和本地文件

在f o r迴圈體中可使用任意命令。下面的例子中,乙個變數包含所有當前登入使用者。使用who命令並結合 awk語言可實現此功能。然後 for迴圈迴圈每一使用者,給其傳送乙個郵件,郵件資訊部分用乙個本地文件完成.

whos_on=`who -u | awk `

for user in $whos_on

domail $user << mayday

hello,dear!

do you see this email!

mayday

$logname

done

for迴圈嵌入

嵌入迴圈可以將乙個 for迴圈嵌在另乙個 for迴圈內:

for 變數名1 in 列表1   

dofor 變數名2   i n 列表2   

do命令1...

done

done

for file in `ls`

dofor dir in `find $file -type d `

donumber=`find $dir -type d | wc -l`

echo "there is $number directories in `pwd` ,they are $dir"

done

done

while迴圈

while迴圈用於不斷執行一系列命令,也用於從輸入檔案中讀取資料,其格式為:

while 命令

do命令1

命令2...

done

雖然通常只使用乙個命令,但在 while和do之間可以放幾個命令。命令通常用作測試條件。

只有當命令的退出狀態為0時,do和done之間命令才被執行,如果退出狀態不是0,則迴圈終止。

命令執行完畢,控制返回迴圈頂部,從頭開始直至測試條件為假。

簡單的while迴圈

count=0

while [ $count lt 5 ]

docount=`expr $count + 1`

echo $count

done

使用while迴圈讀鍵盤輸入

echo "type to terminate"

echo -n "please input anykey: "

while read key

doecho "yes, this is my input: $key"

done

用while迴圈從檔案中讀取資料。可以用乙個變數儲存每行資料,當不再有讀取資料時條件為真。 

while迴圈使用輸入重定向以保證從檔案中讀取資料。注意整行資料被設定為單變數 $line。

while read line

doecho $line

done < name.txt

laihuadongcto

while迴圈與for迴圈

只要給定的條件為真,while 迴圈語句會重複執行乙個目標語句。語法c 中 while 迴圈的語法 while condition 在這裡,statement s 可以是乙個單獨的語句,也可以是幾個語句組成的 塊。condition 可以是任意的表示式,當為任意非零值時都為真。當條件為真時執行迴圈。...

for迴圈與while迴圈

今天在寫線性表的鏈式儲存過程中,遇到了乙個比較奇葩的問題,就是同一段程式,用for迴圈可以順利執行,然而用while迴圈就提醒我 結點空間申請失敗!考慮了一上午都沒有頭緒。記錄下這個問題,日後繼續 下面是用for迴圈實現單鏈表的建立 尾插法建立帶頭結點的單鏈表 listnode creatlistl...

for迴圈 while迴圈

迴圈結構 當重複執行相同的 或者是相似的 時。迴圈三要素 1 迴圈變數的宣告 用於控制迴圈次數的迴圈因子 2 迴圈條件 用於判斷是否執行相同或相似內容 迴圈體 的條件 3 迴圈變數的改變方向 向著迴圈結束的方向改變。1 for迴圈 語法 for 變數的宣告和初始化 迴圈條件 變數的改變方向 執行邏輯...