我的 Perl 脚本 temp.pl 如下所示:
exit 256;
如果我执行以下操作:
perl temp.pl
echo $?
答案是 0。
如果我改变,perl 脚本为
exit 255;
然后再做一次,答案是255。
有什么问题吗?
最佳答案
是的,退出返回代码仅限于单字节 - 0 到 255。
完整的退出代码由退出代码本身和表示程序如何退出的标志组成 - 是定期退出还是由于某些信号(被杀死、中断、暂时停止等)。
因此,exit()
函数的值始终用 0xff
屏蔽,以免与信号传递发生冲突。
关于以 256 退出时的 Perl 脚本行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35693556/