1

我的 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 脚本的程序定义行上使用环境变量扩展,我会很感兴趣。

4

1 回答 1

2

放入${MY_RUBY_HOME}/bin你的$PATH并使用#!/usr/bin/env ruby。见这里

于 2012-10-27T12:48:12.120 回答