在bash中echo -e 可以转义,可以实现颜色输出,但是我有个严肃的问题
比如我在终端中输入
ls
(ls = ls --color=auto)
那么输出是彩色的
如果我在终端中输入
ls | less
那么less显示了所有的文件(注意,没有转义字符!)
但是如果我用bash 的 echo -e 来转义输出颜色的话,再less,将看到很多的\033[36m什么的转义字符。
请问这是为什么?
bash中的转义与颜色输出
- lonelycorn
- 帖子: 438
- 注册时间: 2007-05-20 18:44
- 来自: 唐山,河北,中国
- 联系:
- bones7456
- 帖子: 8495
- 注册时间: 2006-04-12 20:05
- 来自: 杭州
- 联系:
Re: bash中的转义与颜色输出
你自己都说 ls = ls --color=auto 了,还不好理解吗?auto的意思就是ls会自己判断要不要输出颜色,看到输出是管道,当然就不输出颜色了,不信你可以 ls --color=always | less 看看
关注我的blog: ε==3
- lerosua
- 论坛版主
- 帖子: 8455
- 注册时间: 2007-11-29 9:41
- 联系:
Re: bash中的转义与颜色输出
看到shell转义就晕的
- lonelycorn
- 帖子: 438
- 注册时间: 2007-05-20 18:44
- 来自: 唐山,河北,中国
- 联系:
Re: bash中的转义与颜色输出
thx!