shell中的循环
?shell中的循環
for循環
類似于C語言的步長控制
例如:
for ((i=1;i<=10;i++)); do echo $(expr $i \* 4 ); done將1到10,依次乘以4,然后打印出來。
這里順便提一下,shell里面表達式的計算,可以有其他形式:
for ((i=1;i<=10;i++)); do echo $((i * 4)); done for ((i=1;i<=10;i++)); do echo $[i * 4 ]; done?
?
類似于python的迭代序列
比如遍歷一個數組:
a=(1 3 5 7 9 11)for v in ${a[*]}; doecho $v done?
上面這段代碼可以用seq命令簡化:
for i in $(seq 1 2 11) ;do echo $i ;done?
打印出所有小寫字母:
for i in {a..z} ;do echo $i ;done?
遍歷腳本參數:
for i in $* ; doecho $i done?
遍歷當前目錄下所有以.txt結尾的文件:
for f in $(ls *.txt); doecho $f done可以簡化為:
for f in *.txt; doecho $f done?
另外,for...in循環會對字符串按空格分隔進行遍歷:
str="hello world how do you do!"for i in $str; doecho $i ; done?
?
?
while循環
例如, 按行遍歷一個文件:
while read line; do#process line done < file?
?
?
?
轉載于:https://www.cnblogs.com/chenny7/p/3687622.html
總結
- 上一篇: OpenCV笔记(Size)
- 下一篇: unity3d iPhone文件目录介绍