3
我知道我可以做简单的事情,像System.cmd("echo", ["hello"])
但假设我想要做这样的事情在shell我可以做类似运行Ruby进程制作系统的选项调用
通常情况下:ruby -e 'puts "hello world"
我已经试过了一堆类似的东西变化:
System.cmd("ruby", ["-e", "'puts \"hello world\"'"])
没有多少运气
我可以叫下来二郎神os
模块,但是这似乎并不理想,因为我需要我的字符串明确分割成字符,重铸它,以及计算出如何捕捉除了退出代码的结果
哦jeez,花了几个小时才知道报价将被添加为我。谢谢! –
System.cmd更像exec,即ruby版本。它永远不会通过shell,因此您不必执行shell cmd行引用。这既好又坏。你不能做I/O重定向,但它稍微安全一些。 –
谢谢,很高兴知道! –