ansible中定义变量可以使用vars关键字,变量由字母、数字、下划线组成,开头必须是字母。
先看一个简单的事例
[root@tiandong tiandong]# vim var.yml
---
- hosts: all
vars:
testvar1: testfile
remote_user: root
tasks:
- name: task1
file:
path: /testdir/{{testvar1}}
state: touch
在被控制端查看生成的文件
[root@winter testdir]# pwd
/testdir
[root@winter testdir]# ll
total 0
-rw-r--r-- 1 root root 0 Jul 4 02:38 testfile
当我们要使用变量时使用{{testvar1}}就可以引用了,当然也可以定义多个变量
vars:
testvar1: testfile
testvar2: testfule2
当定义多个变量的时候有两种方法可以引用
方法一:
{{vars.testvar1}}
方法二:
{{vars['testvar1']}}
注:当使用冒号为参数赋值时,若变量前面没有路径的话就必须给变量加引号(path:"{{vars.testvar1}}"),前面有路径的话就不需要加引号(path:/testdir/{{vars.testvar1}})
当使用“=”为参数赋值时,就可以忽略该问题。