终端不显示目录列表的颜色


9

我不知道为什么我的bash会话不显示颜色。我已经尝试了终端以及iTerm。

我努力了:

  1. ls -G
  2. 设置export CLICOLOR=1export LSCOLORS=GxFxCxDxBxegedabagaced
  3. 使用不同的主题,例如日光浴和其他

我的软件版本为:

  1. bash:GNU bash,版本3.2.51(1)-发行版(x86_64-apple-darwin13)
  2. osx:10.9.2

我已经安装了自制软件

我不知道还有哪些其他信息可能会有所帮助。我在外壳上花了很多时间,这个问题变得很烦人:)

编辑:在终端首选项中,我有“将终端声明为:xterm-256color”和“显示ANSI颜色”以及“为粗体文本使用明亮的颜色”


尝试运行printf '\e[32mtest\n',如果可以运行,则表示存在问题ls
0942v8653 2014年

我也有这个问题。为了扩展您尝试过的内容,coreutils的gls命令仍然存在问题。上面的注释成功更改了提示色。我的问题似乎与SolarizedDark主题有关,因为可以更改其他主题中Terminal.app首选项中的颜色。
agweber 2014年

Answers:


4

我建议您通过Homebrew 安装GNU Core Utilities,它将为您提供“ Linux”版本ls(而不是OS X附带的FreeBSD版本)以及其他强大的工具

brew update
brew install coreutils

然后,您应该能够显示以下颜色:

gls --color

此外,请阅读注意事项以配置PATH,以便可以使用诸如gls其正常名称之类的命令ls

$ brew info coreutils
coreutils: stable 8.23 (bottled)
https://www.gnu.org/software/coreutils
Conflicts with: ganglia, idutils
/usr/local/Cellar/coreutils/8.23 (214 files, 10M)
  Poured from bottle
/usr/local/Cellar/coreutils/8.23_1 (214 files, 10M) *
  Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/coreutils.rb
==> Dependencies
Build: xz 
==> Caveats
All commands have been installed with the prefix 'g'.

If you really need to use these commands with their normal names, you
can add a "gnubin" directory to your PATH from your bashrc like:

    PATH="/usr/local/opt/coreutils/libexec/gnubin:$PATH"

Additionally, you can access their man pages with normal names if you add
the "gnuman" directory to your MANPATH from your bashrc as well:

    MANPATH="/usr/local/opt/coreutils/libexec/gnuman:$MANPATH"

值得注意的是,gls(GNU ls)不能通过将CLICOLOR环境变量定义为OS X的默认BSD ls命令来启用颜色。另外,用于在BSD ls中启用颜色的-G开关对GNU ls不起作用,--color对BSD ls不起作用。如果要使所有ls命令着色,则必须为ls定义别名以添加--color开关。供“ man ls”(BSD风格)参考:“ -G启用彩色输出。此选项等效于在环境中定义CLICOLOR。”
Mark Edington

在安装coreutils之后使用gls --color我得到了默认的颜色,而不是我的LSCOLORS var的颜色。由于我想用通用名称来默认gnu工具的默认路径,所以我才which ls回过头来/ bin / ls,效果很好。令人惊讶的是,这使当前的shell恼火了,该shell再也找不到ls了,但是新的shell可以正常工作。bash没有进行重新哈希处理,所以我不明白为什么它会挂在/ usr / local / opt / coreutils / libexec / gnubin / ls上
Aaron

1

在Temrinal的终端>首选项中,为您正在使用的会话类型选择配置文件,然后在“高级”选项卡下检查您正在使用的终端声明。最有可能选择的一种不支持ANSI着色。xterm-256color应该支持您的期望。


我刚刚检查过,终端已经设置为xterm-256color(更新后的问题以反映此信息和其他信息)
Shahbaz 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.