我在variables.yml中有一个变量。在我的ansible剧本中,我想使用该变量。但是它以“ /”字符开头。 Ansible引发以下错误。
任务[显示主机已知的所有变量/事实] ****************************************************** ******************致命:[127.0.0.1]:失败! => {“ msg”:“模板错误,而 模板字符串:意外的“ /”。字符串:{{/ forexcbm-r-0.0.1}}“}
当我从该变量中删除“ /”字符时,playbook正常工作。无论如何,我是否可以转义并使用“ /”字符作为变量前缀?感谢您的关注
set-prefix.yml
---
- name: Apigee Ansible Root
hosts: localhost
connection: local
become: true
vars_files:
- variables.yml
tasks:
- name: Display all variables/facts known for a host
debug:
var: "{{ proxy_base_path_prefix }}"
variables.yml
proxy_base_path_prefix: /forexcbm-r-0.0.1
答案 0 :(得分:0)
使用var
的{{1}}参数时,您必须指定变量的名称,而不是内容。
因此将您的播放更改为:
debug
答案 1 :(得分:0)
参数 var:
默认扩展表达式
语法错误(如果应打印 proxy_base_path_prefix
的值)
- debug:
var: "{{ proxy_base_path_prefix }}"
正确
- debug:
var: proxy_base_path_prefix
注释
1)可以在调试模块的 "to specify the content of a variable"
参数中使用var:
。下面的游戏
- hosts: localhost
vars:
var1: var2
var2: xxx
tasks:
- debug:
var: "{{ var1 }}"
给予
var2: xxx
2) /forexcbm-r-0.0.1
不是valid variable name。
变量名称应为字母,数字和下划线。变量应始终以字母开头。
这是错误的原因
... templating string: unexpected '/'.