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
posted @ 2020-09-12 16:59  bibicode  阅读(149)  评论(0)    收藏  举报