プロが教えるわが家の防犯対策術!

perlとは直接関係ありませんが、シェバング行の意味が知りたいです。

#!/usr/bin/env ruby

envの無い次のものはrubyを実行するという意味でわかりますが、
上のenvをつける理由が知りたいです。以下では駄目なのでしょうか?
#!/usr/bin/ruby

A 回答 (1件)

>上のenvをつける理由が知りたいです。

以下では駄目なのでしょうか?
>#!/usr/bin/ruby

env を使うのは、rubyのようなインタプリタをおかれている場所が統一されていない場合に、
env に探させて起動するということで、スクリプトを書き換えないでも
多くの場所でそのまま使えるようにするという目的です。
#env自体も /usr/bin なのか /bin なのかという話もありますが。

ですので、

/usr/bin に rubyがあるのなら、
#!/usr/bin/ruby にして問題ありません。

envを使うことで別の問題が出たりするんで、嫌う人もいます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!