标签: signals sh exit-code
在bourne shell中,$?设置为最后一个命令的退出值,但如果最后一个命令被信号杀死,$?将被设置为“信号值+ 128”。例如。如果命令退出值为153,$?将被设置为153,但如果命令被信号25杀死,$?将设置为“128 + 25 = 153”。所以命令完成后,$? = 153可能意味着命令要么正常退出代码153,要么被信号25杀死。那么有什么办法可以区分这两种情况吗?就是用$? = 153,是否有任何方法可以判断最后一个命令是退出还是信号被杀?
感谢。