Wan*_*exa 5 ansible ansible-playbook
我有来自 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)
有什么建议吗?
您返回的结果是列表的列表。这是一个行列表,其中包含该行中的单元格列表。
尝试这样的事情。
- name: echo
shell: echo {{ smth.msg[0][0] }} > /tmp/test
Run Code Online (Sandbox Code Playgroud)