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

Linux Discussion :

Erreur Script Linux


Sujet :

Linux

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 10
    Par défaut Erreur Script Linux
    Bonjour,

    Je suis en train de faire un script qui va me permettre d'aller voir si dans un log il y a un certains message. Maintenant le problème est qu'il me fait cette erreur et je ne comprend pas pourquoi ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ./errorDetect.sh: line 3: syntax error near unexpected token `do'
    ./errorDetect.sh: line 3: `do'
    Le script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #!/bin/bash
    do
    if (grep 'READ CAPACITY FAILED' dmesg.txt);
    then
        echo marche
    fi
    done
    Merci de votre aide

  2. #2
    Membre éprouvé Avatar de eric-m
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 62
    Par défaut
    les mots clefs do et done sont utilisés pour encadrer un block d'instruction pour une boucle de type for, while ou until

    Supprimez do et done de votre script et il devrait fonctionner.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/bin/bash
     
    if (grep 'READ CAPACITY FAILED' dmesg.txt);
    then
     
    echo marche
     
     
    fi

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 10
    Par défaut
    Citation Envoyé par eric-m Voir le message
    les mots clefs do et done sont utilisés pour encadrer un block d'instruction pour une boucle de type for, while ou until

    Supprimez do et done de votre script et il devrait fonctionner.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/bin/bash
     
    if (grep 'READ CAPACITY FAILED' dmesg.txt);
    then
     
    echo marche
     
     
    fi
    Effectivement sa marche bien , mais j'ai une autre erreur ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sdb : READ CAPACITY failed.
    sdb : READ CAPACITY failed.
    marche

    Le message doit simplement m'afficher marche pour l'instant alors pourquoi il affiche sdb : le grep que j'ai faite ...

    Merci!

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 660
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep --help | grep quiet
    de plus, sans être une erreur les parenthèses ne sont pas nécessaires ici.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre éprouvé Avatar de eric-m
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2011
    Messages : 62
    Par défaut
    grep affiche sur la sortie standard chaque ligne de dmesg.txt correspondant à la recherchee, donc il faut redirigé la sortie standard de grep vers /dev/null

    grep 'READ CAPACITY FAILED' dmesg.txt 1>/dev/null

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/11/2014, 09h30
  2. Question générale sur les scripts linux
    Par jejerome dans le forum Linux
    Réponses: 4
    Dernier message: 09/04/2006, 08h25
  3. [Configuration] affichage video erreur script
    Par zorrax dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 10
    Dernier message: 26/02/2006, 15h35
  4. Script linux
    Par Bj0 dans le forum Linux
    Réponses: 8
    Dernier message: 23/01/2006, 16h28
  5. [VB.NET] Erreur script client
    Par Sadneth dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/03/2005, 08h33

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