prob avec fonction system()

prob avec fonction system() - Perl - Programmation

Marsh Posté le 20-04-2004 à 03:46:44    

Voila j'ai un probleme pour recuperer la sortie de system() ou mise en page du resultat ce que je veut c par un script perl lancer un
autre script shell qui donnerai un résultat et ce résultat je dois le récuperer.Comment faire?je suis débutante et j'ai vraiment du mal .
Merci pour votre aide  
voici mes scripts:
taille_mont.pl
 
#!/usr/bin/perl
#system("perl -w  crea_instance.pl $nom_base" );
#system("df -k |grep /public/oracle" );
system(" taille.sh" );
print " voici la taille $taille";
 
 
taille.sh
#!/bin/sh
 
#taille du repertoire de montage
$taille=df -k |grep /public/oracle |awk -F ' ' '{print $4}'
~j'ai essayé de tous faire dans mon script perl mais j'ai vraiment du mal.
Merci d'avance
~
~
~
 
 
 
 
 

Reply

Marsh Posté le 20-04-2004 à 03:46:44   

Reply

Marsh Posté le 20-04-2004 à 04:24:46    

En gros tu as deux façons de récupérer la sortie d'une command externe :

  • Les backticks (`) : print `taille.sh`
  • Faire un open(FH, "command |" ) puis lire le file handle. Comme n'importe quel file handle ça renverra une ligne dans un contexte scalaire, et un tableau de ligne dans un contexte de liste. Par exemple : open(CMD, "taille.sh |" ) or die $!; print <CMD>;

Reply

Marsh Posté le 20-04-2004 à 19:18:58    

matafan a écrit :

En gros tu as deux façons de récupérer la sortie d'une command externe :

  • Les backticks (`) : print `taille.sh`
  • Faire un open(FH, "command |" ) puis lire le file handle. Comme n'importe quel file handle ça renverra une ligne dans un contexte scalaire, et un tableau de ligne dans un contexte de liste. Par exemple : open(CMD, "taille.sh |" ) or die $!; print <CMD>;



 
ça marche je te remerci bcp.
juste une autre question t'as une idée de comment utiliser getopt pour tester les arguments et options de ligne de commande.
JE TE REMERCIE

Reply

Marsh Posté le 21-04-2004 à 00:01:04    

nycagi a écrit :

ça marche je te remerci bcp.
juste une autre question t'as une idée de comment utiliser getopt pour tester les arguments et options de ligne de commande.
JE TE REMERCIE


 
moi j'utilise Getopt::Long
 
http://search.cpan.org/~jv/Getopt- [...] pt/Long.pm


---------------
http://www.boincstats.com/signature/user_664861.gif
Reply

Marsh Posté le 21-04-2004 à 04:58:55    

Getopt::Long est dans la librairie standard de Perl : http://perldoc.com/perl5.8.0/lib/Getopt/Long.html

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed