Shell学习笔记(10)-流程控制之while语句

while循环

    while语法规则
    while 条件测试
    do
        命令区域
    done


    示例1:
    #! /bin/Bash

    declare -i i=1
    declare -i sum=0

    while ((i<=10))
    do
        let sum+=i
        let ++i
    done

    echo $sum

    示例2:
    #!/bin/sh

    while read line
    do
        echo $line
    done < /etc/passwd
    解释:把/etc/passwd的内容转向输入,交给read读取,存入变量line中,不为空,显示出来,继续同样的操作至文件尾。

    示例3:
    #! /bin/Bash
    IFS=':'
    while read f1 f2 f3 f4 f5 f6 f7
    do
        echo "帐号: $f1,login shell是:$f7"
    done < "/etc/passwd"

    示例4:
    #! /bin/Bash
    
    IFS=':'

    cat /etc/passwd | {
        while read f1 f2 f3 f4 f5 f6 f7
        do
            echo "帐号: $f1,login shell是: $f7"
        done
    }
    解释:把/etc/passwd的内容,通过管道丢给{}的指令组,传给行7的read由标准输入读取取数据,然后在循环中处理各个字段.

    while无穷循环
    while ((1))
    do
        echo '夜不眠'
    done

    while [1]
    do
        echo '夜不眠'
    done

    while true
    do
        echo '夜不眠'
    done

    while :
    do
        echo '夜不眠'
    done

    键入Ctrl-C,可中止循环.

你可能感兴趣的:(Shell学习笔记(10)-流程控制之while语句)