从 ruby 脚本执行 shell 脚本
我有以下内容:
_shellScript = "../Dependency/test.sh"
exec 'sh #{_shellScript}'
但是当我执行 ruby 脚本时,它最终会出现 shell 提示符,而不是执行位于变量 _shellScript 中的脚本。
任何想法将不胜感激!
I have the following:
_shellScript = "../Dependency/test.sh"
exec 'sh #{_shellScript}'
But when I go to execute the ruby script it ends me up at a shell prompt instead of executing the script that is located within the variable _shellScript.
Any ideas would be appreciated!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 Ruby 中,
exec
结束 Ruby 进程并将 shell 传递给指定的子进程。如果您需要将test.sh
的所有输出提供给控制台,则需要system("sh #{_shellScript}")
。如果您需要通过 stdin 和 stdout 提供数据并接收数据,请查看popen
。In Ruby,
exec
ends the Ruby process and passes the shell to the child specified. If you need to give all oftest.sh
's output to your console, you wantsystem("sh #{_shellScript}")
. If you need to give data and receive it through stdin and stdout, look atpopen
.只需尝试以下行:
Just try the following line: