未设置与空 LESS 环境变量的不同行为?

Soc*_*cob 3 command-line git environment-variables less

我想更改less命令的默认行为,因此我添加了以下内容~/.profile

LESS="$LESS -x4"
export LESS
Run Code Online (Sandbox Code Playgroud)

然而,仅设置LESS环境变量的存在似乎就会改变命令的行为less,因为这现在会导致git diff向我显示原始转义序列。

更一般地,输出

LESS='' git diff
Run Code Online (Sandbox Code Playgroud)

unset LESS; git diff
Run Code Online (Sandbox Code Playgroud)

不同。LESS未设置和设置为空值之间有什么区别LESS(除了前者明显暗示-R)?

小智 7

这与一切无关less,又与一切有关git。引用git-config(1)手册页(强调我的):

LESS环境变量未设置时,Git 将其设置为FRX(如果设置了LESS环境变量,Git 根本不会更改它)。

R的选项控制less是否解释颜色转义等,默认情况下不启用,但仅在未设置环境变量git时设置LESS