shell exit和return的区别

发布时间:2024年01月11日

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的头文件<sysexits.h>中对于状态码的定义。
[Ref] What does $? do?
[Ref] Shell中exit和return的区别
在这里插入图片描述

常见状态码

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

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

文章来源:https://blog.csdn.net/weixin_37646636/article/details/135536553
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。