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

Langage Perl Discussion :

redirection console commande system()


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Consultant communication & réseaux
    Inscrit en
    novembre 2014
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant communication & réseaux

    Informations forums :
    Inscription : novembre 2014
    Messages : 47
    Points : 38
    Points
    38
    Par défaut redirection console commande system()
    Bonjour à tous,

    Je suis nouveau sur Perl et j'aimerais savoir s'il est possible de rediriger la console d'une commande system()
    dans un log plutot qu'a l'ecran. Pour logguer les infos j'utilise Log4perl. Voici mon bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    system("sha256sum $backupdir/$databases-$timeStamp.sql.gz | tee $backupdir/$databases-$timeStamp.sql.gz.sha256sum");
    ce que je voudrais rediriger c'est l'output de la commande dans mon fichier de log

    Est ce possible ?

    Merci à vous,

  2. #2
    Membre habitué
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    juillet 2014
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Conseil

    Informations forums :
    Inscription : juillet 2014
    Messages : 82
    Points : 194
    Points
    194
    Par défaut
    oui c'est possible, il existe plusieurs possibilités :
    https://stackoverflow.com/questions/...a-file-in-perl

    (pas tout lu) : https://www.perlmonks.org/?node_id=631760

  3. #3
    Membre habitué
    Homme Profil pro
    Master Data Manager
    Inscrit en
    février 2017
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Master Data Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2017
    Messages : 98
    Points : 138
    Points
    138
    Par défaut
    Bonjour.


    La fonction system() permet de lancer une commande et de récupérer l'état de sortie de celle-ci. (un entier en général)
    Pour collecter la sortie d'une commande, il faut utiliser soit l'opérateur qx{} soit ``. Exemple:

    Code perl : 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
    use Modern::Perl;
    use Data::Printer;
     
    ### lancer une commande systeme:
     
    # recup etat de sortie de la commande
    my @sys = system( 'ls -l' );
    p @sys;
     
    # recup la sortie de la commande avec opérateur qx{}:
    my @qx = qx{ls -l};
    p @qx;
     
    # recup la sortie de la commande avec opérateur ``:
    my @app = `ls -l`;
    p @app;


    PS Si besoin les accolades de qx peuvent être remplacées par autre chose, comme tous les opérateurs q...

Discussions similaires

  1. Problème avec l'utilisation de la commande system awk
    Par vbcasimir dans le forum Linux
    Réponses: 3
    Dernier message: 05/10/2004, 17h18
  2. [le retour] commande systeme
    Par ronan99999 dans le forum Windows
    Réponses: 2
    Dernier message: 29/07/2004, 11h11
  3. [langage] Probleme avec commande system et code
    Par Ludo167 dans le forum Langage
    Réponses: 3
    Dernier message: 14/07/2004, 13h01
  4. Prblème avec la commande system
    Par AnneOlga dans le forum C++Builder
    Réponses: 8
    Dernier message: 04/03/2004, 17h05
  5. La commande systeme
    Par sunshine33 dans le forum MFC
    Réponses: 11
    Dernier message: 13/01/2004, 12h34

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