Script .sh

Résolu
tribipod08 -  
 tribipod08 -
Bonjour, je suis en train de faire un script, mais je bloque sur un point.

J'exécute un commande qui me renvoie "No problems found!" si c'est ok.

Ensuite, j'ai un if (c'est là que ca bloque), est je voudrait que si je n'ai pas le résultat "No problems found!", alors il passe dans mon if.

Comment faire, merci d'avance pour votre aide...

3 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    J'exécute un commande
    Quelle commande ? Une commande bash ? Un programme ?

    En général on teste le code retour d'une commande, qui renvoie 0 ou 1 (ou autre)...
    0
  2. tribipod08
     
    Dans mon script, parmis le reste, j'exécute "./pmd.sh /tmp/Objet.java text ReglesPMD.xml -minimumpriority 2 > /tmp/result.log" (qui sert à vérifier le code java, avant de commiter sur SVN). Cette commande me retourne "No problems found!" si tous va bien, dans ce cas je ne passe pas dans le if ou "/tmp/Objet.java:9 System.out.print is used", et dans ce cas, je doit passé dans mon if afin de faire un exit 1
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      pmd.sh c'est un script maison ? C'est lui qui renvoie "No problems found!", exact ?

      Dans l'immédiat, il suffit de récupérer la sortie dans une variable (ou l'envoyer dans un ficher), et comparer le contenu de la variable (ou du fichier) avec un test :

      if [ "$VAR" = 'No problems found!' ]; then ...; else ...; fi

      0
  3. tribipod08
     
    Merci beaucoup pour la réponse, ce là fonctionne !

    Pour info pmd.sh est un script d'analyse java.
    0