我的 ruby shell 脚本在脚本的第一行将 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
失败(“错误的解释器:没有这样的文件或目录”)。我怀疑第一行没有完成环境扩展,所以我可能只是不走运。如果有人能够在 shell 脚本的程序定义行上使用环境变量扩展,我会很感兴趣。