美文网首页Linux学习之路生物信息学与算法Shell
Linux 之 shell script -- loop(不定循

Linux 之 shell script -- loop(不定循

作者: 熊猫人和熊猫猫 | 来源:发表于2019-08-26 23:05 被阅读0次

    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"
    

    相关文章

      网友评论

        本文标题:Linux 之 shell script -- loop(不定循

        本文链接:https://www.haomeiwen.com/subject/iedasctx.html