1
我是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']}
,但我不能完全弄清楚,如果這是我想使用或不使用的語法的類型。
使用ENV ['HOME']'而不是'#{ENV ['HOME']}''。第二個僅適用於將它嵌入到字符串中的情況。您的代碼必須以該用戶的身份運行才能讀取其環境變量。 –
感謝您的反饋意見。當我想到這個時,我正在考慮'recipes/default.rb'和'template'代碼塊。 '模板 「#{ENV [ 'ORACLE_HOME']} /網絡/ admin/tnsnames.ora中」 做 \t源 「tnsnames.ora.erb」 \t所有者 「預言」 組 「dba」 \t模式「0644 「 結束」# 這似乎不正確但仍然... –