有什么方法可以通过perl脚本调用make实用程序吗。我在myscript 中使用了以下代码
$cmd=system("/...path../make");
print "$cmd";
但它不工作
您可以调用任何您想要的命令。为了简单起见,它通常是在后引号中完成的:
my $output = `make`;
print( $output );
另一种常见的技术是像打开文件一样打开读取过程:
my $filehandle;
if ( ! open( $filehandle, "make |" ) ) {
die( "Failed to start process: $!" );
}
while ( defined( my $line = <$filehandle> ) ) {
print( $line );
}
close( $line );
这样做的好处是,您可以在流程中看到输出。
您可能希望通过将2>&1
添加到命令行来捕获STDERR输出和STDOUT输出:
my $filehandle;
if ( ! open( $filehandle, "make 2>&1 |" ) ) {
die( "Failed to start process: $!" );
}
while ( defined( my $line = <$filehandle> ) ) {
print( $line );
}
close( $line );
您只需要使用反引号。
my $command = `make`;
print $command;
system
的返回值为退出状态。参见此处
编辑:链接到系统