从ruby脚本执行shell脚本

时间:2011-11-30 22:53:41

标签: ruby shell

我有以下内容:

_shellScript = "../Dependency/test.sh"
exec 'sh #{_shellScript}'

但是当我去执行ruby脚本时,它会在shell提示符下结束,而不是执行位于变量_shellScript中的脚本。

任何想法都将不胜感激!

2 个答案:

答案 0 :(得分:7)

在Ruby中,exec结束Ruby进程并将shell传递给指定的子进程。如果您需要将所有test.sh的输出提供给控制台,则需要system("sh #{_shellScript}")。如果您需要提供数据并通过stdin和stdout接收数据,请查看popen

答案 1 :(得分:1)

请尝试以下行:

%x[#{_shellScript}]