有没有办法在 Ansible 中拆分现有文件路径目录并在任务的后面使用它?
Is there a way of splitting the existing file path directory in Ansible & using that later in the task?
我是 Ansible 的新手,正在尝试解决拆分目录路径的问题,以便我可以将新路径存储在新变量中并稍后使用。我将我的剧本草稿放在下面。
---
- name: new directory path
hosts: servers
become: true
become_user: root
gather_facts: true
tasks:
- name: directory path1
file:
path: /home/usr/Desktop/hello/hello1
register: path1
- name: splitting path
file:
path: path1.split('/')
register: path2
我想要的是从/home/usr/Desktop/hello/hello1 中提取:/home/usr/Desktop/hello 并将其存储在一个新的变量path2 中,以便我以后可以使用path2。
请建议我应该遵循什么?
您可以使用 dirname 过滤器从路径中获取目录。下面的代码片段会将 /home/usr/Desktop/hello
设置为 dir
。
注意,不要在给定路径中添加尾随 /
,否则 ansible 将认为该目录与 return 相同的路径。
- set_fact:
dir: "{{ '/home/usr/Desktop/hello/hello1' | dirname }}"
我是 Ansible 的新手,正在尝试解决拆分目录路径的问题,以便我可以将新路径存储在新变量中并稍后使用。我将我的剧本草稿放在下面。
---
- name: new directory path
hosts: servers
become: true
become_user: root
gather_facts: true
tasks:
- name: directory path1
file:
path: /home/usr/Desktop/hello/hello1
register: path1
- name: splitting path
file:
path: path1.split('/')
register: path2
我想要的是从/home/usr/Desktop/hello/hello1 中提取:/home/usr/Desktop/hello 并将其存储在一个新的变量path2 中,以便我以后可以使用path2。 请建议我应该遵循什么?
您可以使用 dirname 过滤器从路径中获取目录。下面的代码片段会将 /home/usr/Desktop/hello
设置为 dir
。
注意,不要在给定路径中添加尾随 /
,否则 ansible 将认为该目录与 return 相同的路径。
- set_fact:
dir: "{{ '/home/usr/Desktop/hello/hello1' | dirname }}"