小编Wan*_*exa的帖子

Ansible 如何将输出作为没有括号和 u 的变量

我有来自 ansible 的查询结果,我尝试将结果用作变量

我的剧本是这样的

- name: Query
  oracle_sql:
    username: "{{ user }}"
    password: "{{ password }}"
    service_name: "{{ service_name }}"
    sql: "select smth  from table where smth like 'OK_%'"
  register: smth
Run Code Online (Sandbox Code Playgroud)

结果被格式化为:

"msg": [
    [
        "SMTH"
    ]
]
no stdout, no stderr
Run Code Online (Sandbox Code Playgroud)

在此之后,我想使用我的变量:

- name: echo
  shell: echo {{ smth.msg[0] }} > /tmp/test
Run Code Online (Sandbox Code Playgroud)

输出是这样的:

[uSMTH]
Run Code Online (Sandbox Code Playgroud)

如何删除括号和'u'?我知道这是一个列表,但我无法摆脱它。

我试图从 yaml 或 json 格式转换而没有运气,这最后添加了一些回车

| to_yaml 
| to_json
| to_nice_yaml
| to_nice_json
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

ansible ansible-playbook

5
推荐指数
1
解决办法
9898
查看次数

标签 统计

ansible ×1

ansible-playbook ×1