我是Chef和Ruby的新手,并试图了解如何从特定的Linux / Windows用户读取环境变量并使用它来放置文件。
我想要做的是更新我们的Oracle tnsnames.ora
文件以进行客户端和数据库安装。
这些文件可能位于Windows中的C:\oracle
或C:\Program Files\oracle
或Linux中的/u01/app/oracle/product/11.2/network/admin
或/u01/app/oracle/producdt/10.2/network/admin
之类的目录中。
我无法100%确定如果没有将环境变量读入配方并使用它,我将知道确切的位置。
我正在阅读有关#{ENV['HOME']}
但我无法弄清楚这是否是我想要使用的语法类型。
答案 0 :(得分:0)
Ruby has a native method for doing this。我怀疑
template "#{Dir.home("oracle")}/network/admin/tnsnames.ora" do
source "tnsnames.ora.erb"
[...]
end
将大致做你想要的。这只有当除了主目录的位置之外的操作系统之间没有区别时才有效。