如何使 bash shell 列出可执行文件的颜色与非可执行文件的颜色不同?
我尝试编辑~/.bashrc
以包含以下行(否则为空):
LS_OPTIONS='--color=auto'
Run Code Online (Sandbox Code Playgroud)
但它不起作用。我究竟做错了什么?我在 Mac OS X 上工作。
要打开ls
命令的颜色输出而不必创建别名ls
或下载任何其他软件,请将以下内容添加到您的~/.bash_profile
:
# Terminal colours
export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad
Run Code Online (Sandbox Code Playgroud)
如果您不喜欢这些颜色,您可以使用此 ls 颜色生成器根据您的喜好自定义该颜色列表。
你需要做:
source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)
在对它们进行任何更改以在您现有的 shell 中生效后。
问题是 OS X 没有 GNU ls
;虽然它ls
确实支持文件名着色,但它只能通过文件类型(文件、目录、符号链接、设备特殊文件、fifo、套接字...)来实现。coreutils
从 Fink/MacPorts/HomeBrew安装,然后使用alias ls='gls --color=auto'
.
BSD ls 的工作方式有点不同
alias ls='ls -G'
Run Code Online (Sandbox Code Playgroud)
应该管用。
这不是 bash 着色,而是ls
进行着色。当 bash 执行文件列表(echo *
在目录中尝试)时,无法着色。键入ls -G
可以在任何 shell 中工作,尽管具有别名的 shell(如 bash)更容易。
在 Mac 上,您需要使用
export CLICOLOR=1
Run Code Online (Sandbox Code Playgroud)
我把它放在 .bash_profile 中。但是,我更喜欢 Rich Homolka 的解决方案,以使用 -G 标志为 ls 设置别名。如果要自定义颜色:
man ls
Run Code Online (Sandbox Code Playgroud)
并搜索 LSCOLORS
归档时间: |
|
查看次数: |
11954 次 |
最近记录: |