管道通过 less 之后,bash 中的颜色会怎样?

管道通过 less 之后,bash 中的颜色会怎样?

当我定义了 dircolors 时,生活充满了......色彩。

当我ls通过管道滚动时less,我失去了颜色。

有什么建议么?

答案1

最有可能的ls是 的别名ls --color=auto,它告诉ls仅在其输出为 tty 时使用颜色。如果您这样做ls --color(这在道德上等同于ls --color=always),这将强制它打开颜色。

您也可以更改别名来实现这一点,但我认为这不是一个好主意。最好使用 创建一个不同的别名--color

less也需要-R,这会导致它输出原始控制字符。

答案2

尝试使用 -R 选项,如下所示:

command | less -R

这对我来说是这样的:

ls -la | grep --color=always bash | less -r

还有这样的:

ls --color | less -R

但是您必须使用 --color 参数稍微调整主要输出(在本例中为 ls 的输出)。

相关内容