1

我是 Chef 和 Ruby 的新手,并试图了解如何从特定的 Linux/Windows 用户读取环境变量并使用它来放置文件。

我想做的是tnsnames.ora为客户端和数据库安装更新我们的 Oracle 文件。

这些文件可能位于 Windows 或C:\oracleLinux之 类的目录中。C:\Program Files\oracle/u01/app/oracle/product/11.2/network/admin/u01/app/oracle/producdt/10.2/network/admin

如果不将环境变量读入配方并使用它,我不能 100% 确定我会知道确切的位置。

我正在阅读,#{ENV['HOME']}但我不太清楚这是否是我想要使用的语法类型。

4

1 回答 1

0

Ruby 有一个本地方法来执行此操作。我猜测

template "#{Dir.home("oracle")}/network/admin/tnsnames.ora" do
    source "tnsnames.ora.erb"
    [...]
end

会做大约你想要的。当然,这仅适用于除了主目录的位置之外的操作系统之间没有区别的情况。

于 2013-09-27T03:55:55.363 回答