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 :

Shellscript: variable qui disparait


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    26
    D�tails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 26
    Par d�faut Shellscript: variable qui disparait
    Salut tous

    Voila un petit script qui lit un fichier et recupere les valeurs que je souhaite.

    Mais a la fin de la boucle la variable $result est vide, une idee?

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
     
    #!/bin/sh
     
    write_line()
    {
        if [ -z "$result" ]
            then
            result="$val";
        else
            result="$result\n$val";
        fi
    }
     
    resu="$(cat test.txt | grep -En k)";
     
    echo -e "$resu" | while read myline;
      do
          newline="$(echo $myline | cut -c3-)";
          key="$(echo $newline | cut -d: -f1)";
          val="$(echo $newline | cut -d: -f2)";
          res="$(echo $key | grep -n k)";
          if [ -n "$res" ]
              then
              echo "<on entre $result>"
              write_line
              echo "<on sort $result>"
          fi
    done
     
    echo "<je veux $result>"
    if [ -n "$result" ]
            then
        echo -e $result;
    fi
    le fichier test.txt contient par exemple

    key1-1:val1-1
    key1-2:val1-2
    key1-3:val3 0

  2. #2
    Membre exp�riment�
    Avatar de (Benoit)
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    184
    D�tails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 184
    Par d�faut
    tu es s�r que �a rentre dans write_line ? met peut-�tre un echo dedans pour v�rifier

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    26
    D�tails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 26
    Par d�faut
    c'est deja fais

  4. #4
    Membre Expert
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 47
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par d�faut
    Le probl�me n'a rien � voir avec ta fonction. Le probl�me est que toute la partie � gauche du pipe (la boucle while) est ex�cut�e dans un sous-process. L'appel de fonction modifie dont la variable "result" du sous-process... Ce qui n'a bien s�r aucun effet sur la variable "result" du process p�re, que tu affiches apr�s la boucle.

    Une solution serait d'utiliser les parenth�ses pour ex�cuter l'ensemble de ton code (g�n�ration de la variable + affichage) dans le sous-process, comme ceci :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    echo -e "$resu" | ( while read myline
    do
        ...
    done
     
    echo ...
    ...
    )

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    26
    D�tails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 26
    Par d�faut
    merci pour ton aide

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [Blog] Variable pass�e qui disparait � la page suivante
    Par glgdev dans le forum EDI, CMS, Outils, Scripts et API
    R�ponses: 13
    Dernier message: 21/04/2015, 09h56
  2. Variable qui disparait en submit
    Par jejeman dans le forum Zend Framework
    R�ponses: 1
    Dernier message: 13/06/2012, 19h30
  3. [MySQL] Variable qui disparait apres formulaire
    Par RomFou dans le forum PHP & Base de donn�es
    R�ponses: 3
    Dernier message: 15/07/2010, 14h53
  4. [CR 8] R�sultat d'une variable shared qui disparait
    Par ARONE dans le forum SAP Crystal Reports
    R�ponses: 2
    Dernier message: 11/12/2009, 08h56
  5. Contenu d'une variable qui disparait :/
    Par Aleksis dans le forum C++
    R�ponses: 10
    Dernier message: 02/06/2006, 15h50

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