如何将 linux 命令输出存储到 puppet 中的变量中

How to store linux command output into a variable in puppet

是否可以将 linux 命令结果存储在变量中?

我正在尝试将加密值存储在变量中。要加密,我正在使用 base64 命令。为了将它存储在变量中,我使用了 generate 方法。但是我无法存储值。

$secretvalue    = generate("/bin/bash","-c","/usr/bin/echo ${password} | /usr/bin/base64")

如果您想在 Puppet Master 服务器上执行任何命令,您可以使用带有 ERB 模板的 inline_template 函数和用于执行 shell 命令的 Ruby 代码:

$password = "12345"

$secretvalue = inline_template("<%= `/bin/echo ${password} | /usr/bin/base64` %>")

notify { "STDOUT: ${secretvalue}": }

P.S。 如果您只想将字符串编码为 Base64 格式,您可以导入 puppetlabs-stdlib 模块并使用其中的 base64 函数:

$secretvalue = base64('encode', $password)