• shell编程学习笔记(十一):Shell中的while/until循环


    shell中也可以实现类似java的while循环

    while循环是指满足条件时,进行循环

    示例:

    1 #! /bin/sh
    2 index=10
    3 while [ $index -gt 0 ]
    4 do
    5 index=$((index-1));
    6 echo $index
    7 done

    while循环以whille开始,循环体以do开始,以done结束

    注意第5行的代码,表达式index-1外面添加了$(()),如果不添加$(())的话,会报错,因为这里index是字符串,得到的结果不是9,而是10-1

    第5行的index-1也可以写成--index,这个跟java语言一致。

    我把上面的代码稍做修改:

    #! /bin/sh
    index=0
    while [ $index -gt 0 ]
    do
    index=$((index-1));
    echo $index
    done

    执行这段代码并不会输入任何内容,说明必须满足条件才会执行,不存在循环第1条时必定会执行的情况

    为了运算index-1,上面使用了$(()),不然只会当字符串来处理,当然了,可以使用declare -i index=10直接把index声明为整体:

    #! /bin/sh
    declare -i index=10
    while [ $index -gt 0 ]
    do
    index=index-1;
    echo $index
    done

    declare的参数声明:

    • +/-  "-"可用来指定变量的属性,"+"则是取消变量所设的属性。
    • -f  仅显示函数。
    • r  将变量设置为只读。
    • x  指定的变量会成为环境变量,可供shell以外的程序来使用。
    • i  [设置值]可以是数值,字符串或运算式。

    until循环刚好跟while循环相反,是指不满足条件时,进行循环

    示例:

    #! /bin/sh
    declare -i index=10
    until [ $index -lt 0 ]
    do
    echo $index
    index=index-1;
    done

    以上示例执行时,会从10开始循环输出,输出到0,结束。

  • 相关阅读:
    Java集合 使用Map
    Java集合 编写equals方法
    yiyou本地安装出现版本问题
    网站地图制作
    SEO小爬虫工具文章排版
    知名企业招聘技术员题库
    测试上网速度
    邮件传输协议软件
    JSONP跨域问题
    织梦搬家
  • 原文地址:https://www.cnblogs.com/modou/p/10546063.html
Copyright © 2020-2023  润新知