perl脚本中运行含有管道的系统命令时,不能将错误输出重定向到文本
我有一段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 "^#"
好像命令行中不加管道就能将标准输出打印到文本中,加了管道就不能输出到文本中,但是会打到屏幕上,
请高手帮忙看下,谢谢!
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 "^#"
好像命令行中不加管道就能将标准输出打印到文本中,加了管道就不能输出到文本中,但是会打到屏幕上,
请高手帮忙看下,谢谢!
...全文
相关推荐
perl脚本调用练习和调用系统命令并展示输出信息
NULL 博文链接:https://fruitking.iteye.com/blog/799757
Perl:将系统命令标准输出重定向到$ variable
您需要反引号-参见“像运算符一样引用”,然后查看qx / STRING /和`STRING`。
Perl2Py:我写了一对简短的脚本,这些脚本使用'subprocess'从Python内部调用perl脚本。 接受可选的输入参数,然后通过管道传输STDIN和STDOUT来运行perl脚本。 数据从perl转换为JSON,然后从JSON转换为python
Perl2Py:我写了一对简短的脚本,这些脚本使用'subprocess'从Python内部调用perl脚本。 接受可选的输入参数,然后通过管道传输STDIN和STDOUT来运行perl脚本。 数据从perl转换为JSON,然后从JSON转换为python
Perl之读取文本文件
Perl之读取文本文件,按照给定的关键字读取文件内容并输出。
perl脚本:很好的日常Perl脚本集合
perl脚本:很好的日常Perl脚本集合


