如何配置Ansible使SSH verbose输出的换行符正常显示?
问题
调试Ansible playbook时,使用ansible-playbook -vvvv -i inventories/whatever playbook_under_test.yml这类verbose模式命令排查连接问题时,SSH的调试输出里的换行符会以转义序列\n的形式显示,导致内容变成一大段无结构的文本,难以阅读。如何配置Ansible让这些转义序列显示为正常换行?
解决方案
你可以通过调整Ansible的输出回调配置来解决这个问题:
永久配置:编辑Ansible的配置文件
ansible.cfg(如果没有可在项目根目录或用户家目录创建),在[defaults]段落添加以下内容:stdout_callback = debug这个回调会保留SSH调试输出的原始换行格式,不会将换行符转义为
\n。临时生效:如果不想修改配置文件,可以在执行playbook时通过环境变量临时指定输出回调:
ANSIBLE_STDOUT_CALLBACK=debug ansible-playbook -vvvv -i inventories/whatever playbook_under_test.yml
设置完成后,SSH的调试信息就会以正常的换行格式展示,结构清晰易读。
内容的提问来源于stack exchange,提问作者jstarek
相关产品推荐
相关产品推荐

