7

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

我正在尝试将加密值存储在变量中。要加密,我正在使用 base64 命令。要将其存储在变量中,我正在使用生成方法。但我无法存储价值。

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

1 回答 1

11

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

$password = "12345"

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

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

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

$secretvalue = base64('encode', $password)
于 2015-11-21T11:01:23.910 回答