在寫shell腳本時(shí),常常會(huì)用到循環(huán)語句。這里簡單總結(jié)下常用的3種循環(huán)語句,以便以后能快速地參考寫出,廢話不說,開始demo:
1、for
主要用于:在以知序列里遍歷元素
[plain] view plaincopy #! /bin/sh -
if [ $# -ge 1 ]; then path=$@ else path=*.sh fi
for i in $path do ls -lh $i done注意:for循環(huán)的in列表時(shí)可選的,如果省略,shell會(huì)遍歷整個(gè)命令行參數(shù),此時(shí) for i 相當(dāng)于 for i in "$@"
再給一個(gè)for的用法示例:
[plain] view plaincopy #! /bin/sh -
for i in `seq 1 9` do echo $i done注意:for in 可以和 `` 與 $() 合用
再給一個(gè)for的用法示例:
[plain] view plaincopy #! /bin/sh -
for i in {a……z} do echo $i done
注意:for in 的大括號(hào){}具有自動(dòng)補(bǔ)齊功能,大括號(hào)與要補(bǔ)齊的內(nèi)容之間不能有空格,要補(bǔ)齊的內(nèi)容首尾由兩個(gè)……相連,其間不能有空格再給個(gè)for的用法示例:
[plain] view plaincopy #! /bin/sh -
for (( i=1; i<=10; i++ ))
do echo $i done提醒:這個(gè)主要是用了(())
2、while
主要用于:當(dāng)某條件成立時(shí),一直執(zhí)行
[plain] view plaincopy #! /bin/sh -
cnt=9
while [ $cnt -ge 0 ] do echo $((cnt——))
done
注意:1、算術(shù)運(yùn)算,需要放在$(()) 的括號(hào)中
2、對(duì)于變量的算術(shù)運(yùn)算,在$(())中,變量前面不需要$
3、unitl
主要用于:當(dāng)某條件成立時(shí),停止執(zhí)行
[plain] view plaincopy #! /bin/sh -
cnt=9 until [ $cnt -lt 0 ] do echo $cnt cnt=$((cnt - 1))
done
注意:給變量賦值時(shí),前面不要加$
更多信息請(qǐng)查看IT技術(shù)專欄