zoukankan      html  css  js  c++  java
  • Linux中while循环的用法笔记

    640?wx_fmt=png

    Shell中可以采用while循环来实现需要进行循环的操作。

    语法结构如下:

    while exp

    do

    command

    done

    执行过程:while将测试exp的返回值,如果返回值为true则执行循环体的命令,返回值为false则不执行循环。循环完成后会进入下一次循环之前将再次测试。

    如果已知循环次数,可以用计数的方式控制循环,在达到规定的循环次数后退出循环。

    示例:

    #同时计算1到100和以及1到100的奇数和

    #脚本内容如下:

    sum1=0

    sum2=0

    i=1

    j=1

    while [[ "$i" -le "100" ]]

    do

    let "sum1+=i"

    let "j=i%2"

    if [[ $j -ne 0 ]];then

    let "sum+=i"

    fi

    done

    echo "$sum1"

    echo "$sum2"

    输出结果:

    5050

    2500

    示例2使用while命令按行读取文件(实用)

    cat data.txt

    内容如下:

    小明 30

    小张 25

    小丽 28

    #脚本内容如下:

    #!/bin/bash

    while read Line

    do

    Name=`echo $Line' | awk '{print $1}'`

    Sex=`echo $Line' | awk '{print $2}'`

    Age=`echo $Line' | awk '{print $3}'`

    echo "我的名字是 $Name ,性别 $Sex 年龄 $Age "

    done < data.txt

    或者

    #!/bin/bash

    cat data.txt | while read Line

    do

    Name=`echo $Line' | awk '{print $1}'`

    Sex=`echo $Line' | awk '{print $2}'`

    Age=`echo $Line' | awk '{print $3}'`

    echo "我的名字是 $Name ,性别 $Sex 年龄 $Age "

    done

    输出结果:

    我的名字是小明,性别男,年龄30

    我的名字是小张,性别男,年龄25

    我的名字是小丽,性别女,年龄28


  • 相关阅读:
    次小生成树(SST)
    传纸条(scrip)
    动态规划练习5
    动态规划练习4
    整数的lqp拆分
    [HNOI2002]跳蚤
    BZOJ1803: Spoj1487 Query on a tree III
    51nod-1526: 分配笔名
    51nod-1615: 跳跃的杰克
    BZOJ2588: Spoj 10628. Count on a tree
  • 原文地址:https://www.cnblogs.com/hgmyz/p/12351196.html
Copyright © 2011-2022 走看看