Linux 之 shell script -- loop(不定循环)

0. 循环(loop)

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

1. while do done

1.1 认识 while do done

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

  • while do done 语法结构:
    while ... do ... done

1.2 while do done 实战

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

  • shell 撰写要求:
    -- 要让使用者输入yes 或 YES 才结束程序的执行,否则就一直告知用户输入字符串
    -- 使用 while do done 语法
    -- shell 命名 yes_to_stop.sh

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不成立,便持续循环得执行程序段

  • Until do done语法结构:
    unil ... do ...done

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"
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,449评论 0 10
  • 时光荏苒,不知不觉间,光阴悄悄从我们指尖轻轻拂过。岁月匆匆,流年已逝,曾经华丽的光景,如今却是沧桑一片。一一摘自网...
    且行且珍惜知足常乐阅读 790评论 13 13
  • 图表-三分钟学会做Vlookup动态图表 学习做动态图表原因:在实际工作中,更适合做数据展示 1生成辅助列:数据-...
    四队_凌乱_文职_贵阳阅读 220评论 0 0
  • 今天五点多就醒了,睡得很舒服,不过最后感觉是冷醒的,确实是如人们所说,是阴冷阴冷的,外面比屋里暖和,坐车去石林...
    眼神犀利的猫阅读 279评论 0 0