影响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位,直至移动到最后一位停止。