bash命令保留颜色当管道

前端之家收集整理的这篇文章主要介绍了bash命令保留颜色当管道前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Possible Duplicate:
07000

建立

在这种情况下,具体来说我试图保留git status -s中的颜色,当将其连接到另一个命令时。

一些git命令,例如diff,以及像grep这样的其他命令有一个选项–color = always但是git状态没有。

有没有办法管道或捕获命令的输出,并使其认为它正在输出到xterm shell,因此它不会自动禁用颜色?

这是一个使用ls的彩色输出的脚本代码片段(在Mac OS X 10.6上)。
# no colored ls output if stdout is a pipe (and not a tty)
ls -G /
ls -G / | cat
script -q /dev/null ls -G / | tr -d '\r' | cat

# write output of script command to a variable
var="$(script -q /dev/null ls -G / | tr -d '\r' | cat)"
echo "$var"

猜你在找的Bash相关文章