“ 目录:RHCA+ -> 5 Shell脚本 -> 16 控制语句 ”
脚本默认按顺序执行命令,通过控制语句可以改变执行顺序
控制语句 | 作用 |
shift | 将位置参数向左移一位 |
continue | 中断当前循环,进入下一次循环 |
break | 终止整个循环 |
exit | 终止脚本运行 |
1、shift修改位置参数
[root@wuzuniao ~]# vim 14.sh #每次循环后,都将位置参数向左移,达到使用一个位置参数输出所有输入参数的目的
#!/bin/bash
for i in $@ #通过$@将位置参数依次传给变量i,赋值几次就循环几次
do
echo $1 #每次都输出位置为$1的值
shift #执行此语句时,会将位置参数整体向左移,也就是$1参数会被删除,$2的值赋给$1,$3的值赋给$2,依次类推
done
[root@wuzuniao ~]# bash 14.sh 1 2 3 #执行脚本传三个参数验证
1
2
3
[root@wuzuniao ~]#
2、流程控制
[root@wuzuniao ~]# vim 15.sh #运行多个流程控制语句体现其作用
#!/bin/bash
for i in {1..5} #依此附5个值给变量i
do
case $i in
2)
continue #当变量i值为2时,退出当前循环,进入下一个循环;也就是当前循环到此为止,2不会被echo输出
;;
4)
break #当变量i值为4时,退出整个循环;也就是4及之后的值都不会输出
;;
esac
echo $i;
done
sleep 2 #等待2秒再往下执行命令
exit #退出整个脚本,到此为止,后面命令都不会执行
echo "exit退出脚本执行了,我输出不了"
[root@wuzuniao ~]# bash 15.sh #执行脚本
1
3
[root@wuzuniao ~]#