在我在 Perl 脚本中执行的以下命令中,如何捕获 stderr?
my $output = `ssh login.com git clone --bare user@login.com:/nfs/repo/ /nfs/repo//4124/`;
if ($? ne '0')
{
$stderr = $output;
print $stderr;
}
else
{
$stdout = $output;
print $stdout;
}
最佳答案
my $output = `ssh login.com git clone --bare user@login.com:/nfs/repo/ /nfs/repo//4124/ 2>&1`;
末尾的 2>&1
将标准错误发送到与标准输出相同的位置,由反引号捕获。
关于linux - 用于捕获在反引号中执行的命令的 stderr 和 stdout 的 Perl 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9783848/