【问题标题】:linux like behavior in windows shell - running ruby without "ruby" appended to the command?Windows shell 中类似 linux 的行为 - 运行 ruby​​ 时没有在命令中附加“ruby”?
【发布时间】:2009-11-04 10:44:18
【问题描述】:

这可能是一个非常愚蠢的问题,但我似乎无法找到答案,因为我显然在关键字上失败了。

如果您在 .rb 文件的顶部放置一行,您就知道如何在 linux 中从命令行运行命令,这样您就不必一直输入 ruby myfile.rb,而只需执行 ./myfile。 RB?在windows环境下可以有同样的东西吗?我大部分时间都使用 git bash 作为我的 shell,并且安装了很多 cygwin 二进制文件。只是一般的方法是把那行放在最上面,然后chmod文件,这不是一个真正的选择。

【问题讨论】:

    标签: ruby windows command-line


    【解决方案1】:

    是的,您可以:

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

    之后,您可以像调用可执行程序一样简单地调用您的 ruby​​ 脚本。

    如果您还希望能够删除.rb 文件扩展名,则需要在PATHEXT 环境变量中包含.rb

    【讨论】:

    • 顺便说一句,这与脚本解释器无关。这只是用于关联的普通文件关联内容,例如 Word 与 .doc 文件。这意味着您也可以像处理文档一样执行此操作:只需双击 Ruby 文件,将弹出对话框询问您如何处理该文件,浏览至ruby.exe,您就完成了。
    • 我只是认为来自 Linux 的人可能更喜欢命令行解决方案 :-)
    • 这似乎在 win7 上无法完全运行。虽然我可以启动一个脚本,但它似乎没有将命令行传递给脚本。例如,如果我有一个执行“puts ARGV.size”并运行 foo.rb param1 的脚本,它将输出 0 :(
    • @Jörg,但不完全是,因为这不会添加 %*,因此您无法将参数传递给脚本。
    • @MikeJ:你忘了%*吗?
    【解决方案2】:

    如果您希望在 Win 7 上使用图形工具来帮助解决此问题,您可能需要查看: http://defaultprogramseditor.com/

    使用此工具,您可以轻松编辑 .rb 文件(或任何其他文件)的上下文菜单项

    “打开”命令为:

    ruby "%1" %*
    

    你可以创建一个“编辑”命令,例如:

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

    如上所述,如果您没有在“%1”之后指定 %*,您的脚本将看不到任何命令行参数。并且不要忘记将 .RB 添加到 PATHEXT 环境变量中。

    【讨论】:

      【解决方案3】:

      您可能需要定义常规的 windows 文件关联吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-11
        • 1970-01-01
        • 2012-04-26
        • 2016-07-18
        • 2013-10-31
        • 2011-03-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多