[英]Using environment variables in a file path
我想在以下代碼中使用輸入path
:
File.exists?(File.expand_path(path))
我可以在path
使用環境變量,語法應該是什么?
你可以使用標准的紅寶石字符串插值(雖然它有點羅嗦)
path = "log/#{ENV['RAILS_ENV']}.log" # or whatever
# >> "log/development.log"
要擴展環境變量,您應該自己完成:
def expand_env(str)
str.gsub(/\$([a-zA-Z_][a-zA-Z0-9_]*)|\${\g<1>}|%\g<1>%/) { ENV[$1] }
end
expand_env("${SHELL}:%USER%:$PAGER")
# => "/bin/bash:amadan:less"
(支持Windows風格和Unix風格,但只支持基本替換,而不是bash能夠做的任何瘋狂的事情)。
為了便於攜帶,最好使用File::join
和ENV
Hash:
File.exists?( File.join(ENV['MY_VAR'],'bin') )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.