Perl执行命令,捕获和显示输出
发布时间:2020-12-16 06:14:40 所属栏目:大数据 来源:网络整理
导读:我需要从我的Perl脚本执行一个命令,这需要一段时间(1-2个小时).我希望能够看到命令的输出,以便我的脚本可以检查一切正常,但是由于需要这么长时间,我希望用户在运行时看到命令输出. 我尝试过的: 反引号 – 只能在命令完成时获得输出 system – 只能在命令完
我需要从我的Perl脚本执行一个命令,这需要一段时间(1-2个小时).我希望能够看到命令的输出,以便我的脚本可以检查一切正常,但是由于需要这么长时间,我希望用户在运行时看到命令输出.
我尝试过的: >反引号 – 只能在命令完成时获得输出 很想有个建议! 编辑:我接受了巴马斯的回答.我相信它有效,因为Expect.pm使用伪终端.对于将来看待这个问题的其他人来说,这就是我实现它的方式: my $process = Expect->spawn($command,@params) or die "Cannot spawn $command: $!n"; while ($process->expect(undef)) { print $process->before(); } 解决方法
使用Expect.pm应该在命令中禁用输出缓冲.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |