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 :

Redirection de sortie standard dans un script bash


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 179
    Par défaut Redirection de sortie standard dans un script bash
    Bonjour à tous !

    Je voudrais savoir si on peut définir la sortie standard d'un script dans celui-ci ?

    Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    !#/bin/sh
     
    [code permettant de définir la sortie standard du code ci-dessous]
    [code bash]
     
    exit

    Merci à tous !
    RedVivi

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par redvivi Voir le message
    Bonjour à tous !

    Je voudrais savoir si on peut définir la sortie standard d'un script dans celui-ci ?

    Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    !#/bin/sh
     
    [code permettant de définir la sortie standard du code ci-dessous]
    [code bash]
     
    exit

    Merci à tous !
    RedVivi

    Bien sûr
    Tu peux redéfinir une sortie vers un fichier (ou plusieurs vers plusieurs fichiers). Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/bin/bash
    exec 3>fichier1
    exec 4>fichier2
     
    # Ecriture dans le fichier1
    date 1>&3
     
    # Ecriture dans le fichier 2
    ls -l 1>&4
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 179
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Bien sûr
    Tu peux redéfinir une sortie vers un fichier (ou plusieurs vers plusieurs fichiers). Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/bin/bash
    exec 3>fichier1
    exec 4>fichier2
     
    # Ecriture dans le fichier1
    date 1>&3
     
    # Ecriture dans le fichier 2
    ls -l 1>&4
    Merci pour ta réponse ! Ceci fonctionne sur une commande avec une ligne, mais si j'ai une portion de code dont je veux rediriger la stderr/stdout?

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 840
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par redvivi Voir le message
    Merci pour ta réponse ! Ceci fonctionne sur une commande avec une ligne, mais si j'ai une portion de code dont je veux rediriger la stderr/stdout?
    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
    #!/bin/bash
     
    exec 3>result
    exec 4>error
     
    (
         while ...
         do
                echo ..
         done
     
         if ...
         then
              echo ...
         fi
    ) 1>&3 2>&4
    Toutes les commandes placées entre les parenthèses écriront dans "result" et les erreurs iront dans "error"
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 179
    Par défaut
    Wah je conaissais pas cette astuce ! Vraiment géniale ! Merci à toi

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

Discussions similaires

  1. Redirection des sorties standards dans JTextArea
    Par somnix dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 03/12/2012, 10h26
  2. Bash - Redirection silencieuse sortie standard
    Par ned57 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 05/11/2012, 14h46
  3. Réponses: 0
    Dernier message: 13/03/2008, 10h10
  4. Requête POST dans un script bash
    Par desperado dans le forum Linux
    Réponses: 4
    Dernier message: 11/12/2007, 22h38
  5. Réponses: 11
    Dernier message: 03/11/2006, 23h53

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