读取使用ansible'创建的目录的名称;临时文件模块
我编写了一个简单的ansible脚本来创建一个临时目录,并希望将该目录的名称保存到一个变量中。我的读取使用ansible'创建的目录的名称;临时文件模块,ansible,Ansible,我编写了一个简单的ansible脚本来创建一个临时目录,并希望将该目录的名称保存到一个变量中。我的.yml文件是: - hosts: " {{ lookup('env', 'HOSTNAME') }} " tasks: - name : Create staging directory tempfile: state: directory suffix: staging path: "{{ lookup('env', 'HOME') }}"
.yml
文件是:
- hosts: " {{ lookup('env', 'HOSTNAME') }} "
tasks:
- name : Create staging directory
tempfile:
state: directory
suffix: staging
path: "{{ lookup('env', 'HOME') }}"
become: true
register: output
- name: print stdout
debug: msg="{{ output }}"
运行上述命令的输出将打印一个dict
$ ansible-playbook -i hosts tempfile.yml
PLAY [localhost] ******************************************************************************************
TASK [Gathering Facts] ************************************************************************************
ok: [localhost]
TASK [Create staging directory] ***************************************************************************
changed: [localhost]
TASK [print stdout] ***************************************************************************************
ok: [localhost] => {
"msg": {
"changed": true,
"gid": 0,
"group": "root",
"mode": "0700",
"owner": "root",
"path": "/home/xxxx/ansible.Fb7rbKstaging",
"size": 4096,
"state": "directory",
"uid": 0
}
}
PLAY RECAP ************************************************************************************************
localhost : ok=3 changed=1 unreachable=0 failed=0
我如何访问某些目录['localhost']['msg']['path']?我查找了hostvars
变量,确实在其中看到了我的临时目录,但不知道如何访问它。查看文档中的部分以获取更多详细信息,从您的示例register:output
您可以使用以下方法访问路径:
- name: print stdout
debug:
msg: "{{ output.path }}"
谢谢没想到这么简单。