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 變數的宣告和初始化 迴圈條件 變數的改變方向 執行邏輯...