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

Programmation et administration système Perl Discussion :

récupérer commande wget dans variable impossible !


Sujet :

Programmation et administration système Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 75
    Par défaut récupérer commande wget dans variable impossible !
    Bonjour à tous,

    Je me casse (encore) les dents sur un petit souci.

    je souhaite récupérer la sortie d'une commande de test wget dans un variable.
    quoi que je fasse il me l'affiche à l'écran, j'arrive quand même a le récupérer dans une variable mais j'aimerai supprimer la sortie d'affichage standard..

    voici un extrait de mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    my $test;
     
     
    $test=system(q!wget  -S -O - http://192.168.1.1/Microsoft-Server-ActiveSync?Cmd=FolderSync\&DeviceType=iPad\&DeviceId=test  !);
     
    	print "\ntest=>$test";#ici je vérifie le contenue de ma variable pour l'utiliser plus tard.
    J'ai tenté de supprimer la sortie en renvoyant le tout dans /dev/null, mais ça ne change rien

    Je vous remercie

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Bonjour,

    Il ne faut pas utiliser system : http://perl.developpez.com/faq/perl/...les-backquotes

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 75
    Par défaut
    Citation Envoyé par djibril Voir le message
    Bonjour,

    Il ne faut pas utiliser system : http://perl.developpez.com/faq/perl/...les-backquotes
    J'ai essayé avec les backquotes mais ça ne change rien...

  4. #4
    Membre éprouvé
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juillet 2014
    Messages
    84
    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 : 84
    Par défaut
    tu peux essayer en redirigeant STDOUT vers un fichier.

    Au début de mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #Re-init STDOUT
     
    my $fichier_stdout = "redir_stdout.txt" #<-- attention au chemin
    close( STDOUT );
    open( STDOUT, ">>$fichier_stdout" ) or die( "Can't open new STDOUT '$fichier_stdout' : $!\n" );
    #todo code
     
    close( STDOUT );

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 75
    Par défaut
    je viens de tester il m'affiche quand même la sortie.

    Je pense que ça doit être du à la commande wget en elle même..

    voici ce que j'ai codé à partir de vos conseils:
    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
     
    my $test;
     
     
     
    #Re-init STDOUT
     
    my $fichier_stdout = "/home/julien-n.martin/stig/scripts/obm/redir_stdout.txt"; #<-- attention au chemin
    close( STDOUT );
     
    open( STDOUT, ">>$fichier_stdout" ) or die( "Can't open new STDOUT '$fichier_stdout' : $!\n" );
     
    #todo code
    $test=`wget -S -O - http://MONIP/Microsoft-Server-ActiveSync?Cmd=FolderSync\&DeviceType=iPad\&DeviceId=test`;
     
    close( STDOUT );
     
    	#~ print "\ntest=>$test";
    Merci pour vos réponses

  6. #6
    Membre éprouvé
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juillet 2014
    Messages
    84
    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 : 84
    Par défaut
    est ce une sortie d'erreur ?

    tu peux essayer de rediriger la sortie d'erreur STDERR de la même façon.

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

Discussions similaires

  1. Récupérer hauteur div dans variable session
    Par Ctesias dans le forum Langage
    Réponses: 4
    Dernier message: 08/02/2012, 15h04
  2. Réponses: 4
    Dernier message: 26/04/2010, 09h54
  3. récupérer page internet dans variable puis afficher
    Par bigfootspi dans le forum Langage
    Réponses: 6
    Dernier message: 25/08/2008, 14h39
  4. enregistrer retour commande unix dans variable
    Par tisba972 dans le forum Langage
    Réponses: 2
    Dernier message: 30/07/2008, 08h40
  5. Mettre resultat commande MSDOS dans variable
    Par vpovpo dans le forum Windows
    Réponses: 1
    Dernier message: 05/01/2007, 17h09

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