文字性描述可能不大好理解,咱们用一个小实验操作估计方面些.
vim users.yml
users:
- name: zhangsan
gender: female
files:
- file1
- file2
- name: lisi
gender: male
files:
- file3
- file4
- file5
1.获取users当中用户zhangsan(张三)的第一个文件
vim user_vars.yml
- hosts: 10.0.0.2
vars_files:
- users.yml
tasks:
- debug:
msg: " {{ users[0].files[0] }} " //注意,msg的要求是"{{ }}" users[0]表示第一个用户,file[0]表示第一个文件.
[root@ren001 ansible]# ansible-playbook user_vars.yml
PLAY [10.0.0.2] ****************************************************************TASK [Gathering Facts] *********************************************************
ok: [10.0.0.2]TASK [debug] *******************************************************************
ok: [10.0.0.2] => {
"msg": " file1 " // 打印出来,第一个用户中的第一个文件是 "file1".
}PLAY RECAP *********************************************************************
10.0.0.2 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
以此类推,获取第二个用户的第二个文件
[root@ren001 ansible]# ansible-playbook user_vars.yml
PLAY [10.0.0.2] ****************************************************************TASK [Gathering Facts] *********************************************************
ok: [10.0.0.2]TASK [debug] *******************************************************************
ok: [10.0.0.2] => {
"msg": " file1 "
}TASK [debug] *******************************************************************
ok: [10.0.0.2] => {
"msg": " file4 "
}
那想要获取张三的性别,李四的全部文件呢?
vim user_vars.yml
- hosts: 10.0.0.2
vars_files:
- users.yml
tasks:
- debug:
msg: " {{ users[0].gender }} "
- debug:
msg: " {{ users[1].files }} "
[root@ren001 ansible]# vim user_vars.yml
[root@ren001 ansible]# ansible-playbook user_vars.yml
PLAY [10.0.0.2] ****************************************************************TASK [Gathering Facts] *********************************************************
ok: [10.0.0.2]TASK [debug] *******************************************************************
ok: [10.0.0.2] => {
"msg": " female "
}TASK [debug] *******************************************************************
ok: [10.0.0.2] => {
"msg": " [u'file3', u'file4', u'file5'] "
}