美文网首页
shell内置命令break coninute shift

shell内置命令break coninute shift

作者: 水平号 | 来源:发表于2020-03-14 23:28 被阅读0次

    影响shell程序的内置命令
    :
    true
    false
    exit
    break
    continue
    shift
    ...

    shift 使位置参数向左移动,默认移动1位,可以使用shift2 一次移动2位
    exit 退出整个程序
    break 结束当前循环,或跳出本层循环
    continue 忽略本次循环剩余的代码,直接进行下一次循环

    示例1:break

    #!/usr/bin/bash
    
    for i in {A..D}
    do
            echo -n $i
            for j in {1..9}
            do
                    if [ $j -eq 5 ];then
                            break
                    fi
                    echo -n $j
            done
            echo
    done
    
    #break 跳出循环
    #break 2 跳出二层循环
    #continue 跳出本次循环
    
    

    执行结果

    [root@localhost shell]# bash break.sh
    A1234
    B1234
    C1234
    D1234
    
    

    示例2: continue

    #!/usr/bin/bash
    
    for i in {A..D}
    do
            echo -n $i
            for j in {1..9}
            do
                    if [ $j -eq 5 ];then
                            continue
                    fi
                    echo -n $j
            done
            echo
    done
    
    

    执行结果

    [root@localhost shell]# bash break.sh
    A12346789
    B12346789
    C12346789
    D12346789
    

    示例3:使用for来获取所有位置参数

    #!/usr/bin/bash
    for i
    do
            let sum+=$i
    done
    echo "sum:$sum"
    

    执行结果

    [root@localhost shell]# bash shift.sh 1 2
    sum:3
    

    示例4:使用shift左移方式获取所有位置参数

    #!/usr/bin/bash
    while [ $# -ne  0 ]         # $#获取位置参数个数,当参数小于等于0,停止循环
    do
            let sum+=$1        #sum 值叠加
            shift                     #循环一次,参数向左移1位
    done
    echo "sum: $sum"
    
    #shift使位置变量向左移
    

    执行结果

    [root@localhost shell]# bash shift1.sh 1 2 3
    sum: 6
    

    传3个参数,$#获取位置参数个数,循环条件当参数个数小于等于0时,停止循环,
    循环体内使用shift,每次循环 使位置参数向左移动1位,直至移动到最后一位停止。

    相关文章

      网友评论

          本文标题:shell内置命令break coninute shift

          本文链接:https://www.haomeiwen.com/subject/pefashtx.html