35

ruby プログラムの最初に次のコマンドを書くのは何の役に立つのですか?

#!/usr/local/bin/ruby -w

OS固有のコマンドですか?Windows上のRubyには有効ですか? そうでない場合、Windows で同等のコマンドは何ですか?

4

3 に答える 3

72

シェバンといいます。ファイルを実行するために使用するコマンドをプログラムローダーに伝えます。したがって、 を実行する./myscript.rbと、実際には に変換され/usr/local/bin/ruby -w ./myscript.rbます。

Windows は同じ目的でファイルの関連付けを使用します。シバン行は効果がありませんが(編集:FMcの回答を参照)、害もありません。

移植可能な方法 (たとえば、Cygwin およびRVMで動作) は次のようになります。

#!/usr/bin/env ruby

これは、envコマンドを使用して Ruby インタープリターの場所を特定し、実行します。

編集: どうやら、正確には Cygwin は で誤動作し、代わりに/usr/bin/env ruby -w検索しようとします。の効果をスクリプト自体に入れたいと思うかもしれません。ruby -wruby-w

于 2013-07-03T12:10:29.947 に答える