bash中的转义与颜色输出

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
lonelycorn
帖子: 438
注册时间: 2007-05-20 18:44
来自: 唐山,河北,中国
联系:

bash中的转义与颜色输出

#1

帖子 lonelycorn » 2009-03-12 23:07

在bash中echo -e 可以转义,可以实现颜色输出,但是我有个严肃的问题

比如我在终端中输入
ls
(ls = ls --color=auto)
那么输出是彩色的
如果我在终端中输入
ls | less
那么less显示了所有的文件(注意,没有转义字符!)

但是如果我用bash 的 echo -e 来转义输出颜色的话,再less,将看到很多的\033[36m什么的转义字符。
请问这是为什么?
我逗无了奈了……
HP的本跑ubuntu还得把我折腾死。
显卡、无线/有线网卡、声卡、键盘……

代码: 全选

while :
do
  work_hard
done
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

Re: bash中的转义与颜色输出

#2

帖子 bones7456 » 2009-03-13 9:13

你自己都说 ls = ls --color=auto 了,还不好理解吗?auto的意思就是ls会自己判断要不要输出颜色,看到输出是管道,当然就不输出颜色了,不信你可以 ls --color=always | less 看看
关注我的blog: ε==3
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
联系:

Re: bash中的转义与颜色输出

#3

帖子 lerosua » 2009-03-13 9:53

看到shell转义就晕的 :em06
头像
lonelycorn
帖子: 438
注册时间: 2007-05-20 18:44
来自: 唐山,河北,中国
联系:

Re: bash中的转义与颜色输出

#4

帖子 lonelycorn » 2009-03-13 11:41

thx! :em03
我逗无了奈了……
HP的本跑ubuntu还得把我折腾死。
显卡、无线/有线网卡、声卡、键盘……

代码: 全选

while :
do
  work_hard
done
回复