shell内置命令break coninute shift

2020-03-14  本文已影响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位,直至移动到最后一位停止。

上一篇下一篇

猜你喜欢

热点阅读