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 :

Sortie standard stockée dans variable sans rc


Sujet :

Linux

  1. #1
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut Sortie standard stockée dans variable sans rc
    Bonjour.

    J'utilise une fonction dans pas mal de mes quelques scripts :
    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
    #gestion d'erreurs et logs
    launch() {
            cmd=$1
            purpose=$2
            redirection=$3
     
            echo "#$purpose" | tee -a $log_file
     
     
            if [ $redirection ]
            then
                    #cas ou on a une redirection dans la commande
                    #on ne peut pas doublement rediriger
                    #donc on ne log pas les erreurs eventuelles
                    if [ $redirection = o ]
                    then
                            echo $cmd | tee -a $log_file
                            eval "$cmd"
                    else
                    #cas ou le 3eme argument est mal saisi
                            echo "ERREUR launch : verifier arguments" | tee -a $log_ file
                            exit
                    fi
            else
                    #cas standard
                    echo $cmd | tee -a $log_file && err=`eval "$cmd 2>&1"`
                    if [ $? -ne 0 ]
                    then
                            echo "ERREUR $? : $err" | tee -a $log_file
                            exit
                    fi
                    echo -e $err
            fi
    }
    Je me suis récemment rendu compte que je n'avais pas la sortie standard.
    On peut voir dans le cas standard que je récupère le résultat dans err grâce à:
    Si par la suite, je fais
    C'est pour qu'effectivement apparaisse la sortie standard.
    Seulement, les retours à la ligne disparaissent de cet affichage.

    Où est ce qu'ils ont disparu ?

    Merci d'avance

  2. #2
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Plus simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #!/bin/sh
    test=`echo ligne1;echo ligne2;echo ligne3`
    echo $test
    Comment avoir les retours à la ligne stockés dans $test ?

  3. #3
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    à la place de
    et ça roule.

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

Discussions similaires

  1. Rediriger la sortie standard dans une variable
    Par Erielle dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 22/10/2010, 16h24
  2. Réponses: 11
    Dernier message: 03/11/2006, 23h53
  3. Réponses: 6
    Dernier message: 12/04/2006, 14h53
  4. Réponses: 7
    Dernier message: 09/12/2005, 09h46
  5. insertion d'un champ défini dans sortie standard
    Par mollux dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/03/2005, 11h50

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