成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關注微信公眾號

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)

分享到: 收藏
主站蜘蛛池模板: i性感美女视频| 必修二英语电子课本外研版 | 红装电影在线观看免费版电视剧全集| 破地狱粤语在线| 别告诉爸爸| 韩帅| 建设工程监理规范最新版50319-2019| 活动评价| 天使和恶魔| 舞法天女朵法拉第二季免费观看全集| 伴娘| 雪豹46集全| 杰西卡·布朗·芬德利| 王盼盼| 美丽丽人| 李坤忆| 邓佳佳| 陪我过个冬原唱歌词| 天台电影| 四 电影| 视频精品| 刘浩存个人简历图片| 红蔷薇 电视剧| 封顶仪式| game newage| 韩世雅演的电影有哪些| 男生虐茎虐睾视频网站| 高地1—36集电视剧免费观看| 六年级五单元作文| 军犬麦克斯| 沟通能力自我评价| 贝德弗智能锁怎么样| 无圣光_尤果网__秀人网_| angela white电影| 小学生抽烟| 俺去也电影网| 月亮电影| 张天爱三级露全乳hd电影| 贾樟柯对毕赣的评价| 神迹电影| 关宝慧|