2015-11-19 9 views
7

で変数にLinuxのコマンドの出力を保存するためには、変数に、Linuxのコマンドの結果を保存することは可能ですか?がどのように人形

私は変数で暗号化された値を格納しようとしています。暗号化するには、私はbase64コマンドを使用しています。変数に格納するには、generateメソッドを使用しています。しかし、私は価値を保存することができません。

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

base64では、** **暗号化ではありません。 –

答えて

9

あなたは内部のERBテンプレートおよびシェルコマンドを実行するためのRubyコードでinline_template機能を使用することができパペットマスターサーバー上で任意のコマンドを実行したい場合:

$password = "12345" 

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

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

P.S. あなただけのBase64形式に文字列をエンコードしたい場合は、puppetlabs-stdlibモジュールをインポートして、それからbase64機能を使用することができます。

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

それは人形のクライアントホスト上のいくつかのbashコマンドを起動し、変数にそれを保存することは可能ですか? – ipeacocks

+2

はい、カスタムの 'facts'を通してのみです。 –

関連する問題