为什么exit(65280)导致Perl以退出状态0退出?

Eri*_*son 1 perl

为什么exit(65280)导致Perl以退出状态0退出?

perl -e 'exit(65280)'
echo $?   # returns 0
Run Code Online (Sandbox Code Playgroud)

Eri*_*son 5

exit只接受0到255之间的整数args.

也:

超出范围的退出值可能导致意外的退出代码.退出值大于255将返回模256的退出代码.例如,退出3809给出退出代码225(3809%256 = 225).

具有特殊含义的退出代码的Linux文档项目中查看此页面.

Perl是用C语言编写的,Bash也是如此.所以我认为Perl也是如此.我猜Bash有比Perl更好的记录吗?或者我不是在Perl文档中寻找正确的位置.

  • Perl只说:"EXPR的唯一普遍认可的值是0表示成功,1表示错误;其他值根据Perl程序运行的环境进行解释." 文档可能假设您已经知道Unix退出值以模256为模. (2认同)