6.Shell中的循环for、while

for的有限循环结构:根据一个值列表,将其赋值给变量,并重复赋值,以此循环执行命令,直到所有的值都循环一遍。
    for 变量名 in 值列表
    do
        执行命令
    done
        
        例如:
        #!/bin/bash        
        for i in 1 2 3 4    #这个1、2、3、4也可以写成haha、xixi、tc,有几个值就循环几次,每次循环时都相当于赋予变量i本次循环的参数,这个i也可以不参与执行命令
        do
            useradd $i &> /dev/null
        done
        wait        #wait的作用是这个脚本里的所有命令都执行完并且关闭了,才退出这个循环,不加的话,命令一执行完这个脚本就结束了
                    #一般是脚本里有后台进程,并且需要看到后台进程执行完的结果时才使用
                    #wait一般写在脚本的最后

造数工具:
    {起始点..结束点}生成起始点到结束点的所有数字
        for i in {2..4} 这就从2到4执行三次循环,并且这个i的值会每次循环被重新赋值2 3 4这样
        echo {1..15}直接在命令行执行,会把1到15全输出出来,这里面不能写变量,它只识别数字
    
    或者
        for i in $(seq 10)    
            #这样就从1-10循环10次

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

while无限循环
    第一种:
        while 条件测试            #这里的条件测试必须是满足的,才会进行无限循环,比如[ $USER == root ]
        do
            ....
        done
    
    另一种
        while :            #这里的: 就是不看条件,就一直循环下去
        do
            ....
        done
    
    比如:
        while :
        do
            read -p "请输入一个数字" n
            echo $n
        done         
        这样就是一种交互式的脚本了,一直循环
        
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

#for里的do..done中可以套if判断,if也可以套for,while也是同理

——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

中断循环
    exit 执行到这个指令,整个脚本全退出,下面再有命令不会执行了
    break    跳出循环,执行循坏外的命令
    continue    结束本次循环,继续下一次循环
    
    break和continue结束循环可以写在while里和for里
    
    例如:
    x=0
    while :
    do
        read -p "请输入一个正整数" n
        [ $1 -eq 0 ] && break    #是0直接跳出,不是0去执行下面的let
        let x+=n
    done
    echo n
    
    
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值