IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Script planté aprés exécution de grep


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mars 2012
    Messages : 63
    Points : 54
    Points
    54
    Par défaut Script planté aprés exécution de grep
    Bonjour à tous,

    Voila un sacré moment que je planche sur un soucis incompréhensible

    EN gros j'ai actuellement le script suivant, executer directement dans un job jenkins:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    fichier="file.txt"
    stringRecherche="CI-test"
     
    findCommand=$(grep  $stringRecherche $fichier)
    Et la, si la chaine recherché dans le fichier en question n'existe pas, PAF jenkins s'arret sur l'erreur suivante...

    Build step 'Execute shell' marked build as failure

    Si la chaine existe par contre la ça fonctionne !
    Alors que si je tape ça directement dans un shell ça marche trés bien. Et j'ai tout essayé au niveau de la syntaxe: les "${blabla}" etc...
    J'en suis même arrivé à un truc comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    findCommand=$(grep  $stringRecherche $fichier) | tee  2>&1
    Et j'ai plus l'erreur pour la suite, sauf que si je refais un $findCommande par la suite... Bah j'ai pas la valeur qui corresponds à mon retour de commande

    A en devenir fou... Si quelqu'un à une solution je suis preneur !

  2. #2
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 882
    Points
    7 882
    Par défaut
    Jenkins semble configuré pour sortir dès qu'il y a une erreur, voici comment contourner le problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    findCommand=$(grep  $stringRecherche $fichier || true)
    ɹǝsn *sıɹɐlos*

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par jlliagre Voir le message
    Jenkins semble configuré pour sortir dès qu'il y a une erreur
    Pour vérifier si c'est le cas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [[ -o errexit ]] && echo "# sortir en cas d'erreur" || echo "# ne pas sortir en cas d'erreur"
    ou bien
    Mais, dans certains environnements, la sortie de set -o peut ne pas contenir un seul item par ligne.

    On peut modifier cette option:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $ set -e
    $ [[ -o errexit ]] && echo "# sortir en cas d'erreur" || echo "# ne pas sortir en cas d'erreur"
    # sortir en cas d'erreur
     
    $ set -o | fgrep errexit
    errexit         on
     
    $ set +e
    $ set -o | fgrep errexit
    errexit         off

  4. #4
    Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mars 2012
    Messages : 63
    Points : 54
    Points
    54
    Par défaut
    Avec beaucoup de retard je vous remercis pour vos reponses ca m'a bien aide !
    Je pensais avoir deja repondu sur ce sujet...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Eclipse plante après exécution d'une servlet
    Par moufky dans le forum Eclipse
    Réponses: 2
    Dernier message: 17/05/2012, 21h12
  2. Creer un Log après exécution du script PHP
    Par jameson dans le forum Langage
    Réponses: 7
    Dernier message: 09/02/2011, 18h07
  3. Redirection après exécution d'un script
    Par ganguill dans le forum Langage
    Réponses: 9
    Dernier message: 11/06/2010, 16h25
  4. Fermer automatiquement une popup après exécution de son script sous IE
    Par abir_rzg dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/03/2010, 11h56
  5. Arrêt de script après exécution
    Par mathieugamin dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/08/2007, 14h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo