ansible启动多个服务并截断名称服务
我想在playbook上启动多个服务,但我想删除服务结束字符串,如: a、 服务=>a b、 服务=>b 因为我不能使用service a.service start,但我必须使用service a start 因为变量项存储在default/main.yml角色手册中,如下所示:ansible启动多个服务并截断名称服务,ansible,roles,Ansible,Roles,我想在playbook上启动多个服务,但我想删除服务结束字符串,如: a、 服务=>a b、 服务=>b 因为我不能使用service a.service start,但我必须使用service a start 因为变量项存储在default/main.yml角色手册中,如下所示: name_services: - a.service - b.service
name_services:
- a.service
- b.service
关于main.yml
- name: start multiple service
service:
name: "{{ item }}"
state: started
with_items: "{{ name_services }}"
这里是一种实现方法,因为服务的字符串值中只有一个点(
)。您可以基于点进行分割,并获取第一个块(点之前的字符串)
另一种方法是从字符串中删除.service
部分:
- debug:
var: item.replace('.service','')
loop: "{{ name_services }}"
干杯使用过滤器
-名称:启动多个服务
服务:
名称:{{item | splitext | first}}”
国家:开始
与_项:“{name_services}}”
- debug:
var: item.replace('.service','')
loop: "{{ name_services }}"