如何控制bash中命令的颜色与输出的颜色不一样?

sh/bash/dash/ksh/zsh等Shell脚本
回复
dd_engi
帖子: 10
注册时间: 2006-10-11 13:58

如何控制bash中命令的颜色与输出的颜色不一样?

#1

帖子 dd_engi » 2009-03-08 9:12

我希望达到的效果时,使用bash时,命令行与命令的输出有颜色的区分,例如前者用颜色\[\e[1;37m\],后者则用\[\e[0m\]。请问应该怎样设置PS1、PROMPT_COMMAND之类的变量才能实现此效果呢?

谢谢 :em06
头像
lonelycorn
帖子: 438
注册时间: 2007-05-20 18:44
来自: 唐山,河北,中国
联系:

Re: 如何控制bash中命令的颜色与输出的颜色不一样?

#2

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

在.bashrc中有这个东东(差不多的),就是提示符
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]u\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
只要在$后面加上` echo -ne \033[36m` 之类的就可以实现
比如这样:
PS1='${debian_chroot:+($debian_chroot)}\u:\w\$$(echo -ne \033[36m)'

但是缺点就是没有关闭颜色的echo -ne \033[0m,所以如果你输入的程序没有输出的话后面的提示符全是这个颜色的。
我逗无了奈了……
HP的本跑ubuntu还得把我折腾死。
显卡、无线/有线网卡、声卡、键盘……

代码: 全选

while :
do
  work_hard
done
头像
lonelycorn
帖子: 438
注册时间: 2007-05-20 18:44
来自: 唐山,河北,中国
联系:

Re: 如何控制bash中命令的颜色与输出的颜色不一样?

#3

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

等等,难道您就是传说中的dd大牛!
ORZ!
我逗无了奈了……
HP的本跑ubuntu还得把我折腾死。
显卡、无线/有线网卡、声卡、键盘……

代码: 全选

while :
do
  work_hard
done
dd_engi
帖子: 10
注册时间: 2006-10-11 13:58

Re: 如何控制bash中命令的颜色与输出的颜色不一样?

#4

帖子 dd_engi » 2009-03-14 1:51

lonelycorn 写了:在.bashrc中有这个东东(差不多的),就是提示符
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]u\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
只要在$后面加上` echo -ne \033[36m` 之类的就可以实现
比如这样:
PS1='${debian_chroot:+($debian_chroot)}\u:\w\$$(echo -ne \033[36m)'

但是缺点就是没有关闭颜色的echo -ne \033[0m,所以如果你输入的程序没有输出的话后面的提示符全是这个颜色的。
我当然知道这种方法么,想问的就是如何让改颜色的指令只影响输入命令的那一行么。。。

p.s. 我的确是以前搞OI现在搞ACM/ICPC的dd_engi :em02
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: 如何控制bash中命令的颜色与输出的颜色不一样?

#5

帖子 aerofox » 2009-03-14 6:38

用 zsh 吧,可在定义一个函数 preexec,在这个函数中关闭颜色。
头像
lonelycorn
帖子: 438
注册时间: 2007-05-20 18:44
来自: 唐山,河北,中国
联系:

Re: 如何控制bash中命令的颜色与输出的颜色不一样?

#6

帖子 lonelycorn » 2009-03-14 22:12

那个,这个好办。你把PS(提示符)的颜色改了,输入的字符串颜色不变 不就行了吗~ :em05
我逗无了奈了……
HP的本跑ubuntu还得把我折腾死。
显卡、无线/有线网卡、声卡、键盘……

代码: 全选

while :
do
  work_hard
done
头像
疯无可疯
帖子: 64
注册时间: 2009-03-13 21:27

Re: 如何控制bash中命令的颜色与输出的颜色不一样?

#7

帖子 疯无可疯 » 2010-10-13 16:04

我也想知道,哪位大侠指点一下吧?
大道至简,大象无形。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 如何控制bash中命令的颜色与输出的颜色不一样?

#8

帖子 eexpress » 2010-10-13 16:23

准备剥夺五颜六色的输出的穿衣的人权?
● 鸣学
回复