exit()的值
1 常见的、一般性错误
2 误使用shell内建变量
126 (权限等问题)命令不能被执行
127 不能找到输入命令
128 exit命令的参数不正确(只能使用0-255之间的整数)
128+n 由信号n导致的致命性错误
130 由ctrl+C导致的脚本中止(128+n的一个范例)
255* 退出代码超出范围(只能是0-255)之间的整数
exit()和return的区别:
按照ANSI C,在最初调用的main()中使用return和exit()的效果相同。但要注意这里所说的是“最初调用”。如果main()在一个递归程序中,exit()仍然会终止程序;但return将控制权移交给递归的前一级,直到最初的那一级,此时return才会终止程序。return和exit()的另一个区别在于,即使在除main()之外的函数中调用exit(),它也将终止程序。exit()是一个函数,结束一个进程,它将删除进程使用的内存空间,同时把错误信息返回父进程,在父进程中wait系统调用将接受到此返回信息。
return返回函数值,是关键字,在main函数中我们通常使用return (0);这样的方式返回一个值。但这是限定在非void情况下的也就是void main()这样的形式。
exit()通常是用在子程序中用来终结程序用的,使用后程序自动结束跳会操作系统。但在如果把exit用在main内的时候无论main是否定义成void返回的值都是有效的,并且exit不需要考虑类型,exit(1)等价于return (1)
exit(0); //正常退出
非0即是非正常退出
数字0,1,-1会被写入环境变量ERRORLEVEL,其它程序可以由此判断程序结束状态。
一般0为正常推出,其它数字为异常,其对应的错误可以自己指定。