1.合法的变量
纯字符: foo
字符加下划线: foo_te
字符开头跟数字: foo12
变量需要遵守yaml语法,变量名不能出现'-'号和数字
值中出现减号‘-’,需要引号把整个字段引起来。
如:sef-test 不合法
12 不合法
2.变量存在的位置
主机清单中的变量
playbook中的变量和变量文件
playbook中变量的引用使用 {{ }}引起来。
例:
---
- hosts: "{{ host_ip }}"
remote_user: root
vars:
dest_path: /tmp
vars_files: - /vars/external_vars.yml
命令行中提供的变量,优先级最高,
例:
---- hosts: '{{ hosts }}' remote_user: '{{ user }}' tasks:
ansible-playbook -e "hosts=localhost user=root"
过滤器
适用于列表的过滤器
{{ list | min }} 取列表中最小值
{{ list |max }} 取列表中最大值
{{ list1 | unique }} 滤重
- shell: echo {{ string_value | quote }} 给变量值加引号
{{ path | basename }} /usr/local/test 拿到test
{{ path | splitext }} 以点为分隔拆开字符串
{{ path | relpath('/etc') }} 替换
本文介绍了Ansible中合法变量的定义规则,包括变量的命名规范及存在的位置,并详细解释了如何在主机清单、playbook及命令行中使用变量。此外,还探讨了几种常用的过滤器,例如列表操作和字符串处理等。
971

被折叠的 条评论
为什么被折叠?



