=======================================
# 直接定义并使用变量
---
- hosts : 172.16.1.21
remote_user : root
vars : #定义变量
var1 : test.txt
tasks :
- name : touch file
file : "dest=/data/scripts/{{var1}} state=touch” #使用变量var1
=======================================
# 通过--extra-vars参数在执行playbook时,给playbook中的变量赋值
---
- hosts : 172.16.1.21
remote_user : root
tasks :
- name : ls file
shell: "ls /data/scripts/{{var2}}”
$ ansible-playbook demo1.yml --extra-vars "var2=test.txt”
=======================================
#使用register的方式定义变量,并将date的输出赋值给该变量
---
- hosts : 172.16.1.21
remote_user : root
tasks :
- name : get date
shell: date
register : date_output
- name : save date out
shell: "echo {{date_output.stdout}}>/data/scripts/{{var1}}”
=======================================
# 在hosts文件中对某个组定义变量,在playbook直接使用定义过的变量
$ vim /etc/ansible/hosts
[group_1]
172.16.1.21
[group_2]
172.16.1.22
[group_1:vars]
var3=test.txt
$ vim /data/scripts/play_book_demo.yml
---
- hosts : 172.16.1.21
remote_user : root
tasks :
- name : touch file
file : "dest=/data/scripts/{{var3}} state=touch”
=======================================