shell中的break和exit的区别

来源:互联网 发布:网络上的eve是什么意思 编辑:程序博客网 时间:2024/06/05 13:28
 shell中的break和exit的区别 

分类:

先单独看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
原创粉丝点击