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是系统调用级别的,它表示了一个进程的结束。