亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

Shell常見知識(4)
2007-03-09   ChinaITLab

一. while 循環

while 命令格式

while 條件表

do

命令表

done

執行過程

Shell首先執行條件表,如果條件表的最后一條語句的退出狀態為零,則執行盾環體內的命令表,執行完后,再檢查條件表,如果退出狀態為零將繼續執行,如此循環往復直到條件表的最后一條語句的退出狀態非零. 退出狀態為零就是條件為真True.

舉例說明 假如shell文件的內容如下:

Sum=0

i=0

while true #true是系統的關鍵詞 表示真

do

i=`expr $i + 1`

Sum=`expr $Sum + $i`

if [ $i = "100" ]

then

break;

fi

done

echo $i $Sum

最后這個程序顯示的是 100 5050

這個程序的運算就是將1到100加起來

下面將這個程序再改動一下

Sum=0

i=0

while [ $i != "100" ]

do

i=`expr $i + 1`

Sum=`expr $Sum + $i`

done

echo $i $Sum

改動后的程序運算結果和上面是一樣 但程序比上面的要簡練

在這個循環中還可以以until做為測試條件 它正好與while測試的條件相反,也就是當條件為假時將繼續執行循環體內的語句,否則就退出循環體,下面還用這個例子.

Sum=0

i=0

until [ $i = "100" ]

do

i=`expr $i + 1`

Sum=`expr $Sum + $i`

done

echo $i $Sum

當i不等于100時循環 就是當條件為假時循環,否則就退出,而第一個例子是當i不等于100

時循環,也就是測試條件為真時循環.

二.for 循環

命令格式:

for 變量 in 名字列表

do

命令列表

done

這里的名字列表是一個由空格分隔的字符串列表,shell在執行for循環時每次依次從名字表中取出一個字符串賦給循環變量作為變量的值.

在寫for語句時,也可以省略in 名字列表部分,這表示用當前的位置參數來代替這時的名字列表.

面舉個例子,比如在你的電腦中有兩個目錄,一個是aa,一個是bb在這兩個目錄中有5個相同的文件,但其中一個目錄中的一個或多個文件剛剛修改過,現在我忘記剛才改的是那幾個文件 了,那么我靠已知的序碼查找。

程序如下:

for File in a1 a2 a3 a4 a5

do

diff aa/$File bb/$File

done

下面再舉一個不帶名字列表的例子

for File

do

echo $Filw

done

文件內容保存在a.sh中 并可執行

我們在執行這個shell程序時命令行如下:

a.sh a1 a2 a3 a4 a5

執行結果如下:

a1

a2

a3

a4

a5

大家從這個例子中可以看到命令行的參數被逐一讀入一次

三.循環控制語句

break 命令不執行當前循環體內break下面的語句從當前循環退出.

continue 命令是程序在本循體內忽略下面的語句,從循環頭開始執行.


熱詞搜索:

上一篇:Shell常見知識(3)
下一篇:Shell技巧匯總(1)

分享到: 收藏