1. exit和return的区别
1.1 exit 关键字
exit命令是Shell内建命令,用于退出当前Shell进程。
可以指定退出状态n,n的取值范围是0-255,一般情况下,0表示正常退出,非零表示异常退出。
如果状态码是0-255之外的数值,则会被强制转换为uint8_t类型的数值,比如-1会被转换为255,256会发生类型宽度截断,被转换为0。状态码n可以不指定,默认是上一条命令的退出状态码。
1.2 return关键字
return是语言级别的一个关键字,用于结束函数并返回一个结果。return不带参数时,则会返回函数体中最后一个命令的返回值。
return也可以用于使用 . 或source的方式包含的子Shell脚本中,可以返回指定的状态或者脚本中最后一个命令的exit status。比如如下脚本:
#!/bin/bash
if [ $# -ne 1 ];then
echo "please input parameter"
return 1
fi
上面的脚本如果直接执行则会报如下错误:
return: can only`return' from a function or sourced script
但是如果使用 . 或souce的方式被包含到父Shell中,则可以正常运行。
1.3 exit与return的区别
1. 作用不同: exit用于在程序运行的过程中随时结束程序,exit的参数是返回给OS的。exit是结束一个进程,它将删除

最低0.47元/天 解锁文章
1281

被折叠的 条评论
为什么被折叠?



