从变量动态提取名称

huangapple go评论60阅读模式
英文:

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

huangapple
  • 本文由 发表于 2023年4月1日 00:58:40
  • 转载请务必保留本文链接:https://go.coder-hub.com/75900985.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定