From: Takahiro Kambe Date: 2008-12-08T18:46:59+09:00 Subject: [ruby-dev:37313] Re: m17n of irb In message on Mon, 8 Dec 2008 17:45:47 +0900, Yukihiro Matsumoto wrote: > In message "Re: [ruby-dev:37304] Re: m17n of irb" > on Mon, 8 Dec 2008 13:30:33 +0900, keiju@ishitsuka.com (石塚圭樹) writes: > > |>shbangでの使用を考えています。つまり、そのアプリケーションが > |>どのようなエンコーディングで入出力したいか宣言するイメージで > |>すね。 > | > |* shbangってWindowsとかってOKなんです? > |* shbang って引数1つまでだと思います. env を使うと rubyには引数渡せませ > | ん. > > Rubyは自力で解析します。 自力で解析するプラットフォームはWindowsでの話でしょうか? システムによりますが、"#!"を解釈して、インタープリタと引数に解釈して 起動する処理はカーネルで行います。そこで、実行権のあるファイルscriptが #! command arg だと command に arg を第1引数、元のスクリプトを第2引数として起動するこ とになります。このため、argをスペースで区切って複数渡したつもりでも、 #! command a b c commandの第1引数には "a b c"として渡ります。このため、 #! env ruby -v とかすると、envは "ruby -v" というプログラムを実行しようとして、 env: ruby -v: No such file or directory となってしまいます。rubyが自分で解釈するよりも前に、rubyをenvが起動で きません。うまくいくシステムもあるのかもしれませんが、以上は NetBSD 上 で確認しています。 と、いう話を石塚さんは言いたかったのではないでしょうか? (もっとも、本ちゃんでは shbang な行に env なんて使っちゃダメだと思う。) -- 神戸 隆博(かんべ たかひろ) at 仕事場