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 :

2 sorties echo


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 2 sorties echo
    Je suis en train de faire un script d'isntallation d'une application.
    Mon problème est le suivant:

    je fais des echo vers la console pour tenir l'utilisateur au courant de ce qui se passe en temps réel(innovant, non )

    je crée aussi un fichier de log, qui globalement va contenir tout ce qui va apparaître à l'écran.

    ma solution est de faire 2 echo à chaque fois
    le deuxième est redirigé vers mon fichier

    en gros ça donne ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo "début installation"
    echo "début installation" >> inst.log
    je trouve ça 'un peu' balourd y a pas moyen d'optimiser ?

    Dans mon script d'installation j'ai quelques lignes qui ressemlbent à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    !(test -d $DIR_LCH) && mkdir $DIR_LCH && echo "Création répertoire $DIR_LCH"
    et ces lignes là je peux pas me permettre de les écrire en double, sinon béh ... ça fera des choses moches

    serait il possible d'avoir 2 sorties pour mon echo ?!

    je sens que la réponse va être toute simple, mais mon esprit étriqué n'en trouve pas.
    à vot' bon coeur m'sieur dame
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  2. #2
    jmv
    jmv est déconnecté
    Membre confirmé Avatar de jmv
    Profil pro
    Enseignant
    Inscrit en
    Mai 2004
    Messages
    395
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Mai 2004
    Messages : 395
    Points : 603
    Points
    603
    Par défaut Re: 2 sorties echo
    Citation Envoyé par ggnore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo "début installation"
    echo "début installation" >> inst.log
    je trouve ça 'un peu' balourd y a pas moyen d'optimiser ?
    Si :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "début installation" | tee inst.log
    [EDIT] OUPS je viens de me rendre compte que ma solution écrase à chaque fois le fichier log.

    Alors fait une fonction par exemple,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function affiche
    {
        echo $*
        echo $* >> inst.log
    }
    et au lieu d'utiliser echo, fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    affiche "début installation"

  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
    Hum.
    Je savais que ça serait simple mais à ce point là.

    Je m'attendais à un paramètre pour echo ou à une notion bash inconnue.
    C'est bête comme chou.

    merci.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  4. #4
    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
    pour l'echo normal, c'est nickel, mais ...

    j'utilise du
    et du
    et je voudrais retourner ce qu'ils racontent à l'écran ET dans le fichier

    encore une fonction toute bête ?

    peut être en retournant la sortie standard vers la fonction affiche ?
    mais vu que ces programmes ont déjà un affichage propre vers la console, je me retrouverai avec double affichage sur l'écran, non ?

    et si je redirige leur verbose vers mon fichier de log, j'aurai plus rien à l'écran

    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  5. #5
    jmv
    jmv est déconnecté
    Membre confirmé Avatar de jmv
    Profil pro
    Enseignant
    Inscrit en
    Mai 2004
    Messages
    395
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Mai 2004
    Messages : 395
    Points : 603
    Points
    603
    Par défaut
    il y a bien cette solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #le programme
    {
        met tout ton prog ici
        ...
        ...
    } | tee inst.log
    mais le fichier inst.log va etre écrasé à chaque fois que s'exécute ce programme

  6. #6
    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
    béh c'est pas grave si inst.log est écrasé à chaque fois.
    à priori on aura besoin d'une seule installation.

    Si ça devient important d'avoir plusieurs noms de fichiers log, je le changerai en fonction de la date dans le programme.

    je vais tenter le tee.
    ou peut être pas ...

    merci de ton aide.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  7. #7
    Membre expérimenté
    Avatar de nyal
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    622
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 622
    Points : 1 428
    Points
    1 428
    Par défaut
    Bonjour

    Il est util des fois de lire les mans. Tu aurai vu qu'il existe l'option -a à la commande tee. Cette option permet d'ecrire à la fin du fichier. (append)

  8. #8
    jmv
    jmv est déconnecté
    Membre confirmé Avatar de jmv
    Profil pro
    Enseignant
    Inscrit en
    Mai 2004
    Messages
    395
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Mai 2004
    Messages : 395
    Points : 603
    Points
    603
    Par défaut
    il va y avoir un autre probleme : tes commandes mv, unzip, mkdir, etc... vont écrire leurs messages d'erreurs sur stderr au lieu de stdout. Il va faloir que tu redirige aussi ce flux.

  9. #9
    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
    merci pour tout

    le tee est super
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

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

Discussions similaires

  1. [Spip] empecher/controler les sortie type 'echo'
    Par chacalchacal dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 30/05/2011, 19h28
  2. [Batch] Imprimer une ligne vide dans un fichier de sortie avec echo
    Par THKKK dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 19/05/2010, 21h11
  3. [LG]Entrées et sorties redirigée
    Par Lady dans le forum Langage
    Réponses: 17
    Dernier message: 10/05/2003, 18h33
  4. Rediriger le plux de sortie
    Par Groove dans le forum C
    Réponses: 5
    Dernier message: 17/04/2003, 17h16
  5. récupérer la valeur de sortie d'un thread
    Par jakouz dans le forum Langage
    Réponses: 3
    Dernier message: 31/07/2002, 11h28

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