Salvando a saída do comando externo!

0

Eu não sou realmente como fazer esta pergunta da maneira certa sem ser muito prolixo, mas farei o meu melhor! Eu preciso de um script que estou escrevendo para executar o pidstat -V dentro dele e então capturar a saída dele e usá-lo para continuar o script! Eu tentei tantas variações, a única maneira que eu recebo nenhuma leitura de erro é a seguinte

#!/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)') {

etc etc etc.

O resto do script roda bem quando eu uso o STDIN e o usuário define sua versão do pidstat, mas quando eu uso o acima eu não recebo erros e apenas uma nova linha! Eu me deparei com diferentes versões de pidstat que dão leituras diferentes, por isso escrevi o meu script para se encaixar em torno disso! Eu sei que estou perdendo alguma coisa, mas não sei o que.

    
por SimplySimplified 13.10.2017 / 11:40

1 resposta

0

RESOLVIDO!

Era dolorosamente simples, tudo que eu precisava era adicionar "2 > 1 | sed -e '2d'" à linha: - "my $ cmd = qx {pidstat -V};" e exclua "(C) Sebastien Godard (sysstat orange.fr)" da minha declaração if.

Obrigado por todos os ponteiros, eles realmente ajudaram.

    
por SimplySimplified 16.10.2017 / 15:34