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 :

Rediriger la sortie standard dans une variable


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Par défaut Rediriger la sortie standard dans une variable
    Bonjour

    Je voudrais rediriger la sortie standard dans une variable, en conservant les lignes.

    Pour le moment j'ai (c'est un exemple) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >a=$(ls-l)
    >echo $a
    total 4 -rw------- 1 root root 0 avr 14 2010 monFic.ext~
    C'est à dire que mes deux lignes sont concaténées; Or je voudrais avoir dans a :
    total 4 \n -rw------- 1 root root 0 avr 14 2010 monFic.ext~
    Quelqu'un a une idée ?

    Merci pour votre aide!

  2. #2
    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 : 46
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Non, les lignes ne sont pas concaténées. Le retour à la ligne est bien dans la variable. Pour t'en convaincre tu peux faire :

  3. #3
    Membre éclairé

    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Par défaut merci merci
    Merci beaucoup

    ça m'a permis de passer le problème somme toute simple sur lequel je calais.


    Juste une question (probablement aussi bête que la précédente mais c'est en posant des questions qu'on apprend, merci de votre patience )

    Pourquoi je n'ai pas trouvé \n quand je l'ai recherché dans ma chaîne ?

  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 : 46
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Ca dépend, tu l'as cherché comment ?

    Si tu parles du
    alors il faut bien comprendre que $a n'est pas passé à echo comme une seule chaine, mais comme une liste de chaines découpées sur les espaces, les tabulations et les sauts de ligne. Donc tu passes la chaine
    en argument à une commande (comme echo), la commande verra 3 arguments : "abc", "def" et "ghi". Les 3 espaces et le saut de ligne sont perdus. La commande echo prend chacun de ses arguments et les affiche séparés par un espace. Dans ce cas elle affichera donc :
    Et tu vois qu'on a 1 espace au lieu de 3 entre abc et def, et 1 espace au lieu d'un saut de ligne entre def et ghi.

    Par contre si tu passes
    alors la chaine sera passée comme un seul argument et tu obtiendra ce que tu veux.

  5. #5
    Membre éclairé

    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Par défaut
    D'accord je comprends

    Merci

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

Discussions similaires

  1. Récupérer les sorties console dans une variable
    Par ol9245 dans le forum MATLAB
    Réponses: 4
    Dernier message: 10/06/2012, 21h36
  2. rediriger la sortie standard dans un fichier
    Par madidy dans le forum MATLAB
    Réponses: 1
    Dernier message: 05/05/2010, 15h37
  3. Récupérer la sortie standard dans une autre classe
    Par EvilAngel dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 22/12/2006, 17h15
  4. Réponses: 3
    Dernier message: 20/10/2006, 16h41

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