如何在 C shell 中更改目录文本颜色?

如何在 C shell 中更改目录文本颜色?

我想在 cshell 中更改目录颜色。因此我将 /etc/DIR_COLORS 文件复制到我的 ~$home 并命名为 .dir_colors。我修改了该文件,但它没有更改文本颜色。如果我获取该文件,则终端会显示“未找到命令”以说明颜色数量。我该如何解决这个问题?

答案1

在目录列表中获取自定义颜色输出基本上有两个步骤:

  1. 创建LS_COLORS包含颜色规范的环境变量

  2. 调用启用颜色的命令ls例如ls --color=auto

在 Ubuntu 的默认 bash 配置中,以下步骤在 ~/.bashrc 文件中执行:

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    .
    .
    .
fi

要在 ~/.cshrc 中执行等效操作,您需要将所有内容更改为 csh 语法:

# enable color support of ls and also add handy aliases
if (-x /usr/bin/dircolors) then
    if (-r ~/.dircolors) then
        eval "`dircolors -c ~/.dircolors`"
    else
        eval "`dircolors -c`"
    endif
    alias ls 'ls --color=auto'
endif

请注意,使用dircolors -c代替 ,dircolors -b以便以适合C shell 评估的LS_COLORS形式输出变量赋值。eval

相关内容