我有vars,我把这样的东西:
vars/main.yml hello_port: 80 world_port: 81
在我的ansbile文件中,我加载变量
vars_files: - ./vars/main.yml
这是我初始化m_name的方式:
- name: set_fact set_fact: m_name: - 'hello' - 'world'
然后我使用with_items进行迭代任务:
- debug: msg: "{{ (item + '_port') }}" with_items: "{{ m_name }}"
但我得到了输出
hello_port world_port
不是他们的价值观
好吧,我发现如果我使用debug var它正在工作.但是如果我想把这个表达式"{{ (item + '_port') }}"
放在shell任务中的一个例子中,它就不会对它进行评估.有没有办法评估动态创建的变量名称 - 获取值?
https://docs.ansible.com/ansible/2.5/plugins/lookup/vars.html
- name: Show value of 'variablename' debug: msg="{{ lookup('vars', 'variabl' + myvar)}}" vars: variablename: hello myvar: ename