Ansible 基于符号链接的集合可解释事实

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

我有一个负责任的任务来安装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 }}"
  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
,对吗?它不是指向您要查找的文件吗?它是。你想提供这个答案吗?