我试图读取所有行在一个.txt文件除了行开始与两个正斜杠'//'和空行使用查找在我的yaml代码,这是我的代码看起来像:
---
- name: playbook for API release deployment
hosts: api
become: yes
ignore_errors: true
vars:
date: "{{ lookup('pipe', 'date +%Y.%m.%d-%H.%M') }}"
tasks:
- name: deploy-api | upgrade Addons using loop
command: "{{ module_install }} -u {{ item }} --stop-after-init"
args:
chdir: /opt/app/
with_items:
- "{{ lookup('file', 'addons.txt') | grep -v '^(//)' }}"
下面是.txt文件的外观:
// Comment 1
// Commment 2
// Comment 3
// Comment 4
addons 1
addons 2
addons 3
Ansible向我抛出一个错误:
致命错误:失败!=〉{“消息”:“模板字符串时出现模板错误:应为标记“end of print statement”,获得的是“string”。字符串:{{查找(“文件”,“addons.txt”)|grep -v '^(//)' }}"}
我不知道如何做到这一点,我应该如何摆脱这些行开始'//'和空行?
2条答案
按热度按时间uqjltbpv1#
考虑重新考虑你的代码,不要使用
addons.txt
,而是使用一个合适的Ansible数组变量。不管怎样,未经测试,下面这样的东西可以让你开始:
2skhul332#
问:**“我应该如何转义以'//'开头的行和空行?"***
答: 拒绝 * 匹配行。请参阅测试字符串。例如,
给予
完整的测试行动手册示例
给予