Como extrair o código de saída de um comando e utilizá-lo em uma condição? Por exemplo, veja o seguinte script:
i=4
if [[ $i -eq 4 && $(command) -eq 0 ]]
then
echo "OK"
else
echo "KO"
fi
Se ambas as condições forem satisfeitas, o script deve fazer algo. Na segunda condição, preciso verificar o status de saída (e não a saída do comando como é o caso do script fornecido acima), para saber se o comando foi bem-sucedido ou não.
Com
$(command) -eq 0
(como no seu código), você testa a saída emcommand
vez de seu código de saída.Observação: usei
command1
em vez decommand
comocommand
é o nome de um utilitário padrão.$(somecmd)
capturaria a saída desomecmd
, se você quiser verificar o código de saída de um comando, basta colocá-lo na parte condição daif
instrução diretamentePara capturar o código de saída, use $? após (imediatamente, antes de executar qualquer outro comando) executar o comando. Então você pode fazer coisas como
Ou seja, você pode avaliar expressões envolvendo o código de saída várias vezes.