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