2012-10-27 97 views
0

我的紅寶石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腳本的程序定義行中使用環境變量擴展,我會感興趣。

回答

1

${MY_RUBY_HOME}/bin放入您的$PATH並使用#!/usr/bin/env ruby。見here

+0

謝謝!奇蹟般有效!而紅寶石已經在路上了,所以我需要的只是一根線。 – user1132534

+0

@ user1132534:不客氣。如果它解決了您的問題,請考慮[接受答案](http://meta.stackexchange.com/a/5235)。 –