使用适当的参数转义从 ruby 在后台执行 shell 命令
我必须在后台运行一个命令,但我想对其参数进行适当的转义。
system("rake send_mails subject='#{params[:subject]}' 2> /dev/null 1> /dev/null &");
如果我写 system("rake", "send_mails", params[:subject])
那么我就没有用于重定向的“地方”和 &
符号。如果不这样做,我就无法转义 subject
参数。
我该如何解决这个问题?
I have to run a command in the background but I want to have proper escaping for its parameter.
system("rake send_mails subject='#{params[:subject]}' 2> /dev/null 1> /dev/null &");
If I write system("rake", "send_mails", params[:subject])
then I don't have "place" for redirections and the &
sign. If I don't I do not have escaping for the subject
parameter.
How can I resolve this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 Ruby 1.9 中,尝试 Process.spawn:
In Ruby 1.9, try Process.spawn: