在ruby代码中使用终端命令?
这个问题在这里已经有了答案:
Kernel#exec
,用你指定的那个替换你的ruby进程,作为相应的系统调用。 因此,即使有更多的代码要运行,它也会结束程序。 可能不是你想要的。 像下面这样工作: exec("this")
`this`
将会运行this
`this`
并将它的stdout作为一个字符串返回。 同样的东西有不同的语法: %x(this)
Kernel#system
:与exec
相同,但不会替换您的Ruby进程并返回一个布尔值...大部分时间:它是否成功运行( true
),它返回非零( false
)还是未能运行在全部( nil
); 可作为system("this")
运行system("this")