这是Ansible自动化的一部分,我必须运行一个chmod命令并读取用户的权限。因此,
chmod -R $fileperm
但是,有时用户可能不会提供任何fileperm,因此$fileperm是空的,在这种情况下,文件权限应该保持不变,但是上面的命令失败了。
我不希望有两个chmod命令具有不同的when条件。
如果可能的话,请建议我如何适应用户提供还是不提供相同命令中的权限?我目前正在使用Ansible的command模块来执行chmod。
发布于 2021-02-23 10:27:11
不要通过command或shell打电话给D2。使用file模块设置权限,请参阅文档。这是幂等的。该模块将检查文件/目录的当前状态,并仅在必要时更改它。
在这种情况下,添加此任务。
- set_fact:
files:
- name: file1
mode: 0755
- name: file2
- name: file3
mode: 0644
- file:
path: "{{ item.name }}"
mode: "{{ item.mode | default(omit) }}"
loop: "{{ files }}"我不确定,你的意思是“有时用户可能无法提供”。没有什么是互动的。所以我不确定你是什么意思。另外,你说的是像$fileperm这样的bash。Ansible没有"bash vars“。它们是事实,用金贾来评价它们。
https://unix.stackexchange.com/questions/631762
复制相似问题