使用ruby 1.9.2我正在编写一个Windows脚本,它打算在包含许多参数的URL上启动浏览器。我尝试了各种启动浏览器进程的方法: '开始#{url}` system(“start#{url}”) ...
我的网址包含许多参数,因此包含&'s。问题是,& s似乎是由shell解释的,我还没有弄清楚如何将它们转义为正确传递给浏览器。
有什么想法吗?谢谢!
答案 0 :(得分:2)
您可以使用system
with several arguments:
在子shell中执行命令。 命令是以下形式之一 [...]
cmdname, arg1, ...
:命令名和一个或多个参数(无shell)
这将完全跳过shell并绕过整个转义问题。试试这个:
system('start', url)
我不确定start
如何与Windows一起使用,但如果它是一个单独的可执行文件,它应该有效。
答案 1 :(得分:0)
Launchy也是一个非常棒的宝石,允许您以跨平台的方式执行此操作(如果您想要超越Windows)。
示例:
require 'rubygems'
require 'launchy'
Launchy.open('http://www.google.com/search?&q=ruby')