shell exit和return的区别

exit和return的区别

exit 可放在shell脚本中任意位置。表示随时结束运行程序的这个进程,并删除进程使用的内存空间,同时把错误信息返回给父进程。
return 是调用堆栈的返回,返回函数值并退出函数,一般用在函数方法体内。
[Ref] Shell中exit和return的区别
在这里插入图片描述

状态码取值范围

if [ $? != 0]; then
	echo "last exe fail"
	exit 1
else
	echo "last exe success"
fi

状态码 取值范围是[0,255],这个范围之外数值会经过算法映射到这个范围上。0表示正常退出,非0表示异常退出。
状态码值的定义尚未有统一的标准,推荐使用GNU C的头文件中对于状态码的定义。
[Ref] What does $? do?
[Ref] Shell中exit和return的区别
在这里插入图片描述

常见状态码

状态码 描述
0 命令成功结束
1 通用未知错误
2 误用Shell命令
126 命令不可执行
127 没找到命令
128 无效退出参数
128+x Linux信号x的严重错误
130 命令通过Ctrl+C控制码越界
255 退出码越界

[Ref] Linux Shell 编程常见规则及退出状态码

你可能感兴趣的:(LInux,服务器,linux,运维)