ansible变量详解一

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}})

当使用“=”为参数赋值时,就可以忽略该问题。

猜你喜欢

转载自www.cnblogs.com/winter1519/p/9338702.html