我有一个PGBouncer 的 Ansible 游戏,它显示了 PGBouncer 内置的统计模块的一些输出。
我的问题是,当 Ansible 将输出打印到终端时,它会破坏换行符。而不是看到
----------
| OUTPUT |
----------
Run Code Online (Sandbox Code Playgroud)
我懂了
----------\n| OUTPUT |\n----------
Run Code Online (Sandbox Code Playgroud)
有谁知道如何让 Ansible“漂亮地打印”输出?
sor*_*rin 118
如果您想要更人性化的输出,请定义:
ANSIBLE_STDOUT_CALLBACK=debug
Run Code Online (Sandbox Code Playgroud)
这将使 ansible 使用调试输出模块(以前称为human_log),尽管它不幸的名称不那么冗长并且更容易被人类阅读。
如果您收到此模块不可用的错误,请升级 Ansible 或在无法升级 ansible 的情况下在本地添加此模块,它将适用于超过版本的 ansible,例如 2.0 或什至可能是 1.9。
配置它的另一个选项是添加stdout_callback = debug到您的 ansible.cfg
jar*_*arv 17
没有办法在 Ansible 中做你想做的事情。您可以将此作为解决方法:
ansible-playbook ... | sed 's/\\n/\n/g'
Run Code Online (Sandbox Code Playgroud)
jhu*_*tar 17
在 Ansible 项目组论坛中找到这种方式:
- name: "Example test"
command:
...
register: test
- name: "Example test stdout"
debug:
msg: "{{ test.stdout.split('\n') }}"
- name: "Example test stderr"
debug:
msg: "{{ test.stderr.split('\n') }}"
Run Code Online (Sandbox Code Playgroud)
我们基本上通过用换行符将其拆分然后打印该列表来将其转换为列表。
| 归档时间: |
|
| 查看次数: |
85876 次 |
| 最近记录: |