如何从bash脚本获取彩色输出?

当我从gnome-terminal中执行grep ,我得到彩色输出 – 容易引人注意的匹配,行号(-n)与不同的颜色等

但是当我通过bash脚本执行完全相同的grep命令时,我得到了平面输出,没有着色

有没有办法通过使用bash脚本获得彩色输出?

当我在shell脚本中运行grep时,使用--color选项对我--color

这是你想要的一个例子。

 grep -n --color=auto "PATTERN" FILE 

这是一个小脚本,可以帮助您掌握tput如何与bash一起使用

 #!/bin/bash #@auth kesavan.muthuvel #@desc - bash with colors :) B=`tput bold` #BOLD D=`tput dim` #DIM U=`tput sgr 0 1` #UNDERLINE U2=`tput smul` #UNDERLINE2 NOU=`tput rmul` #NO UNDERLINE H=`tput smso` #HIGHLIGHT X=`tput sgr0` #RESET C='tput setaf ' #COLOR for i in 0 1 2 3 4 5 6 7 ; do c=`$C$i` && echo $c${B}I${U}always$NOU $D love \ ${U2}colors$NOU \& $c${H}GNU/Linux$X done; 

这将使用BOLD ,UNDERLINE,Highlighting和颜色等格式打印以下输出。

BASH脚本使用文本格式和颜色进行打印

您是否尝试将这些别名添加到~/.bashrc

 alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto'