2011-09-02 69 views
0

使用ruby 1.9.2我正在編寫一個windows腳本,它打算在包含許多參數的URL上啓動瀏覽器。我曾嘗試啓動瀏覽器過程的各個方面: 「開頭#{URL}` 系統(‘啓動#{URL}’) ...從Ruby腳本啓動瀏覽器時轉義URL&'s

我的URL中包含大量的參數,因此包含&的。問題是&似乎被shell解釋,我還沒有想出如何逃避它們,以便它們被正確地傳遞給瀏覽器。

任何想法?謝謝!

回答

2

您可以使用system with several arguments

在子shell執行命令指令是以下形式之一。
[...]
cmdname, arg1, ...:命令名稱和一個或多個參數(無殼)

這將完全跳過外殼並繞過整個逃逸的問題。試試這個:

system('start', url) 

我不知道如何start適用於Windows,但如果它是一個獨立的可執行文件,應該工作。

0

Launchy也是一個夢幻般的寶石,讓你以跨平臺的方式做到這一點(如果你想超越Windows)。

實施例:

require 'rubygems' 
require 'launchy' 
Launchy.open('http://www.google.com/search?&q=ruby')