perl脚本中运行含有管道的系统命令时,不能将错误输出重定向到文本

bu110 bu110 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我有一段perl脚本如下:
while(1)
{
my @i = ();
my $command = <FH>;
if(not defined ($command))
{
last;
}
chomp($command);
print RESULT "$command\n";
@i = `$command 2>&1`;
print RESULT @i;
}
FH和RESULT 都是文件句柄,
结果文件:
cat /etc/opasswd1
cat: /etc/opasswd1: No such file or directory
cat /etc/opasswd1 | grep -v "^#"

好像命令行中不加管道就能将标准输出打印到文本中,加了管道就不能输出到文本中,但是会打到屏幕上,
请高手帮忙看下,谢谢!

...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
bu110
脚本语言 37,737 成员 34,208 内容