• 流程控制语句


    for循环

    1. 通过列表循环

    a)直接列出列表

    for i in 1 2 4 d k ; f o f 
    do
        echo $i
    done

     b)连续序列的列表

    for i in {1..3} {6..9} {a..z}
    do
        echo $i
    done

    或者可以指定间隔:{1..10..2},将会间隔为2从1到10进行输出,期望结果得到的全是奇数。

     2. 通过其他命令的输出

    通过使用反逗点 `` 将命令括起来,其中命令的输出将会以空白字符拆分成列表,供for循环进行使用。

    #cat 输出文件中的内容
    for i in `cat 123.txt`
    do
        echo $i
    done

    也可以通过$()将命令括起来

    for i in $(seq 0 2 10)
    do
        echo $i
    done

    常见的用于循环中的命令有:

    ls:列出文件
    find:查找文件
    seq:输出数值序列

    如下也可以达到使用ls作为命令的效果,相当于ls *,也可以使用 /bins/*,相当于ls /bins/*

    for i in *
    do
        echo $i
    done

     3. 使用C形式的for循环

    使用C形式的for循环,需要使用双小括号

    for ((i=1;i<1024;i*=2))
    do
        echo $i
    done

    while循环

    1. 基本形式是

    while condition_statament
    do
         statament
    done

    类似于if语句,其中condition_statament执行后的状态是循环结束判断的依据。

    2. 命令语句(一般为test,其他的也可以,根据语句执行完的状态判断是否继续循环)

    i=1
    while test $i -lt 10
    do
        echo $i
        i=$((i+1))
    done

    test语句等同于[]

    i=1
    while [ $i -lt 10 ]
    do
        echo $i
        i=$((i+1))
    done

    3. 内置的双中括号命令

    同样相当于一个语句,比test中的逻辑运算更方便一些。参考

    4. 双小括号

    declare -i i=1
    while ((i<10))
    do
        echo $i
        let ++i
    done

     5. 读取文件

    # 读取test.sh文件
    while read line
    do
        echo ${line}
    done < test.sh

     untile循环:同while形式,不同点在于条件是执行成功时停止循环

  • 相关阅读:
    JQuery基础知识--方便忘记时查看
    关于jquery.validate.js的用法
    JQuery ajax提交表单及表单验证
    thinkphp rabc权限总结
    关于jquery ajax项目总结
    中国剩余定理及其拓展 CRT&EXGCD
    bzoj 4899 记忆的轮廓 题解(概率dp+决策单调性优化)
    bzoj3307 雨天的尾巴题解及改题过程(线段树合并+lca+树上差分)
    20190614考试心态爆炸记
    fhq Treap(无旋Treap)
  • 原文地址:https://www.cnblogs.com/qiusuo/p/5581540.html
Copyright © 2020-2023  润新知