Ansible 基于符号链接的集合可解释事实
我有一个负责任的任务来安装Anaconda:Ansible 基于符号链接的集合可解释事实,ansible,Ansible,我有一个负责任的任务来安装Anaconda: --- - name: "Set variables" set_fact: package: "/software/anaconda/Anaconda3-2019.07-Linux-x86_64.sh" - set_fact: anadir: "/opt/anaconda/anaconda3-2019.07" - name: "Check existence" stat: path: "{{ anadir }}"
---
- name: "Set variables"
set_fact:
package: "/software/anaconda/Anaconda3-2019.07-Linux-x86_64.sh"
- set_fact:
anadir: "/opt/anaconda/anaconda3-2019.07"
- name: "Check existence"
stat:
path: "{{ anadir }}"
register: anaconda
- debug:
msg: "{{ anadir }} already exists."
when: anaconda.stat.exists == True
- name: Install Anaconda
shell: "/bin/bash {{ package }} -b -p {{ anadir }}"
when: anaconda.stat.exists == False
但我不想在文件中硬编码版本。我甚至不希望它存在于任何变量中
如果我的目录
/software/anaconda
中有一个链接,比如最新版本->Anaconda3-2019.07-Linux-x86_64.sh
我确信我可以用值Anaconda3-2019.07-Linux-x86_64.sh
设置一个事实。但是我找不到一个优雅的方法来做这件事。针对您最新的链接运行stat
模块,注册结果并浏览它
您应该找到一个指向原始文件的lnk_source
键
Ref:您已经在这里使用了stat
模块。在您的最新链接上使用它,并探索结果。你会找到你需要的。我想这就是我一直在寻找的!我可以使用lnk_source
,对吗?它不是指向您要查找的文件吗?它是。你想提供这个答案吗?