为什么系统没有';t返回主&x27;s值多少? [root@test]$cat return10.c #包括 int main(int argc,char*argv[]){ 返回10; } [root@test]$perl-e'打印系统(“/path\u to\u return10”)' 2560

为什么系统没有';t返回主&x27;s值多少? [root@test]$cat return10.c #包括 int main(int argc,char*argv[]){ 返回10; } [root@test]$perl-e'打印系统(“/path\u to\u return10”)' 2560,perl,system,Perl,System,我本来期望10,但是得到了2560,为什么?正如perl()中系统调用的文档中所指定的: 返回值是由返回的程序的退出状态 等等电话。要获得实际的退出值,请向右移动8(请参见 下) 事实上:2560>>8=10请参见中的$? 您得到了10*256(返回值=10)+0*128(没有内核转储)+0(进程没有被信号终止)。我不这么认为,它永远不会改变。这是perl中系统命令的返回代码。如果打印$?,将获得与2560相同的值。相关: [root@ test]$ cat return10.c #includ

我本来期望10,但是得到了2560,为什么?

正如perl()中
系统调用的文档中所指定的:

返回值是由返回的程序的退出状态 等等电话。要获得实际的退出值,请向右移动8(请参见 下)

事实上:
2560>>8=10
请参见中的
$?


您得到了10*256(返回值=10)+0*128(没有内核转储)+0(进程没有被信号终止)。

我不这么认为,它永远不会改变。这是perl中系统命令的返回代码。如果打印$?,将获得与2560相同的值。相关:
[root@ test]$ cat return10.c
#include <stdio.h>
int main(int argc, char *argv[]){
    return 10;
}
[root@ test]$ perl -e 'print system("/path_to_return10")'
2560