UNIX:如果管道传输到更少,则输出奇怪
如果执行ls命令时管道长度小于,则会得到奇怪的输出UNIX:如果管道传输到更少,则输出奇怪,unix,command,Unix,Command,如果执行ls命令时管道长度小于,则会得到奇怪的输出 ESC[00mESC[00mfile1.ccESC[00m ESC[00file2.ccESC[00m ESC[00file3.ccESC[00m (指介于两者之间的ESC字符串) 如果没有ls,输出为: file1.cc file2.cc file3.cc 如何更正此问题?我猜您通过别名、函数或ls\u COLORS环境变量将--color=always选项设置为ls,并且ls正在向非终端发送颜色指令(即,您的管道到less)
ESC[00mESC[00mfile1.ccESC[00m
ESC[00file2.ccESC[00m
ESC[00file3.ccESC[00m
(指介于两者之间的ESC字符串)
如果没有ls,输出为:
file1.cc file2.cc file3.cc
如何更正此问题?我猜您通过别名、函数或
ls\u COLORS
环境变量将--color=always
选项设置为ls
,并且ls
正在向非终端发送颜色指令(即,您的管道到less
).您看到的是用于设置颜色的ANSI转义序列。运行ls--color=no
使用less-R
或将less
环境变量设置为-R您需要使用less-R减少输出原始控制字符,大写选项-R避免了一些断行问题。