Linux学习之路生物信息学与算法Shell

Linux 之 shell script -- loop(不定循

2019-08-26  本文已影响0人  熊猫人和熊猫猫

0. 循环(loop)

今天,终于学习到循环啦~什么是循环?
循环 可以不断的执行某个程序段落,直到用户设定的条件达成为止。
而根据循环的次数是否固定,又可以分为不定循环和固定循环,这篇文章里学习while do doneuntil do done 两种不定循环。

1. while do done

1.1 认识 while do done

while do done 功能直译就是:
当condition条件成立时,就进行循环,直到condition的条件不成立才停止

1.2 while do done 实战

~~还是通过一些实例来理解吧~~

vi yes_to_stop.sh 输入如下代码:

#!/bin/bash
while [ "${input}" != "YES" -a "${input}" != "yes" ] # -a指 and
do
    read -p "Please input "YES" or “yes” to stop this program:" input
done
echo "OK! you input the correct answer."

2. Until do done

2.1 认识 Until do done

Until do done 功能直译:
当condition条件成立时,就终止循环,而若condition不成立,便持续循环得执行程序段

2.2 Until do done实战

使用 Until循环写yes_to_stop.sh,命名为yes_to_stop-2.sh
vi yes_to_stop-2.sh 写入如下代码:

#!/bin/bash
until [ "${input}" = "YES" -o "${input}" = "yes" ] # -o指or
do
    read -p "Please input "YES" or "yes" :" input
done
echo "great, you are right"

3.利用循环做数值运算

计算1+2+3 ... +100的总和 ,这里使用while循环
vi cal_1_100.sh 输入如下代码:

#!/bin/bash
s=0 # 这是加总的数值变数
i=0 # 这是累计的数值,亦即是 1,2,3 ...
while [ "${i}" != "100" ]
do
    i=$(($i+1)) #每次i都会增加1
    s=$(($s+$i)) #每次都会加总一次
done
echo "The result of '1+2+3+...+100' is ==> $s"
上一篇 下一篇

猜你喜欢

热点阅读