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

Administration système Discussion :

Redirection sortie de commande


Sujet :

Administration système

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2007
    Messages : 273
    Points : 83
    Points
    83
    Par défaut Redirection sortie de commande
    Bonjour tout le monde.
    J'ai un soucis avec une redirection de sortie de commande bash

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    bash -x test2.sh &>> log2.txt
    Cette commande devrait me mettre les sortie d'erreur + la sortie standart à la fin de log2.txt... Mais le deuxième ">" n'est pas accepté par bash. Est ce que vous sauriez comment je peux faire pour ne pas écraser mon fichier de sortie?

    Merci d'avance.

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    là RTFM

    2>&1 log

    2> log

    1> log

    > log

    >> log

    &> log

    >& log

    etc...

  3. #3
    Membre confirmé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Points : 486
    Points
    486
    Par défaut
    Salut danathane après avoir lu le putain de manuel , voici
    la théorie :
    pour rediriger la sortie standard (descripteur 1) et la sortie d'erreur d'erreur (descripteur 2) vers le même fichier, il faut rediriger un descripteur de fichier vers un autre préalablement redirigé dans un fichier.
    Sous linux, 2 descripteurs de fichiers ne pouvant pointer vers le même fichier.

    la pratique :
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mon_script.sh > log 2>&1
    Ici tu rediriges, la sortie 1 vers log puis du rediriges la sortie erreur 2 vers la sortie 1.
    une autre possibilité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mon_script.sh 2> log 1>&2
    ici l'inverse

    à bientôt,
    ben

  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
    Citation Envoyé par benilto Voir le message
    Sous linux, 2 descripteurs de fichiers ne pouvant pointer vers le même fichier.
    C'est faux, d'ailleurs rien ne t'empêche de faire :
    D'accord pour le reste.

  5. #5
    Membre confirmé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Points : 486
    Points
    486
    Par défaut
    salut matafan,
    je viens de tester ta commande, tu as effectivement raison.
    a+,
    ben

  6. #6
    Membre confirmé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Points : 486
    Points
    486
    Par défaut
    Petite précision,
    je viens de réouvrir un bouquin qui traite de la programmation shell (programmation shell sous linux de Nicolas Pons). Il est bien indiqué que 2 descripteurs de fichiers ne peuvent pointer simultanément vers un seul fichier. "Ceci à cause de l'utilisation de tampons d'écriture dans la gestion des fichiers par le noyau linux. Le résultat peut être inattendu"

    Voici un exemple :
    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
    Le script a débuté sur dim. 13 févr. 2011 14:25:46 CET
    benilto@supercopter:~/test$ ls
    f1  f2  f3  typescript
    benilto@supercopter:~/test$ ls f1 f2 f3 f4 >log 2>>log
    benilto@supercopter:~/test$ cat log 
    f1
    f2
    f3
    sible d'accéder à f4: Aucun fichier ou dossier de ce type
    benilto@supercopter:~/test$ ls f1 f2 f3 f4 >log2 2>&1
    benilto@supercopter:~/test$ cat log2
    ls: impossible d'accéder à f4: Aucun fichier ou dossier de ce type
    f1
    f2
    f3
    benilto@supercopter:~/test$ exit
    exit
    
    Script complété sur dim. 13 févr. 2011 14:26:46 CET

    Dans le premier cas, le message d'erreur est tronqué, il est entier dans le second.
    a+,
    ben

  7. #7
    Rédacteur
    Avatar de lavazavio
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 673
    Points : 2 412
    Points
    2 412
    Par défaut
    Pour mettre mon grain de sel :
    est équivalent à :
    Rédacteur et Modérateur rubriques Linux et Virtualisation
    Mes Articles
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux
    N'oubliez pas de consulter les FAQ virtualisation et les cours et tutoriels Virtualisation
    Man pages en français

  8. #8
    Membre confirmé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Points : 486
    Points
    486
    Par défaut
    Citation Envoyé par lavazavio Voir le message
    bien pratique !

  9. #9
    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
    Mais non standard. D'ailleurs cette syntaxe est assez mal trouvée puisque c'est aussi une syntaxe valide en shell standard : exécution de la commande en arrière plan (&) et création/troncation du fichier "log" (>log).

  10. #10
    Membre confirmé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Points : 486
    Points
    486
    Par défaut
    ok bien vu.

Discussions similaires

  1. [Toutes versions] Redirection sortie commande vers un textbox
    Par groslou2 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/03/2011, 14h49
  2. Redirection d'une commande dans sortie
    Par fabou3377 dans le forum Linux
    Réponses: 3
    Dernier message: 05/01/2009, 13h52
  3. system et redirection sortie standard sous linux
    Par Choupinou dans le forum Linux
    Réponses: 14
    Dernier message: 11/01/2007, 23h25
  4. Redirection sortie standard - Problème encoding
    Par schniouf dans le forum Langage
    Réponses: 4
    Dernier message: 12/12/2006, 13h51
  5. [VB6] probleme de redirection d'une commande DOS
    Par WriteLN dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 10/06/2003, 09h36

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