[英]environment variable expansion in first line of shell script
我的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腳本的程序定義行中使用環境變量擴展,我將很感興趣。
將${MY_RUBY_HOME}/bin
放入$PATH
並使用#!/usr/bin/env ruby
。 看這里 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.