+ Responder ao Tópico



  1. #1

    Padrão Duvida Basica Shell Script

    Opa!
    Estou com esta duvida!
    O que quero fazer, tenho esta funcao principal, se der certo quero chamar aquelas 2 abaixo,
    se der errado a outra! como posso passar?:


    funcao1 () {
    if [ "$ARG1" = "ONLINE" ]; then
    echo "se der OK"
    else
    echo "deu caca"
    fi
    }



    #Quero jogar estas duas funcoes pra dentro da principal acima se der ok!

    apagapasta () {
    rm -rf /pasta

    }

    crianova () {
    mkdir /pastanova
    }



    #quero jogar esta em caso de erro

    ejetafita () {
    mt -f /dev/st0 eject
    }


    #executa a funcao

    if funcao1
    then
    echo "ROdou tudo certo"
    fi

  2. #2

    Padrão

    Olá camarada...
    Isso é bem facil de implementar é só você verificar a variavel que contem o status do ultimo comando executado!

    Código :
    rm teste.txt
     
    if [ $0 -eq 0 ];
    then
         echo "Removi o arquivo!!!"
    else
         echo "Não removi o arquivo!!"
    fi
    Com essa verificação você consegue fazer o que precisa!

  3. #3

    Padrão

    De uma forma bem simples e direta:

    Código :
    if rm teste.txt 2> /dev/null
    then
         echo ok
    else
         echo not ok
    fi
    ps[0] = "tudo que tem um código de retorno pode ser usado num if!";