博客
关于我
Linux运维实例 shell脚本的循环语句书写
阅读量:338 次
发布时间:2019-03-04

本文共 1000 字,大约阅读时间需要 3 分钟。

shell脚本循环语句详解

循环语句是shell脚本中用于重复执行操作的重要工具,常用的有for、while和until三种循环结构。理解并掌握这些循环语句的使用方法,对于编写高效的shell脚本尤为重要。

一、for循环

for循环适用于已知项的逐一处理,常用于遍历取值列表。其基本格式如下:

for variable in list_of_valuesdo    # 执行命令done

其中,variable是迭代变量,list_of_values是取值列表。示例:

for i in {1..10}do    echo $idone

此外,取值范围可以通过以下方式定义:

  • 使用{1…10}表示从1到10的连续整数。
  • 使用{1…10…2}表示从1开始,每隔2递增一次,直到不大于10。
  • 使用$(seq 1 10)生成从1到10的序列,$(seq 1 2 10)则是每隔2递增一次。
  • 使用for ((i=1; i<=10; i++))通过条件控制迭代,i++为自增操作。
  • 二、while循环

    while循环根据条件判断是否重复执行命令,格式如下:

    while conditiondo    # 执行命令done

    其中,condition是需要测试的布尔表达式。注意在脚本末尾始终要有done命令。while循环的特点是执行次数不确定,具体取决于条件是否为真。示例:

    while [ -f /path/to/file ]do    echo "文件存在"done

    可以使用break命令跳出循环,break 2可跳出双层循环。

    三、until循环

    until循环与while循环相反,执行命令直到条件不成立。格式为:

    until conditiondo    # 执行命令done

    示例:

    until [ ! -f /path/to/file ]do    echo "文件不存在"done

    与while循环类似,可以使用break中止循环。

    四、continue命令

    continue命令用于暂停当前循环体,继续执行下一个循环。在forwhileuntil循环中都可以使用。示例:

    for i in {1..10}do    if [ $i -gt 5 ]; then        continue    fi    echo $idone

    continue不会终止脚本,只是跳过当前循环体。

    转载地址:http://fmue.baihongyu.com/

    你可能感兴趣的文章
    Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
    查看>>
    Nginx配置实例-负载均衡实例:平均访问多台服务器
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
    查看>>
    Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
    查看>>
    NIFI大数据进阶_离线同步MySql数据到HDFS_02_实际操作_splitjson处理器_puthdfs处理器_querydatabasetable处理器---大数据之Nifi工作笔记0030
    查看>>
    NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
    查看>>
    NIFI汉化_替换logo_二次开发_Idea编译NIFI最新源码_详细过程记录_全解析_Maven编译NIFI避坑指南001---大数据之Nifi工作笔记0068
    查看>>
    NIFI集群_内存溢出_CPU占用100%修复_GC overhead limit exceeded_NIFI: out of memory error ---大数据之Nifi工作笔记0017
    查看>>
    NIH发布包含10600张CT图像数据库 为AI算法测试铺路
    查看>>
    NIO ByteBuffer实现原理
    查看>>
    Nio ByteBuffer组件读写指针切换原理与常用方法
    查看>>
    NIO Selector实现原理
    查看>>
    nio 中channel和buffer的基本使用
    查看>>
    NIO基于UDP协议的网络编程
    查看>>
    NISP一级,NISP二级报考说明,零基础入门到精通,收藏这篇就够了
    查看>>
    Nitrux 3.8 发布!性能全面提升,带来非凡体验
    查看>>
    NI笔试——大数加法
    查看>>
    NLog 自定义字段 写入 oracle
    查看>>
    NLP 基于kashgari和BERT实现中文命名实体识别(NER)
    查看>>