You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Ansible shell模块时,如何增加控制台输出的行长度?

解决Ansible 2.14 Shell模块输出行截断问题

问题说明

在Ansible 2.14中使用shell模块执行df -h时,部分挂载点较长的文件系统行输出会在79个字符后被截断,但通过SSH直接登录机器执行该命令能显示完整内容。

可行解决方案

1. 修改Ansible全局配置调整行宽限制

编辑ansible.cfg文件(若无则在项目目录或用户家目录创建),添加以下配置项:

[defaults]
stdout_callback = default
stdout_line_length = 1000  # 可根据实际需求设置更大数值

该配置会修改Ansible默认输出回调的行宽上限,让长行内容完整展示。

2. 任务内设置环境变量模拟宽终端

在shell模块任务中指定COLUMNS环境变量,强制df命令使用宽终端格式输出:

- name: 执行df -h获取完整输出
  shell: df -h
  environment:
    COLUMNS: 1000
  register: df_result

之后通过{{ df_result.stdout }}即可获取完整的命令输出内容。

3. 改用raw模块执行命令

raw模块不会对命令输出做格式化处理,直接返回原始结果,适合需要完整输出的场景:

- name: 通过raw模块执行df -h
  raw: df -h
  register: df_raw_result

查看输出时调用{{ df_raw_result.stdout }}即可。

内容的提问来源于stack exchange,提问作者Aditya Siddarth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 16:22:37