如果我有这个perl应用程序:
print `someshellscript.sh`;
Run Code Online (Sandbox Code Playgroud)
打印一堆东西需要很长时间才能完成,如何在执行shell脚本的过程中打印输出?
看起来Perl只会在完成后打印someshellscript.sh结果,有没有办法在执行过程中使输出刷新?
Gre*_*ill 16
你可能想做的是这样的:
open(F, "someshellscript.sh|");
while (<F>) {
print;
}
close(F);
Run Code Online (Sandbox Code Playgroud)
这将运行someshellscript.sh并打开一个读取其输出的管道.的while循环读取由脚本并打印生成的输出的每一行.有关更多信息,请参见打开的文档页面.