exit status e sem saída

0

Eu tenho um comando tal que

bar > /dev/null

e quero saber o status de saída da barra. Eu li alguns posts su sobre $ {PIPESTATUS[0]} , mas isso funciona quando alguém canaliza a saída via | e não posso fazê-lo funcionar com > .

O que estou perdendo?

    
por PinkFloyd 07.01.2015 / 02:50

1 resposta

2

> não é um comando. Isso significa que a barra será o último comando executado. Você pode verificar a falha com uma instrução if padrão:

if ! bar > /dev/null; then
    echo "bar command failed"
fi

Você também pode acessar seu código de retorno com $? se estiver interessado em algo maior que zero ou diferente de zero:

bar > /dev/null
if [ $? -eq 45 ]; then
  echo "bar returned exit code 45"
fi 
    
por 07.01.2015 / 02:55