私の Ruby シェル スクリプトは、スクリプトの最初の行で Ruby インタープリターを次のように指定します。
#!/Users/me/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
問題は、Ruby の新しいバージョンにアップグレードするときに、すべてのスクリプト ファイルを編集してインタープリターを更新する必要があることです。使用可能な環境変数 $MY_RUBY_HOME があり、現在のパス (/bin/ruby の部分を除く) に展開されます。ただし、使用しようとするすべての試み:
#!{$MY_RUBY_HOME}/bin/ruby
#!${MY_RUBY_HOME}/bin/ruby
etc
失敗します (「悪いインタープリター: そのようなファイルまたはディレクトリはありません」)。最初の行で環境の拡張が行われていないのではないかと思うので、運が悪いだけかもしれません。シェルスクリプトのプログラム定義行で環境変数展開を使用できる人がいれば、私は興味があります。