ansible启动多个服务并截断名称服务
ansible start multiple service and truncate name service
我想在 playbook 上启动多项服务,但我想删除服务结束字符串,例如:
a.service => 一个
b.service => b
因为我不能使用服务a.service启动,但我必须使用服务启动
因为可变项存储在 default/main.yml 角色剧本中,就像这样:
name_services:
- a.service
- b.service
在 main.yml
- name: start multiple service
service:
name: "{{ item }}"
state: started
with_items: "{{ name_services }}"
这是实现它的一种方法,因为服务的字符串值中只有一个点 (.
)。您根据点拆分并获取第一个块(点之前的字符串)。
- debug:
var: item.split('.')[0]
loop: "{{ name_services }}"
另一种方法是从字符串中删除 .service
部分:
- debug:
var: item.replace('.service','')
loop: "{{ name_services }}"
干杯
使用过滤器splitext
- name: start multiple service
service:
name: "{{ item | splitext | first }}"
state: started
with_items: "{{ name_services }}"
我想在 playbook 上启动多项服务,但我想删除服务结束字符串,例如: a.service => 一个 b.service => b
因为我不能使用服务a.service启动,但我必须使用服务启动
因为可变项存储在 default/main.yml 角色剧本中,就像这样:
name_services:
- a.service
- b.service
在 main.yml
- name: start multiple service
service:
name: "{{ item }}"
state: started
with_items: "{{ name_services }}"
这是实现它的一种方法,因为服务的字符串值中只有一个点 (.
)。您根据点拆分并获取第一个块(点之前的字符串)。
- debug:
var: item.split('.')[0]
loop: "{{ name_services }}"
另一种方法是从字符串中删除 .service
部分:
- debug:
var: item.replace('.service','')
loop: "{{ name_services }}"
干杯
使用过滤器splitext
- name: start multiple service
service:
name: "{{ item | splitext | first }}"
state: started
with_items: "{{ name_services }}"