需要有关在为Windows运行Ansible Playbook时如何从变量中删除或获取子字符串的建议或想法。
说我有一个事实/变量,其中包含像这样的字符串
"c:apps\Directory\sub_directoty"
现在我需要操纵/修剪此字符串并获取一个新的事实/变量作为字符串:
"c:apps\Directory\"
我需要使用Powershell命令吗?
我的目的是,有一个Windows服务正在从另一个目录运行,我也需要在该服务指向的目录上安装更改。
我用来读取和捕获服务路径的剧本任务是通过以下方式完成的:
tasks:
- name: Check if a service is installed
win_service:
name: ServerName
register: LINKServerInfo
- debug: msg="path is {{ LINKServerInfo.path }}"
- name: set linkpath
set_fact: linkpath="{{ LINKServerInfo.path }}"
答案 0 :(得分:0)
您都可以使用“ regex_replace” Ansible Filters
对于您的情况,
`---
- hosts: localhost
gather_facts: false
vars:
a: 'c:apps\Directory\sub_directoty'
tasks:
- name: Replace
set_fact:
b: "{{ a | win_dirname }}"
- debug: msg="{{ b }}"
输出::
"msg": "c:apps\\Directory"