2009-11-04 58 views
1

這可能是一個非常愚蠢的問題,因爲我似乎無法找到答案,因爲我顯然無法使用關鍵字。Linux的Windows外殼行爲 - 運行紅寶石沒有「紅寶石」追加到命令?

如果您在.rb文件的頂部放置了一行代碼,您就不必一直輸入ruby myfile.rb,只需執行./myfile.rb即可知道如何從命令行在Linux中運行命令?是否有可能在Windows環境中具有相同的東西?大部分時間我都使用git bash作爲shell,並且安裝了很多cygwin二進制文件。只是一般的方法是將該行放在頂部,然後chmod該文件,這不是一個真正的選擇。

回答

2

是的,你可以:

assoc .rb=RubyScript 
ftype RubyScript=ruby "%1" %* 

之後,你可以簡單地調用你的Ruby腳本像一個可執行程序。

如果您還希望能夠刪除.rb文件擴展名,則需要在PATHEXT環境變量中包含.rb

+1

順便說一句,這是沒有腳本解釋器具體。這只是正常的文件關聯的東西,也用於關聯,說Word與'.doc'文件。這意味着你也可以像使用文檔一樣進行:只需雙擊一個Ruby文件,對話框就會彈出,詢問你如何處理文件,瀏覽到ruby.exe,然後就完成了。 – 2009-11-04 18:34:49

+0

我只是以爲有人來自Linux可能更適合使用命令行解決方案:-) – Joey 2009-11-16 23:33:57

+0

這似乎不能完全在win7上運行。雖然我可以啓動一個腳本,但似乎並沒有將命令行傳遞給腳本。例如,如果我有一個腳本可以「放入ARGV.size」並運行foo.rb param1,它將輸出0 :( – MikeJ 2010-02-18 06:44:54

0

可能您需要定義常規的Windows文件關聯?

1

如果你想有一個圖形化的工具,以協助這在Win 7,你可能想看看: http://defaultprogramseditor.com/

有了這個工具,你可以輕鬆地編輯.RB文件的上下文菜單項(或任何其他文件)

爲 「打開」 命令是:

ruby "%1" %* 

,你可以創建一個 「編輯」 命令,如:

c:\ruby\scite\scite.exe "%1" 

如上所述,如果您在「%1」之後未指定%*,則腳本將不會看到任何命令行參數。並且不要忘記將.RB添加到PATHEXT環境變量中。