shell程式設計 迴圈執行

2022-02-19 03:59:49 字數 1926 閱讀 6333

我們知道程式無非三種執行方式——順序、條件、迴圈。順序就是一條一條的執行,是一馬平川;條件就是個十字路口,根據條件決定自己的走向;迴圈就是笨驢拉磨,一圈一圈的走,知道達到條件終止。現在集中shell中的迴圈執行。

存在兩個模式:

while do done、until do done模式

基本語法:

##while

dodone

不滿足條件時會終止迴圈

while

[ 條件表示式 ]

do條件滿足時可執行的命令

done

##until

dodone

滿足條件是會終止迴圈

until

[ 條件表示式 ]

do條件不滿足時可執行的命令

done

例子:求1--100之和

#!bin/bash

sum=0

i=1while [ "

$i" -le "

100"]do

sum=$(($sum +$i))

i=$(($i+1

))done

echo

"sum(1-100):

" $sum

#!bin/bash

sum=0

i=1until [ "

$i" == "

101"]do

sum=$(($sum +$i))

i=$(($i + 1

))done

echo

"sum(1-100):

" $sum

這裡特別強調一下算式最好用這個模式:var=$(($var + 1))

for do done 模式

for

((初始值; 條件; 執行步長))

do程式段

done

例子:還是1--100之和

#!bin/bash

for((i=1; i<=100; i++))

dosum=$(($sum +$i))

i=$(($i + 1

))done

echo

"sum(1--100):

" $sum

注意細節:for((初始值; 條件; 執行步長))裡面的預壓和c語言一樣了,但是一點不同雙括號。

更高階點的模式:

for var in

con1 con2 con3

do程式段

done

例子:列舉出目錄下的所有檔名

#!bin/bash

read -p "

please enter the dir name:

"dirname

list=`ls $dirname

`for

file

in$list

doecho $file

done

注意細節:list=`ls $dirname`,其中的引號不是單引號,是鍵盤1左邊的點號(波浪線下面),它可以使程式執行時優先執行。上面的程式還可以精簡為:

#!bin/bash

read -p "

please enter the dir name:

"dirname

forfile

in `ls $dirname`do

echo $file

done

shell程式設計 for迴圈

列表迴圈 1.已知次數 語法 用花括號定義迴圈次數 for variable in do command command done for variable in a b c do command command done 案例 輸出1到5 for i in doecho idone 列印1到50的...

shell 程式設計 for迴圈

for迴圈和while迴圈類似,但是for主要用於執行次數有限的迴圈,而不是守護程序和無限迴圈。for語常見的語法有兩種,下面是例子 第一種是for為變數取值型,語法如下 for 變數名 in 變數取值列表 do 指令 done或 for 變數名 in 變數取值列表 do 指令done此語法我們稱之...

shell程式設計 迴圈

二 shell迴圈 while until 三 expect for i in do useradd user i done bin bash ping ip.txt 清空記錄文字 for i in do 後台執行 done wait 等待前乙個程式執行完畢。在執行下乙個命令。echo finish...