ansible - Ansible:在“任务”下声明整个游戏都可以访问的变量
问题描述
我正在尝试根据剧中任务返回的值声明一些变量。这就是我所拥有的。
tasks:
- name: search for file
find:
paths: "{{path}}"
patterns: "*{{pattern}}*"
recurse: "yes"
file_type: "file"
register: result
vars:
file_path: result.files.0.path
file_name: file_path.split("/")[-1]
file_model: file_name.split("_")[0]
file_version: file_name.split("_")[1]
- debug:
msg: "info: {{file_path}} : {{file_name}} : {{file_model}} : {{file_version}}"
基于调试任务引发的未定义变量错误,我假设在任务下声明的变量的范围仅限于该特定任务。
如果是这样,有没有办法在“任务”下面声明整个游戏都可以访问的变量?
解决方案
尝试这个
tasks:
- name: search for file
find:
paths: "{{ path }}"
patterns: "*{{ pattern }}*"
recurse: yes
file_type: file
register: result
- set_fact:
file_path: "{{ result.files.0.path }}"
file_name: "{{ file_path.split('/')[-1] }}"
file_model: "{{ file_name.split('_')[0] }}"
file_version: "{{ file_name.split('_')[1] }}"
- debug:
msg: "info: {{ file_path }} :
{{ file_name }} :
{{ file_model }} :
{{ file_version }}"
推荐阅读
- android - 其他类中的Android Dagger 2 Activity上下文
- hl7-fhir - 在单个资源中插入多个观察值 - FHIR
- python - 如何使用 pyqt5 在一个主文件中连接 3 个不同的程序?
- python - 为什么 keras 层中的 L2 归一化会扩大暗淡?
- ef-core-3.1 - 在 EF Core 中按多个子值对实体进行排序
- android - 避免sqlite数据库中重复的游标函数
- java - @SerializedName 不反映在子类中
- c++ - 第一个唯一编号慢运行时问题
- r - 如何计算文本字符串变量中的单词数并将其粘贴为表格中的列?
- android - 使用 NavController 时如何使用 newInstance() 创建片段?