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

Aru*_*Raj 7 linux bash puppet puppet-enterprise

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

我试图将加密值存储在变量中.加密我正在使用base64命令.要将它存储在变量中,我使用的是generate方法.但我无法存储价值.

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

Max*_*kov 11

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

$password = "12345"

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

notify { "STDOUT: ${secretvalue}": }
Run Code Online (Sandbox Code Playgroud)

PS如果您只想将字符串编码为Base64格式,您可以导入puppetlabs-stdlib模块并使用base64它的功能:

$secretvalue = base64('encode', $password)
Run Code Online (Sandbox Code Playgroud)

  • 是的,但只能通过你的自定义"事实". (3认同)