我有一个来自 ansible 的查询结果,并尝试将该结果用作变量
我的剧本是这样的
- name: Query
oracle_sql:
username: "{{ user }}"
password: "{{ password }}"
service_name: "{{ service_name }}"
sql: "select smth from table where smth like 'OK_%'"
register: smth
结果格式如下:
"msg": [
[
"SMTH"
]
]
no stdout, no stderr
此后我想使用我的变量:
- name: echo
shell: echo {{ smth.msg[0] }} > /tmp/test
输出如下:
[uSMTH]
如何删除括号和“u”?我知道这是一个列表,但我无法摆脱它。
我尝试从 yaml 或 json 格式转换,但没有成功,最后添加了一些回车符
| to_yaml
| to_json
| to_nice_yaml
| to_nice_json
有什么建议吗?
答案1
返回的结果是列表的列表。即行列表,以及该行内的单元格列表。
尝试这样的事情。
- name: echo
shell: echo {{ smth.msg[0][0] }} > /tmp/test