2015-11-19 23 views
7

Có thể lưu trữ kết quả lệnh linux trong biến không?Làm thế nào để lưu trữ đầu ra lệnh linux vào một biến trong con rối

Tôi đang cố gắng lưu trữ giá trị được mã hóa trong một biến. Để mã hóa tôi đang sử dụng lệnh base64. Để lưu trữ nó trong biến, tôi đang sử dụng phương pháp tạo. Nhưng tôi không thể lưu trữ một giá trị.

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

base64 là ** không ** một mã hóa. –

Trả lời

9

Nếu bạn muốn thực hiện bất kỳ lệnh trên máy chủ của Puppet Master bạn có thể sử dụng chức năng inline_template với ERB mẫu bên và mã Ruby cho thực hiện lệnh shell:

$password = "12345" 

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

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

T.B. Nếu bạn chỉ muốn để mã hóa chuỗi sang định dạng Base64 bạn có thể nhập puppetlabs-stdlib mô-đun và sử dụng base64 chức năng từ nó:

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

Có thể khởi chạy một số lệnh bash trên máy chủ khách của con rối và lưu nó vào biến không? – ipeacocks

+2

Có, nhưng chỉ thông qua 'sự kiện' tùy chỉnh của bạn. –

Các vấn đề liên quan