在puppet中的类之间传递变量
我正在尝试使用exec资源类型执行批处理文件。但是我想将变量$dsn_64bit的值从init.pp传递到install.pp。请让我知道如何做到这一点: 这是我的init.pp在puppet中的类之间传递变量,puppet,Puppet,我正在尝试使用exec资源类型执行批处理文件。但是我想将变量$dsn_64bit的值从init.pp传递到install.pp。请让我知道如何做到这一点: 这是我的init.pp class exec_batchfile ($dsn_64bit = "false") { if $::osfamily == 'windows' { include exec_batchfile::install } } 这是我的install.pp class exec_batchfile::insta
class exec_batchfile ($dsn_64bit = "false")
{
if $::osfamily == 'windows' {
include exec_batchfile::install
}
}
这是我的install.pp
class exec_batchfile::install
{
if $dsn_64bit == true
{
$hklm_path = 'HKLM\Software\Oracle'
$Script_name = 'E:\\Path\\pupp_test64.bat'
}
else
{
$hklm_path = 'HKLM\Software\WOW6432Node\Oracle'
$Script_name = 'E:\\Path\\pupp_test.bat'
}
exec { 'exec_batchfile':
command => "${Script_name}",
path => $::path,
logoutput => true,
unless => "cmd.exe /c reg query ${hklm_path} /v inst_loc",
}
}
谢谢,因为puppet 2.7动态查找已被弃用,所以您的代码无法正常工作。现在推荐的解决方案是使用完全限定名。请按照下面的说明查找全面的说明 每当需要引用另一个类中的变量时,请为该变量指定一个显式名称空间:使用$git::core::packagelist而不是简单地引用$packagelist
$local_var=“from parent::child”成功了+1用于链接。谢谢你,我改变了我的答案,使之更符合你的评论。