gpt4 book ai didi

ansible - 如何使用条件语句在ansible变量中附加值

转载 作者:行者123 更新时间:2023-12-02 00:56:06 25 4
gpt4 key购买 nike

我正在将一组值传递给 ansible play book。使用我尝试创建一个字符串的值。

例如,我传递参数:first_nm , last_nmnick_nm通过--extra-vars到我的剧本.在我的 role/ 里面:

              <task-name>/
vars/main.yml

我尝试执行以下操作:

full_name: {{first_nm}}  {{last_nm}}{{'-'+nick_nm if nick_nm is defined else ''}}

我的问题:

nick_nm是可选的,当它为空或未定义时,如果获取全名,例如:david john--附加到值。

那么我怎样才能避免这个追加。有没有更好的方法来做同样的事情?

最佳答案

您还应该检查字符串是否不为空。在您的设置中,您只检查变量是否存在,因为它确实将条件计算为 True 并为您提供 - + nick_nm

你可以这样做:

---

- hosts: localhost
gather_facts: no
connection: local
vars:
- first_nm: John
- last_nm: Smith
- nick_nm:
tasks:
- set_fact: full_name="{{first_nm}} {{last_nm}}{% if nick_nm is defined and nick_nm %}-{{nick_nm}}{%endif%}"
- debug: var=full_name

关于ansible - 如何使用条件语句在ansible变量中附加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35018076/

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