Ansible 可转换字符串中的新行
我正在运行以下Ansible剧本:Ansible 可转换字符串中的新行,ansible,Ansible,我正在运行以下Ansible剧本: - name: Set String set_fact: string: item loop: "{{some_var|filter()}}" register: output - name : Create a File copy: content: "{{string}}" dest: Path/test.txt 某个变量是来自上一个任务的JSON 循环中仅执行一次的变量项包含以下内容: 'test test\n
- name: Set String
set_fact:
string: item
loop: "{{some_var|filter()}}"
register: output
- name : Create a File
copy:
content: "{{string}}"
dest: Path/test.txt
某个变量是来自上一个任务的JSON
循环中仅执行一次的变量项包含以下内容:
'test test\ntest test'
test test\ntest test
因此test.txt文件包含以下内容:
'test test\ntest test'
test test\ntest test
我想在test.txt文件中获取此内容:
我认为应该修改过滤器返回的值。我不知道怎么做。
感谢使用文字块运算符|,如下所示:
- hosts: localhost
gather_facts: false
tasks:
- name: Set String
set_fact:
string: |
test test
test test
register: output
- name : Create a File
copy:
content: "{{string}}"
dest: test.txt
这导致:
$ cat test.txt
test test
test test
如果问题是您的变量包含文字字符串,\n并且希望将其转换为换行符,请使用replace方法:
使用文字块运算符|,如下所示:
- hosts: localhost
gather_facts: false
tasks:
- name: Set String
set_fact:
string: |
test test
test test
register: output
- name : Create a File
copy:
content: "{{string}}"
dest: test.txt
这导致:
$ cat test.txt
test test
test test
如果问题是您的变量包含文字字符串,\n并且希望将其转换为换行符,请使用replace方法:
谢谢示例中的字符串来自Ansible筛选器。如何格式化筛选器中的字符串?如果您可以更新您的问题以显示您的实际操作,我很乐意尝试更新此答案。谢谢。示例中的字符串来自Ansible筛选器。如何格式化筛选器中的字符串?如果您可以更新您的问题以显示您实际在做什么,我很乐意尝试更新此答案。您可以用实际值替换一些变量、其他变量等吗?也就是说,您能否更新您的问题,以便您提供的示例代码再现您所问的问题?此外,看起来您在循环中调用set_fact,但您放弃了循环中除最后一个值以外的所有值。是的,循环只执行一次。它从另一个任务输入一个JSON,输出是一个类似于示例中的字符串。您可以用实际值替换一些变量、一些其他变量等吗?也就是说,您能否更新您的问题,以便您提供的示例代码再现您所问的问题?此外,看起来您在循环中调用set_fact,但您放弃了循环中除最后一个值以外的所有值。是的,循环只执行一次。它从另一个任务输入一个JSON,输出是一个类似于示例中的字符串。