shell脚本流程控制语句
2021-06-30 本文已影响0人
天生顽皮
1.流程控制语句
exit 退出整个脚本
break 跳出循环继续往下执行
continue 跳出本次循环 继续下一次循环
1.1遇到exit退出整个脚本
[root@shell ~]# cat exit.sh #遇到exit退出整个脚本
#!/bin/sh
while true
do
echo hehe1
exit
echo hehe2
done
echo hehe3...................
[root@shell ~]# sh exit.sh
hehe1
案例exit退出脚本
[root@shell ~]# cat exit.sh
#!/bin/sh
for i in `seq 10`
do
user=oldboy$i
id $user &>/dev/null
if [ $? -eq 0 ];then
exit
else
useradd $user
[ $? -eq 0 ] && echo "$user 创建成功"
fi
done
[root@shell ~]# sh break.sh
oldboy1 创建成功
oldboy2 创建成功
oldboy3 创建成功
oldboy4 创建成功
1.2# 忽略剩余的代码 从头继续循环
[root@shell ~]# cat continue.sh # 忽略剩余的代码 从头继续循环
#!/bin/sh
while true
do
echo hehe1
continue
echo hehe2
done
echo hehe3...................
案例 break
[root@shell ~]# cat break.sh
#!/bin/sh
for i in `seq 10`
do
user=oldboy$i
id $user &>/dev/null
if [ $? -eq 0 ];then
break
else
useradd $user
[ $? -eq 0 ] && echo "$user 创建成功"
fi
done
echo done......................
[root@shell ~]# sh break.sh
oldboy1 创建成功
oldboy2 创建成功
oldboy3 创建成功
oldboy4 创建成功
done......................
1.3# 跳出本层循环 继续往下执行
[root@shell ~]# cat break.sh # 跳出本层循环 继续往下执行
#!/bin/sh
while true
do
echo hehe1
break
echo hehe2
done
echo hehe3...................
[root@shell ~]# sh break.sh
hehe1
hehe3...................
案例continue
[root@shell ~]# cat break.sh
#!/bin/sh
for i in `seq 10`
do
user=oldboy$i
id $user &>/dev/null
if [ $? -eq 0 ];then
continue
else
useradd $user
[ $? -eq 0 ] && echo "$user 创建成功"
fi
done
echo done......................
[root@shell ~]# sh break.sh
oldboy1 创建成功
oldboy2 创建成功
oldboy3 创建成功
oldboy4 创建成功
oldboy6 创建成功
oldboy7 创建成功
oldboy8 创建成功
oldboy9 创建成功
oldboy10 创建成功
done......................