有人可以让我知道如何创建相对符号链接吗?
我在以下文件夹下有文件。
/usr/share/aws/hive/encryption/test-1.2.3.jar
我要在这个文件夹中创建指向这个 jar 的链接。类似的东西
test.jar -> test-1.2.3.jar
但是,使用以下 ansible 代码,它需要绝对路径。
- name: create soft link
file:
src: "/usr/share/aws/hive/encryption/test-1.2.3.jar"
dest: "/usr/share/aws/hive/encryption/test.jar"
state: link
force: yes
输出
test.jar -> /usr/share/aws/hive/encryption/test-1.2.3.jar
试试这个
- name: create soft link
file:
src: test-1.2.3.jar
path: /usr/share/aws/hive/encryption/test.jar
state: link
force: true
引用参数src:
相对路径是相对于正在创建的文件(路径)而言的,这就是 Unix 命令 ln -s SRC DEST 处理相对路径的方式。
注意:参数force需要在以下情况下使用:
不幸的是,文档中的措辞具有误导性:
在两种情况下强制创建符号链接: 源文件不存在(但稍后会出现); 目标存在并且是一个文件(因此,我们需要取消路径文件的链接并创建指向 src 文件的符号链接来代替它)。
您可以尝试使用 shell 模块。在您的情况下,如果采用绝对路径,因为这就是给出源和目的地的方式。
- name: Create a Symlink
shell:
cmd: ln -s test-1.2.3.jar test.jar
chdir: /usr/share/aws/hive/encryption/