Linux shell break、continue、exit、return的用法 及exit、return的区别

时间:2022-04-18 08:49:02
for ((i=1;i<5;i++ ))
do
if [ $i -eq 3 ]
then
# break
# continue
# exit
fi
echo $i
done
echo OK
输出的结果
break的结果
1
2
OK
continue的结果
1
2
4
OK
exit的结果
1
2

上面的脚本可以看出:

break 表示跳出整个循环。

continue 表示跳出本次循环,继续下一次循环。

exit 退出shell程序,并返回n值。

return 表示函数返回值 (注意return命令不能直接用在脚本的主程序里) 

#!/bin/bash
dir=/root/shell

grep -e '^ .*cp ' -e '^cp' $dir/* >Cp_Check.txt

if [ ! -s Cp_Check.txt ]
then
return 0
fi

 直接执行脚本是会报错的

    return: can only`return' from a function or sourced script

   当前用source或.(点)执行。

return 与 exit的区别:

1、exit用于在程序运行的过程中随时结束程序,exit的参数是返回给OS的。exit是结束一个进程,它将删除进程使用的内存空间,同时把错误信息返回父进程。而return是返回函数值并退出函数

2、return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。