Armazena saída de comando do openssl?

1

Estou escrevendo um script no qual estou tentando verificar senhas de certificado. Isso é o que eu tinha em mente.

passtest=$(openssl pkcs12 -info -in $CERTPATH -passin pass:$certpass)
if [[ $passtest == *"invalid password"* ]]; then
    NotOK
else
    Ok
fi

No entanto, nada é atribuído à variável $ passtest. Essa abordagem funciona bem para outros comandos, mas parece que a saída do comando openssl está sendo direcionada para algum outro lugar? A saída mostrada na tela quando o script é executado.

Alguma idéia?

    
por ardevd 18.05.2015 / 13:51

1 resposta

1

openssl informa erros em stderr . Você precisa redirecioná-lo para stdout primeiro. Isso deve funcionar:

passtest=$(openssl pkcs12 -info -in $CERTPATH -passin pass:$certpass 2>&1)
    
por 18.05.2015 / 14:03

Tags