使用BASH命令设置Puppet变量

使用BASH命令设置Puppet变量,bash,puppet,Bash,Puppet,我一直在尝试在Puppet清单中设置一个变量,该变量可以在Puppet运行中使用。我有以下变量: $package = 'hello' $package_ensure = 'present' $package_version = '4.4.1' $package_maj_version = '4' 我正在尝试添加另一个变量: $ensure 使用使用上述变量的BASH If语句(因为这是源代码安装,所以我不能使用rpm命令查看是否安装了hello程序

我一直在尝试在Puppet清单中设置一个变量,该变量可以在Puppet运行中使用。我有以下变量:

$package             = 'hello'
$package_ensure      = 'present'
$package_version     = '4.4.1'
$package_maj_version = '4'
我正在尝试添加另一个变量:

$ensure
使用使用上述变量的BASH If语句(因为这是源代码安装,所以我不能使用rpm命令查看是否安装了hello程序):

但是,我还没有找到这样做的方法。我不断收到错误,例如:

Error: Could not parse for environment production: Could not match ${package}${package_maj_version}"

如果您在这方面有任何帮助,我们将不胜感激。

由于系统上存在
/opt/
目录,因此当未设置
软件包
软件包主要版本
时,您的陈述将为真。这是您可以接受的行为吗?是的,如果
package
package\u maj\u version
默认为true,如果未设置这些变量,则可以。但是,我需要做的是,这两项都已设置,因此
确保每次都可以正确设置
。所以,我基本上需要按照自上而下的顺序设置每个变量。在puppet运行期间设置环境变量。然后在
exec
中。您可以使用这些环境变量(而不是puppet变量)运行bash命令
Error: Could not parse for environment production: Could not match ${package}${package_maj_version}"