gpt4 book ai didi

ansible - Ansible 字符串中的新行

转载 作者:行者123 更新时间:2023-12-05 01:36:36 30 4
gpt4 key购买 nike

我正在运行这个 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

some_var 是来自先前任务的 JSON。

循环(仅执行一次)中的变量 item 包含以下内容:

'test test\ntest test'

因此 test.txt 文件包含以下内容:

test test\ntest test

我想在 test.txt 文件中获取此内容:

test test 
test test

我认为我应该修改过滤器返回的值。我不知道怎么办。谢谢

最佳答案

使用文字 block 运算符 |,如下所示:

- 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
vars:
string: 'this is\na test'

tasks:
- copy:
content: "{{ string }}"
dest: file-without-newline.txt

- copy:
content: "{{ string.replace('\\n', '\n') }}"
dest: file-with-newline.txt

关于ansible - Ansible 字符串中的新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61804655/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com