我多次对以下行为感到困惑less
:
# setup some test data
echo -e "foo\nfoo\nfoo" > /tmp/foo
echo -e "bar\nbar\nbar" > /tmp/bar
# now pipe something colored through `less`
diff --color=always /tmp/foo /tmp/bar | less -R
我得到的输出如下所示:
即,显示了一些颜色,但它们并不完全正确。相反less -r
会产生正确的输出:
手册页在显示所有控制字符而仅显示 ANSI 颜色转义码的意义上解释了-r
vs。在模式下,无法正确跟踪屏幕上的实际外观。因此,通常建议通过 exporting 作为默认模式。-R
-r
-R
-r
less
-R
LESS=R
任何想法为什么 ANSI 颜色仅在-R
模式下部分工作?