hpatoio
December 28, 2006, 3:17pm
1
Ciao a tutti.
Da uno script ruby ho la necessità di lanciare dei comandi esterni
(ZIP di un elevato numero di file)
Ho provato con system, ma, mi servirebbe
un maggior controllo su STDOUT e STDERR
Ho provato facendo loggare STDOUT e STDERR su un file
system (“#{comando} > #{logfile} 2>&1”)
e andando poi a controllare il contenuto dello stesso.
Ma la cosa mi sembra un po “macchinosa”.
Ho ora trovato open3
(http://www.ruby-doc.org/stdlib/libdoc/open3/rdoc/index.html )
che fa tutto quello che mi serve ma non vorrei che si “perda” qualcosa
da STDOUT e/o STDERR.
Qualcuno usa open3 ? ci sono controindicazioni nell’utilizzo ?
Avete consigli su come gestire la cosa ?
Grazie
Simone
hpatoio
December 28, 2006, 3:35pm
2
On 12/28/06, Simone F. [email protected] wrote:
Ciao a tutti.
Da uno script ruby ho la necessità di lanciare dei comandi esterni
(ZIP di un elevato numero di file)
Ho provato con system, ma, mi servirebbe
un maggior controllo su STDOUT e STDERR
Hal F. “The Ruby Way” consiglia di usare popen3.
In alternativa, perché non provi ad usare una libreria dentro a Ruby
piuttosto che un comando esterno? Tipo Rubyzip
(http://rubyzip.sourceforge.net/ )
Disclaimer: non ho provato personalmente in nessuna delle due maniere
Matteo
hpatoio
December 28, 2006, 4:54pm
4
cmd=“echo prova > prova.txt”
#{cmd}
Il 28/12/06, Simone F.[email protected] ha scritto: