shell 循环
什么是循环?
> 循环可以不断的执行某个程序段落,直到用户设定的条件达成为止。(这是我看到过的最好的解析)
所以,重点是那个【条件的达成】是什么。除了依据判断达成与否的不定循环之外,还有另外一种已经固定要跑多少次的循环形态,可称为固定循环的形态
while do done
while [ 判断式 ] #中括号内的状态就是判断式, 当条件成立时,就进行循环,直到条件不成立才停止
do # do 是循环的开始
# 程序段落
done # done 是循环的结束
while do done 示例
while [ "${yn}" != "yes" -a "${yn}" != "YES" ]
do
read -p "Plase input yes/YES to stop this program:" yn
done
echo "Ok! you input the correct answer"
until do done
until [ 判断式 ] #中括号内的状态就是判断式, 当条件成立时,就终止循环,否则就持续进行循环的程序段
do # do 是循环的开始
# 程序段落
done # done 是循环的结束
until do done 示例
while [ "${yn}" == "hello" -o "${yn}" == "HELLO" ]
do
read -p "Plase input yes/YES to stop this program:" yn
done
echo "Ok! you input the correct answer"
for...do...done(固定循环)
语法
for i in arg1 arg2 arg3
do
代码段
done
for...do.done 示例
for i in dog cat elephant
do
echo "there are ${i}"
done
for...do...done 示例
for i in $(seq 1 10) # seq为sequence(连续)的缩写之意,从1开始循环到10
do
echo "there are ${i}"
done
for...do...done 第二种写法语法
for((初始值; 限制值; 步数))
do
代码段
done
for...do...done 第二种写法示例
s=0
for ((i=0; i<100; i++))
do
s=$((${s}+${i}))
done

浙公网安备 33010602011771号