2009-11-04 56 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环境变量中。