为什么我的 zsh ls 不是彩色的?

jin*_*ngx 8 zsh ls

启动一个新的 16.04 服务器实例,安装 zsh,chsh 到 zsh,创建默认的 .zshrc,重新登录,ls 输出不是彩色的。.zshrc 看起来确实有所有正确的 dircolors 和 LS_COLORS 东西,但我不是 zsh 专家。

我错过了什么?

jin*_*ngx 9

好的,所以我所要做的就是alias ls='ls --color'。感谢评论中的人指出我是个白痴。:-)

(但为什么我以前不必这样做?我一直认为ls默认情况下处于彩色模式......)


Shr*_*gde 8

ZSH 输出不像 bash 输出那样丰富多彩,因为默认情况下,诸如ls,之类的命令grep不是彩色的,bash 具有默认别名以使它们彩色

要在 zsh 中获得与 bash 相同的颜色,请将这些行添加到 .zshrc 执行 gedit $HOME/.zshrc以打开 .zshrc(使用您的编辑器代替 gedit)


# 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'
      alias dir='dir --color=auto'
      alias vdir='vdir --color=auto'
      alias grep='grep --color=auto'
      alias fgrep='fgrep --color=auto'
      alias egrep='egrep --color=auto'
  fi

# some more ls aliases
    alias ll='ls -alF'
    alias la='ls -A'
    alias l='ls -CF'
Run Code Online (Sandbox Code Playgroud)

(这是来自 .bashrc)

重新启动 zsh,现在命令输出在 bash 中应该类似