gpt4 book ai didi

Ansible:如何将变量添加到 "command"或 "shell"

转载 作者:行者123 更新时间:2023-12-04 09:30:26 25 4
gpt4 key购买 nike

是否可以在 command 上使用变量?或 shell模块?
我有以下代码,我想使用变量文件来提供一些配置:

我想从我的变量文件中读取 Hadoop 版本。在 ansible 的其他模块上,我可以使用 {{ansible_version}} ,但使用命令或shell它不起作用。

- name: start ZooKeeper HA
command: hadoop-2.7.1/bin/hdfs zkfc -formatZK -nonInteractive

- name: start zkfc
shell: hadoop-2.7.1/sbin/hadoop-daemon.sh start zkfc

我想转换为以下内容:
- name: Iniciar zkfc
command: {{ hadoop_version }}/sbin/hadoop-daemon.sh start zkfc

因为如果我使用这种语法运行它会抛出这个错误:
- name: inicializar estado ZooKeeper HA
command: {{hadoop_version}}/bin/hdfs zkfc -formatZK -nonInteractive
^ here
We could be wrong, but this one looks like it might be an issue with
missing quotes. Always quote template expression brackets when they
start a value. For instance:

with_items:
- {{ foo }}

Should be written as:

with_items:
- "{{ foo }}"

我尝试使用,但同样的问题:
- name: Iniciar zkfc
command: "{{ hadoop_version }}"/sbin/hadoop-daemon.sh start zkfc

什么是正确的语法?

最佳答案

引用 command 中的完整字符串争论:

- name: Iniciar zkfc
command: "{{ hadoop_version }}/sbin/hadoop-daemon.sh start zkfc"

关于Ansible:如何将变量添加到 "command"或 "shell",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41567196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com