木偶:replace参数的实际名称

这是自定义事实:

require 'etc' Etc.passwd do |user| Facter.add("homedir_#{user.name}".intern) do setcode { user.dir } end end 

它确定用户的主目录位置。

这里是定义types:

 define ssh_keys::key ($user) { $home = $::homedir_#{user} if $home != undef { file { "$home/.ssh/": ensure => directory, } file { "$home/.ssh/authorized_keys": ensure => file, source => "puppet:///modules/ssh_keys/$user", } } } 

它不能和$::homedir_#{user} ,但是可以使用$::homedir_root 。 这里有什么问题?

这里是解决scheme:

 $mule = "ipaddress_${name}" $donkey = inline_template("<%= scope.lookupvar(mule) %>")