英文:
Dynamically extract name from variable
问题
我有一个包含数组的变量
file_name=['test1.zip', 'test2.zip']
我想要提取列表中的值,以便直接获得给定的值,而不是整个列表。目标是创建一个删除服务器上整个路径的命令。
目前,我得到了:
/srv/data/['test1.zip', 'test2.zip']
但我希望它是:
/srv/data/test1.zip
/srv/data/test2.zip
我可以使用rsync
删除文件吗?
英文:
I have variable with array
file_name=['test1.zip', 'test2.zip']
and I would like to extract the values from the list, so that I get the given value directly and not the whole list. The goal is to create a command to delete the entire path on the server.
For now, I get:
/srv/data/['test1.zip', 'test2.zip']
but I would like it to be:
/srv/data/test1.zip
/srv/data/test2.zip
Can I delete files using rsync
?
答案1
得分: 2
为了处理列表中的元素,您需要使用 loop
。
为了删除文件,您不应该使用 rsync
,而是应该使用 file
模块,其中包含 state: absent
。
因此,您的任务应该是:
- ansible.builtin.file:
path: "/srv/data/{{ item }}"
state: absent
loop: "{{ file_name }}"
英文:
In order to treat elements of a list, you have to use a loop
.
In order to delete file(s), you should not use rsync
, no, you should use the file
module, with the state: absent
.
So your task should be:
- ansible.builtin.file:
path: "/srv/data/{{ item }}"
state: absent
loop: "{{ file_name }}"
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论