On Sat, 20 May 2006 11:00:12 +0200, Julien Vivenot <jvivenot@???>
wrote:
> Bonjour,
>
> Dans un petit script ruby, j'ai besoin de rattraper ce que me sort une
> commande bash. Comment dois je faire ?
> ( dans mon script je fais en gros un :
> fork { exec("ma commande") } )
>
> Pour l'instant, je suis obligé de mettre la sortie de ma commande dans
> un fichier et de le relire après...
>
> Merci
>
Ruby est fortement inspiré de Ruby et on retrouve quasiment les mêmes
mécnismes accomodés à la sauce "Ruby" :
fic = open ( "| <commande>", "<mode>" )
Exemple :
#!/usr/bin/ruby
begin
fic = open ( "| ls -l", "r" ) ;
rescue
print "-Impossible d'ouvrir le fichier 'pipe'\n"
else
# --- Affichage des lignes ---
fic . each_line { | ligne | print ligne }
fic . close () ;
end