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

46scxncf  于 2023-10-23  发布在  Shell
关注(0)|答案(1)|浏览(139)

我在一台使用shell模块作为ansible任务的机器上执行了一个命令,如“df -h”。(使用ansible版本2.14)对于其中一个文件系统,挂载点很长。因此,不显示相应行的完整输出。我注意到输出在79个字符后被截断。
在同一台机器上手动执行命令“df -h”时(通过SSH登录后),输出将完全显示。
所以,我的问题是,有没有办法增加行长度限制,以便在ansible任务输出中显示完整的输出?

whitzsjs

whitzsjs1#

我不能生育。我用的是同样的Ansible版本。我的命令的输出显示了完整的字符串。

# I've created a dummy mount w 91 chars:
[vagrant@vm-local-1 ~]$ df -h | grep ae
/dev/loop0                  7.8M   14K  7.4M   1% /aeTOQ27ggCJXVwKWT5HSHJf2EIjmyiF874lqLsehFMkymqQPUuWRqumMd4uayrmAbtMTHAW3SHpwAsXnoIjJbL5GAf
[vagrant@vm-local-1 ~]$ df -h | grep ae | awk '{print $6}' | wc -m
92

然后,我运行playbook,输出显示:

- shell: df -h
  register: me

- debug:
    msg: "{{ me.stdout }}"

输出量:

ok: [vm-local-1] => {
    "msg": "Filesystem                  Size  Used Avail Use% Mounted on\ndevtmpfs                    888M  228K  888M   1% /dev\ntmpfs                       907M     0  907M   0% /dev/shm\ntmpfs                       907M   17M  890M   2% /run\ntmpfs                       907M     0  907M   0% /sys/fs/cgroup\n/dev/mapper/rl_rocky8-root  125G  2.9G  123G   3% /\n/dev/sda1                  1014M  206M  809M  21% /boot\n/dev/loop0                  7.8M   14K  7.4M   1% /aeTOQ27ggCJXVwKWT5HSHJf2EIjmyiF874lqLsehFMkymqQPUuWRqumMd4uayrmAbtMTHAW3SHpwAsXnoIjJbL5GAf\ntmpfs                       182M     0  182M   0% /run/user/1000"
}

我不知道你想达到什么目的。
你可以做的是在播放级别上使用gather_facts: true,然后调试挂载。它应该显示挂载的完整字符串。

- debug:
    msg: "{{ ansible_facts.mounts }}"

相关问题