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 :

Probleme avec un While Read


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 53
    Points : 27
    Points
    27
    Par défaut Probleme avec un While Read
    Bonjour,

    Je dois, pour une appli, lire les données arrivant sur un port série dans un script ksh
    Pour ce faire, j'ai utilisé la commande while read de la façon suivante :

    cat /dev/com1 | while read message
    do
    echo $message
    done
    mais j'ai un gros probleme car la lecture se bloque (je peux pas quitter mon programme en faisant un ctrl-c) et les lignes qui s'affiche (echo $message) sont parfois incomplète

    Voici un exemple du flux qui arrive en entrée du programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $@Meas,25,25,   L2P(LF)
    (CR)
    $@Meas,34,25,   L1P(LF)
    (CR)
    $@Meas,23,22,   L2P(LF)
    (CR)
    $@Meas,32,22,   L1P(LF)
    (CR)
    ........
    j'ai mis entre parentheses les caracteres speciaux LF et CR

    Si quelqu'un a une idée d'ou peut provenir mon probleme, merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Pourrais-tu rediriger l'entrée standard de /dev/com1 au lieu de faire un cat ... | et voir ce que ça donne.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while read message
    do
    echo $message
    done < /dev/com1

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 53
    Points : 27
    Points
    27
    Par défaut
    Avec ta methode, il fait n'importe quoi, il me coupe la moitié des messages

  4. #4
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    Ah mon avis le problème ce n'est pas ton code, c'est juste que tu affiche des caractères spéciaux qui font foirer ton terminal. Remplace ton "echo $message" par "echo $message | hexdump -C" pour voir ?

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 53
    Points : 27
    Points
    27
    Par défaut
    la commande hexdump n'est pas reconnu chez moi

  6. #6
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    Et bien remplace hexdump par sed 'l;d' par exemple.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2008
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 53
    Points : 27
    Points
    27
    Par défaut
    Merci pour vos reponses mais j'ai abandonné cette methode

Discussions similaires

  1. Probleme avec un While
    Par namefusion dans le forum Langage
    Réponses: 14
    Dernier message: 30/09/2012, 21h07
  2. Probleme avec boucle while
    Par Slash54000 dans le forum Débuter
    Réponses: 7
    Dernier message: 22/12/2008, 09h01
  3. [MySQL] Probleme avec un while issu de Dream 8
    Par dembroski dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/07/2007, 22h53
  4. Réponses: 2
    Dernier message: 19/11/2006, 10h54
  5. Problème avec un while...
    Par pcdj dans le forum Linux
    Réponses: 7
    Dernier message: 17/10/2005, 22h24

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