一、for循環
1.格式
for var in con1 con2 con3...
do
程序段
done
以上面的例子來說,這個$var的變量內容在循環工作時:
- 第一次循環時,$var的內容爲con1 ;
- 第二次循環時,$var的內容爲con2 ;
- 第三次循環時,$var的內容爲con3 ;
2.舉例
2.1 逐個打印
#!/bin/bash
for var in 1 2 3 4 5
do
echo ${var}
done
運行:
[jingkong@muguangjingkong ~]$ sh test.sh
1
2
3
4
5
2.2 十以內整數和
#!/bin/bash
num=10
s=0
for ((i=0;i<$[num];i=i+1))
do
s=$((${s}+${i}))
done
echo ${s}
運行:
[jingkong@muguangjingkong ~]$ sh test.sh
45
二、while循環
1.不定循環最常見的兩種表達
while do done, until do done (不定循環)
一般來說 ,不定循環最常見的就是底下這兩種狀態了:
while [condition] <==中括號內的狀態就是判斷式
do <==do是循環的開始!
程序段落
done <==done是循環的結束
while的中文是當…時,所以,這種方式說的是當condition條件成立時,就進行循環,直到condition的條件不成立才停止
的意思。
還有另外一種不定循環的方式:
until [condition]
do
程序段落
done
這種方式怡恰與while相反,它說的是當condition條件成立時,就終止循環,否則就持續進行循環的程序段。
以while來做個簡單的練習。假設要讓使用者輸入yes或者是YES才結束程序的執行,否則就一直進行告知用戶輸入字符串。
2.while實現逐行讀取
while read line
從文件或命令中逐行讀取
cat file|while read line
do
echo $line
done
或
cat `ls ./*.txt`| while read line
do
echo $line
done