WSL 上的所有目录均为蓝底绿字

Mar*_*arc 1 ls bash windows-subsystem-for-linux

根据我读过的所有LS_COLORS内容,di=01;34应该意味着粗体蓝色。

无论我尝试什么设置,除了黑底白字(我假设我的设置不正确)或这种丑陋的标准蓝绿之外,我什么也得不到。

在此输入图像描述

我已经尝试了 or 的每一种排列di=**;**:,具体取决于你问的dir=**;**:是谁,但没有结果,除了香草或丑陋之外没有其他结果。

这里发生了什么?

Windows 10 / WSL Ubuntu 20 / Windows 终端

LS_COLORS

rs=0:di=01;34:ln=01;36:mh=00:pi=40;33
:so=01;35:do=01;35:bd=40;33;01
:cd=40;33;01:or=40;31;01:mi=00:su=37;41
:sg=30;43:ca=30;41:tw=30;42:ow=34;42
:st=37;44:ex=01;32: *.tar=01;31
:*.tgz=01;31:*....
Run Code Online (Sandbox Code Playgroud)

Gil*_*il' 6

LS_COLORS没有被忽略。它导致绿色上有蓝色,这绝对不标准。绿色上的蓝色在设计上很丑:它表示一个全局可写的目录,这通常很少见,但在不以正常方式使用 Unix 权限的 WSL 上很常见。

这是来自ow中的设置LS_COLORS。替换ow=34;42ow=以使该设置不适用。

shopt -s extglob
LS_COLORS=${LS_COLORS/:ow=*([^:]):/:ow=:}
Run Code Online (Sandbox Code Playgroud)