我不是真的如何正确地问这个问题而不会啰嗦,但会尽力而为!我需要一个我正在编写的脚本来在其中运行 pidstat -V ,然后从中捕获输出并使用它来继续脚本!我尝试了很多变化,唯一没有错误读数的方法如下
#!/usr/bin/perl
use strict;
use warnings;
my $cmd = "pidstat -V";
my @output = `$cmd`;
chomp @output;
if (@output eq 'sysstat version 11.2.0 (C) Sebastien Godard (sysstat <at> orange.fr)') {
等等等等等等
当我使用 STDIN 并且用户定义了他们的 pidstat 版本时,脚本的其余部分运行良好,但是当我使用上面的代码时,我没有收到任何错误,只有一个新行!我遇到了不同的 pidstat 版本,它们给出了不同的读数,所以我写了我的脚本来适应这个!我知道我错过了一些东西,但不确定是什么。
解决了!
这非常简单,我只需要在行中添加“2>&1 | sed -e '2d'”:-“my $cmd = qx{pidstat -V};” 并从我的 if 语句中删除“(C) Sebastien Godard (sysstat orange.fr)”。
感谢大家的指点,他们真的有帮助。