script.shрубин выход сценарий оболочки в реальном времени
echo First!
sleep 5
echo Second!
sleep 5
echo Third!
another_script.rb
%x[./script.sh]
Я хочу another_script.rb для печати выход script.sh, как Бывает. Это означает, что вы печатаете «Сначала!», Ожидая пять секунд, печатая «Second!», Ожидая 5 секунд и т. Д.
Я прочитал различные способы запуска внешнего скрипта в Ruby, но ни один из них не выглядит . сделать это Как я могу выполнить мои требования
Сценарий имеет правильную бах. 'system" ./script.sh "' производит те же результаты, что и '% s [./ script.sh]'. Я хочу распечатать вывод сценария в реальном времени, как это происходит, а не выводить вывод сценария в качестве возвращаемого значения. –
Для меня он запускает ваш скрипт и показывает результат правильно. Вы хотите захватить вывод скрипта и обработать его с помощью Ruby? Если это так, вам нужно использовать ['popen3'] (http://www.ruby-doc.org/stdlib-1.9.3/libdoc/open3/rdoc/Open3.html#method-c-popen3). – tadman
Хмм, какая версия Ruby вы используете? –