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

为什么退出(65280)会导致Perl以0的退出状态退出?,perl,Perl,为什么exit(65280)会导致Perl以0的退出状态退出 perl -e 'exit(65280)' echo $? # returns 0 exit只接受0到255之间的整数参数 此外: 超出范围的退出值 可能导致意外的退出代码。大于255的退出值 返回一个模256的退出代码。例如,出口3809给出一个出口 代码为225(3809%256=225) 请参阅上的Linux文档项目中的这一页 Perl是用C编写的,Bash也是用C编写的。因此,我认为Perl也是如此。我想Bash比Per

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

perl -e 'exit(65280)'
echo $?   # returns 0
exit只接受0到255之间的整数参数

此外:

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

请参阅上的Linux文档项目中的这一页

Perl是用C编写的,Bash也是用C编写的。因此,我认为Perl也是如此。我想Bash比Perl有更好的文档记录?否则我在Perl文档中找不到正确的位置

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

此外:

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

请参阅上的Linux文档项目中的这一页


Perl是用C编写的,Bash也是用C编写的。因此,我认为Perl也是如此。我想Bash比Perl有更好的文档记录?否则,我在Perl文档中找不到正确的位置。

Perl只说:“EXPR唯一公认的值是0表示成功,1表示错误;其他值根据Perl程序运行的环境进行解释。”文档可能假设您已经知道Unix出口值取模256。
exit
在Windows上可以取大于255。@melpomene,这正好反映了C保证的限制。在所有现代系统上(可能在我不熟悉的虚拟机上除外),值的实际范围要大得多(至少0..255)。@Keith Thompson,我知道。我刚刚说过。你误读了我说的话吗?无论如何,关键是melopomene语句是无用的,因为它反映了C可以在其上运行的整个系统,而不是脚本将在Perl上运行的系统,它只说:“EXPR唯一公认的值是0表示成功,1表示错误;其他值的解释取决于Perl程序运行的环境。“文档可能假设您已经知道Unix出口值取模256。
exit
在Windows上可以取大于255。@melpomene,这正好反映了C保证的限制。在所有现代系统上(可能在我不熟悉的虚拟机上除外),值的实际范围要大得多(至少0..255)。@Keith Thompson,我知道。我刚刚说过。你误读了我说的话吗?无论如何,关键是melopomene语句是无用的,因为它反映了C可以运行的整个系统,而不是脚本将要运行的系统