Я понимаю, что я могу делать простые вещи, как System.cmd("echo", ["hello"])
, но предположим, что я хотел сделать что-то вроде запустить процесс РубиВыполнение системных вызовов с опциональными
Обычно в оболочке я мог бы сделать что-то вроде: ruby -e 'puts "hello world"
I «пробовал кучу вариаций нечто похожее на:
System.cmd("ruby", ["-e", "'puts \"hello world\"'"])
без особой удачи
я могу позвонить вниз модуль Erlang os
, Но это не кажется идеальным, как мне нужно, чтобы явно разделить мои строки в символы и переделке его, а также выяснить, как захватить код выхода в дополнение к результату
О, боже, часы, потраченные на то, чтобы выяснить, кавычки будут добавлены для меня. Благодаря! –
System.cmd гораздо больше похож на exec, чем рубиновая версия. Он никогда не проходит через оболочку, поэтому вам не нужно делать цитату из командной строки. Это хорошо и плохо. Вы не можете перенаправлять I/O, но это немного более безопасно. –
Спасибо, приятно знать! –