+ Responder ao Tópico



  1. #1

    Padrão Dúvida

    Bom dia pessoal.
    Gostaria de tirar uma dúvida.
    Eu acabei de montar o script abaixo:

    echo "-------- LOG DO SCRIPT --------" > /var/log/script.log
    echo "Inicio: "`date` >> /var/log/script.log
    echo -n "Status: " >> /var/log/script.log

    <comando1> && <comando2> && <comando3>

    if [ $? = 0 ]
    then
    echo "OK" >> /var/log/script.log
    else
    echo "ERRO" >> /var/log/script.log
    fi
    echo "Fim: "`date` >> /var/log/script.log

    Na forma que eu montei, ele somente irá colocar "OK" caso todos os 3 comandos sejam executados com sucesso?

  2. #2

    Padrão

    Sim, ele só vai colocar OK caso os três comandos sejam executados com sucesso. O operador ternário && só executa o próximo comando da lista se o anterior retornar sinal 0.


    Abraços!

  3. #3

    Wink Dica

    Ao invés de usar o


    Código :
    echo "-------- LOG DO SCRIPT --------" > /var/log/script.log
    echo "Inicio: "`date` >> /var/log/script.log
    echo -n "Status: " >> /var/log/script.log

    Faça de uma maneira mais simples:

    Código :
    echo "-------- LOG DO SCRIPT --------
    Inicio: `date`
    Status:  ">> /var/log/script.log

  4. #4

    Padrão

    Realmente fica muito mais simples... valew pela dica.