Re: rattraper la sortie d'une commande bash

Startseite

Nachricht beantworten
Autor: LIGIER Philippe
Datum:  
To: Julien Vivenot, Guilde de grenoble
Betreff: Re: rattraper la sortie d'une commande bash
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