Mac 上有 Bash 彩色 shell 吗?

Mac 上有 Bash 彩色 shell 吗?

如何让 bash shell 以不同的颜色列出可执行文件和不可执行文件?

我尝试进行编辑~/.bashrc以包含以下行(否则为空):

 LS_OPTIONS='--color=auto'

但它不起作用。我做错了什么?我在 Mac OS X 上工作。

答案1

要打开ls命令的颜色输出而无需创建别名ls或下载任何其他软件,请将以下内容添加到~/.bash_profile

# Terminal colours
export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad

如果你不喜欢这些颜色,你可以使用这是 ls 颜色生成器根据您的喜好自定义颜色列表。

你需要做:

source ~/.bash_profile

在您进行任何更改后,它们都会在您现有的 shell 中生效。

答案2

问题是 OS X 没有 GNU ls;虽然它ls支持文件名着色,但只能根据文件类型(文件、目录、符号链接、设备特殊文件、fifo、套接字...)进行着色。coreutils从 Fink/MacPorts/HomeBrew 安装,然后使用alias ls='gls --color=auto'

答案3

BSD ls 有效有点不同

alias ls='ls -G'

应该管用。

这不是 bash 着色,而是ls进行着色。当 bash 执行文件列表(echo *在目录中尝试)时,无法着色​​。ls -G在任何 shell 中都可以输入内容,但具有别名的 shell(如 bash)会更容易。

答案4

考虑安装brew并使用 GNU 版本的 ls 和其他工具。

从 AppStore 安装 XCode。

安装自制...

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装 coreutils...

brew install coreutils

添加到您的底部.profile...

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

ls在我的.profile待办事项中使用了颜色别名,并为完整列表添加了快捷方式。

alias ls='ls --color'
alias l='ls -lah'
# -l     use a long listing format
# -a     do not ignore entries starting with .
# -h     with -l and/or -s, print human readable sizes (e.g., 1K 234M 2G)

有很多LS_COLORS选择github

相关内容