Ansible - 将shell命令的输出传递给变量

时间:2018-01-25 20:14:13

标签: ansible

新的ansible和playbooks,我试图运行linux命令并使用该命令的输出作为变量。但是,它使用项目名称作为变量而不是命令的输出。

- name: Use apg to generate a password
command: apg -m 12 -n 1 -a 1
register: apg_generate

- name: Create Mail Account
command: "plesk bin mail --create admin@test.com -mailbox true -passwd {{ item }}"
with_items: apg_generate.stdout

而不是使用apg命令的输出,这是一个随机的12个字符集,我将apg_generate.stdout设置为密码。

1 个答案:

答案 0 :(得分:2)

在Ansible with_items中是for循环,如果你只想访问一个变量,则不需要使用它。直接访问它:

- name: Use apg to generate a password
  command: apg -m 12 -n 1 -a 1
  register: apg_generate

- name: Create Mail Account
  command: "plesk bin mail --create admin@test.com -mailbox true -passwd {{ apg_generate.stdout }}"