• ベストアンサー

シェバング行 envの意味

perlとは直接関係ありませんが、シェバング行の意味が知りたいです。 #!/usr/bin/env ruby envの無い次のものはrubyを実行するという意味でわかりますが、 上のenvをつける理由が知りたいです。以下では駄目なのでしょうか? #!/usr/bin/ruby

質問者が選んだベストアンサー

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

>上のenvをつける理由が知りたいです。以下では駄目なのでしょうか? >#!/usr/bin/ruby env を使うのは、rubyのようなインタプリタをおかれている場所が統一されていない場合に、 env に探させて起動するということで、スクリプトを書き換えないでも 多くの場所でそのまま使えるようにするという目的です。 #env自体も /usr/bin なのか /bin なのかという話もありますが。 ですので、 /usr/bin に rubyがあるのなら、 #!/usr/bin/ruby にして問題ありません。 envを使うことで別の問題が出たりするんで、嫌う人もいます。

関連するQ&A