当我通过 SSH 连接到一台机器ssh machine
并运行yum list
它时,它会输出按预期安装的所有内容,重要的是每个项目都在一行上,如下所示:
xz-devel.i386 4.999.9-0.3.beta.20091007git.el5 base
xz-devel.x86_64 4.999.9-0.3.beta.20091007git.el5 base
xz-libs.i386 4.999.9-0.3.beta.20091007git.el5 base
xz-lzma-compat.x86_64 4.999.9-0.3.beta.20091007git.el5 base
Run Code Online (Sandbox Code Playgroud)
但是在远程执行ssh machine 'yum list'
或什至通过管道将其传输到 grep 而在服务器上时yum list | grep xz -C 3
,输出的行被“截断”并变得更短,如下所示:
xz-devel.i386 4.999.9-0.3.beta.20091007git.el5
base
xz-devel.x86_64 4.999.9-0.3.beta.20091007git.el5
base
xz-libs.i386 4.999.9-0.3.beta.20091007git.el5
base
xz-lzma-compat.x86_64 4.999.9-0.3.beta.20091007git.el5
base
Run Code Online (Sandbox Code Playgroud)
我怎样才能使线条的大小不像这样缩小?我的最终愿望是将其通过管道传输到tee
,然后通过 ansible 对所有主机的输出文件进行一些处理。
这似乎是由于某种“虚拟终端”作为 SSH/管道的一部分而发生的,因为如果我缩小我的终端大小,在运行时断线,我可以获得相同的行为yum list
。因此,我假设管道的添加以某种方式告诉yum list
终端的宽度仅为 X 列