Perl语言IC设计实践
上QQ阅读APP看书,第一时间看更新

2.6 执行操作系统命令

为了运行操作系统提供的命令,我们常常使用system函数:

system "ls", "/tmp";

或者

system("ls /tmp");

system函数会开启一个子进程,在该子进程上运行“ls /tmp”命令,该子进程继承了当前Perl程序(称为父进程)的标准输入、标准输出和标准错误等句柄。也就是说,“ls /tmp”的输出会出现当前Perl程序的标准输出或标准错误。

通常,Perl程序会等system函数结束,然后返回system中的命令的返回值,返回值一般是该命令的属性(这不是由Perl决定的)。大多数Linux命令在成功时会返回0,失败时返回一个非0值。如果你需要根据system的返回值做决定,那么建议你在使用之前测试一下命令的返回值,如:

$re = system("…");
print "return value is: $re\n";