Forum Linux.général script Bash et Erreur volontaire

Posté par  .
Étiquettes : aucune
0
14
fév.
2006
Bonjour,
j'ai un script bash du genre
...
make;
toto;

Or si mon make fait une erreur la commande toto n'est pas appellée et le script s'arrette sur l'erreur.

QQun sait comment forcer le lancement de toto mais si make plante ?

Merci

Xabi
  • # ou ?

    Posté par  . Évalué à 2.

    Lance les commandes comme si elles faisaient partie d'une condition....
    Genre :
    make || toto
    Si tu veux que les deux s'exécutent, mais que si la première échoue le reste ne soit pas exécuté, tu fais un "et" :
    make && toto.
    Voilà, en espérant que ça aide....
    • [^] # Re: ou ?

      Posté par  . Évalué à 1.

      Ouais en fait ca pas l'air d"etre ca le probleme mais merci !
      • [^] # Re: ou ?

        Posté par  . Évalué à 2.

        Alors ta question est mal posée....
        Si tu veux que toto soit lancée, même si make plante, ma réponse fonctionne.
        Si tu veux que toto ne soit lancée que si le make plante, alors tu peux procéder ainsi :

        make &> /dev/null
        if [ $? != 0 ] then
        toto
        fi

        En gros, ça lance le make en dirigeant la sortie et la sortie d'erreur standard vers /dev/null. Si le code de retour est différent de 0, on lance toto, sinon, on ne fait rien. Tu adapteras selon tes besoin. Voilà, j'espère que ce coup-ci ça répond à ton problème...
        • [^] # plus simple

          Posté par  . Évalué à 1.

          if ! make ; then toto; fi
          • [^] # Re: plus simple

            Posté par  . Évalué à 1.

            lol, je disais pas que ta reponses etait mauvaise, juste que mon scripte déconnait pour autre chose...
            Désolé mais merci en tout cas..

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.