Windows 上的 Ubuntu 上的 Bash:无法更改(某些)目录颜色

Ser*_*ace 9 bash colors ubuntu windows-subsystem-for-linux

在 Windows (10) 应用程序上的 Ubuntu 上的新 Bash 上,我尝试将目录颜色从蓝色更改为更明显的颜色,但由于某种原因无法更改某些文件/目录颜色。如何更改所有目录/文件颜色?我的 .bashrc 文件当前设置为文件和目录颜色的颜色提示为绿色和其他亮色。设置是:

LS_COLORS=$LS_COLORS:'di=1;31:fi=0;31;bd=0;32:fi=0;33:cd=0;96';
export LS_COLORS

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[0;31m\]\u@\h\[\033[0,31m\]:\[\033[0;31m\]\w\[\033[0,31m\]\$ '
Run Code Online (Sandbox Code Playgroud)

某些文件和文件夹已更改了与我的 .bashrc 文件相对应的颜色,但其他文件和文件夹由于某种原因没有更改。

一些示例截图: 在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

小智 10

当 ls -l 在 wsl 之外显示 windows 文件时,其他可写文件会导致绿色背景。正如 Schmendrick van der Distel 所说,在您的主目录中创建一个 dircolors。然后更改 STICKY_OTHER_WRITABLE 和 OTHER_WRITABLE 如下以删除背景。

dircolors -p > ~/.dircolors
Run Code Online (Sandbox Code Playgroud)

将 .dircolors 更改为以下值:

STICKY_OTHER_WRITABLE 31;00 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 31;00 # dir that is other-writable (o+w) and not sticky
Run Code Online (Sandbox Code Playgroud)

重启 bash


小智 3

我遇到了同样的问题并通过以下方式解决了它:

在我的~/.bashrc文件中,我找到了以下几行:

test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
Run Code Online (Sandbox Code Playgroud)

.dircolors由于我在主目录中没有找到指定的文件,因此我通过以下方式导出了标准配置dircolors -p > ~/.dircolors

现在我已将行更改DIR 01;36 # directoryDIR 01;34 # directory(将颜色从蓝色更改为青色),保存文件并重新启动 BashonWindows。

希望它会有所帮助