list - Ansible 将列表项连接到字符串中,包括引号

标签 list join ansible jinja2

这可能很容易,但我无法弄清楚

我有一个简单的列表,需要将其转换为字符串,但我需要最终字符串中的每个项目都包含引号

vars:
  servers:
    - ServerA
    - ServerB
    - ServerC

tasks:
  - name: Join into string
    debug:
      msg: "{{ servers | join(,) }}"

result looks like this
   "msg": "ServerA,ServerB,ServerC"

但我需要获取格式

msg: '"ServerA","ServerB","ServerC"'

最佳答案

加入项目

  result: >-
    "{{ servers|join('","') }}"

调试

    - debug:
        msg: "{{ result }}"

给出了预期的结果

 msg: '"ServerA","ServerB","ServerC"'

可以将其写入文件

  - copy:
      dest: /tmp/result.txt
      content: >
        "{{ servers|join('","') }}"

给出

shell> cat /tmp/result.txt 
"ServerA","ServerB","ServerC"

用于测试的完整剧本示例

- hosts: localhost

  vars:

    servers:
      - ServerA
      - ServerB
      - ServerC

    result: >-
      "{{ servers|join('","') }}"

  tasks:

    - debug:
        msg: "{{ result }}"
    - copy:
        dest: /tmp/result.txt
        content: >
          "{{ servers|join('","') }}"

关于list - Ansible 将列表项连接到字符串中,包括引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75975941/

相关文章:

php - 加入同一日期的总和

mysql - Rails 4 ActiveRecord - 如何查看如何解释数据库查询?

python 在一行中将列表项转换为 unicode

python - 如何计算 pandas 系列列表中每个元素的出现次数?

python - 如何将嵌套字典变成矩阵列表?

mysql - 需要生成记录,一对多。 MySQL

list - Mathematica - 初始化变量列表

variables - Ansible 组变量优先级

Ansible - 剧本 : Make sure your variable name does not contain invalid characters like '-'

ansible - 使用 Ansible 在 Route 53 中列出 100 多条记录