shell中的break和exit的区别

 我来答
匿名用户
2017-08-04
展开全部
先单独看break的例子:
#!/bin/bash
count=0
while [ $count -lt 5 ]
do
if [ ! -s /root/test.sh ];then
echo "test.sh doesn't exist!"
else
echo "test.sh exist!"
break
fi
sleep 3
if [ ! -s /root/kevin.sh ];then
echo "kevin.sh doesn't exist!"
else
echo "kevin.sh exist!"
break
fi
count=`expr $count + 1`
done
这里break, 即跳出while循环, 一旦执行了break, 则不继续检查循环条件,而是直接跳出循环并接着往下执行剩余的脚本内容
另外一个例子比较break和exit:
#!/bin/bash
count=0
i=0
while [ $count -lt 5 ]
do
if [ ! -s /root/test.sh ];then
echo "test.sh doesn't exist!"
else
echo "test.sh exist!"
fi
sleep 3
if [ ! -s /root/kevin.sh ];then
echo "kevin.sh doesn't exist!"
else
echo "kevin.sh exist!"
exit 2 //如果执行到这里的exit 2, 那么脚本就执行退出,不执行下面的sleep 2了。
break //如果没有上面的exit 2, 而是break 则脚本执行到这里会退出该while循环并且继续执行下面的sleep 2 注意这里的区别。
fi
count=`expr $count + 1`
done
while [ $i -lt 3 ]
do
sleep 2
i=`expr $i + 1`
done
qzhao_1
2017-08-04 · TA获得超过2.4万个赞
知道大有可为答主
回答量:2.4万
采纳率:76%
帮助的人:4412万
展开全部
在 UNIX/Linux 系统的 SHELL 编程中,break 只是退出一个循环体而已;而 exit 是退出整个 shell 程序到命令提示符下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-08-04
展开全部
break:
结束并退出循环
exit:
退出脚本,
常带一个整数给系统,如 exit 0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yexicheng
2017-08-04 · TA获得超过1.2万个赞
知道大有可为答主
回答量:8857
采纳率:69%
帮助的人:7083万
展开全部
就目前比较广泛使用的的语言(包括shell)来说,
break广泛指的是跳出上一级循环(for ,while等循环),直接进行下面的语句
exit指的是当前脚本的退出,之后的语句都将得不到执行。

#!/bin/bash

for i in `seq 1 5`
do
if [ $i -le 3 ]
then
echo "$i"
else
break
#exit 0
fi
done

echo "Test finished"

如果是break , 最后将打印 “Test finished”
如果是exit ,将不会打印。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2017-08-04
展开全部
1、如果a.sh只是结束程序,没什么区别 2、如果b.sh调用a.sh脚本,b.sh要根据a.sh执行结果继续任务 exit 0表示成功了 exit 1表示有错误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式