2010-02-12 3 views
0

J'attrapais des e-mails à « Script @ localhost » avec/etc/alias:Comment puis-je capturer la sortie d'un script shell invoqué à partir de Ruby?

script: root,"|/path-to-my-script" 

cela devient un email sur STDIN et je suis analyse et de la transmettre à d'autres scripts.

#!/usr/bin/ruby 
email = ARGF.read 
...parse...parse-some-more... 
system("/my-other-script.sh #{email.todo}") 

Quelle serait une meilleure façon de capturer STDOUT de my-other-script.sh pour le dépannage?

Répondre

0

je vais avec:

out = `/my-other-script.sh #{email.todo} 2>&1` 
log.debug $?.exitstatus 
log.debug out 

semble fonctionner

0

Avez-vous déjà regardé IO.popen? Je ne suis pas un expert, mais il pourrait être utile de jeter un oeil là-bas.

Questions connexes