ren*_*nat 31 bash pipe colors xterm
可能重复:
可以通过shell重定向捕获彩色输出吗?
在这种情况下,特别是我试图在将git status -s它管道到另一个命令时保留颜色.
diff例如,某些git命令和其他命令grep有一个选项,--color=always但git status没有.
有没有办法管道或捕获命令的输出,并让它认为它输出到xterm shell,所以它不会自动禁用颜色?
小智 27
这是一个script使用彩色输出的代码片段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"
Run Code Online (Sandbox Code Playgroud)