在 Ansible 中将变量作为脚本传递
pass a variable as a script in Ansible
我有下面的操作,其中我试图停止 AIX 服务器上的 WAS 实例。
---
- hosts: all
vars_files:
- /etc/ansible/conf/var.yml
tasks:
- name: stop websphere instances
script: {{ was_script }} {{ item }}
with_items: "{{ was_inst }}"
was_script 和 was_inst 在 var.yml 中列为变量。现在,如果我对脚本进行硬编码而不是 was_script,它就可以工作。但是,如果我将它称为变量,它就不起作用了。
它说这是一个 YAML 语法错误,但我似乎无法弄清楚错误是什么。
箭头 ^ here
指向 script: {{ was_script }} {{ item }}
线。
你应该引用它 script: "{{ was_script }} {{ item }}"
,因为它以大括号开头。
文档中有关于 YAML gotchas 的说明。
我有下面的操作,其中我试图停止 AIX 服务器上的 WAS 实例。
---
- hosts: all
vars_files:
- /etc/ansible/conf/var.yml
tasks:
- name: stop websphere instances
script: {{ was_script }} {{ item }}
with_items: "{{ was_inst }}"
was_script 和 was_inst 在 var.yml 中列为变量。现在,如果我对脚本进行硬编码而不是 was_script,它就可以工作。但是,如果我将它称为变量,它就不起作用了。 它说这是一个 YAML 语法错误,但我似乎无法弄清楚错误是什么。
箭头 ^ here
指向 script: {{ was_script }} {{ item }}
线。
你应该引用它 script: "{{ was_script }} {{ item }}"
,因为它以大括号开头。
文档中有关于 YAML gotchas 的说明。