如何让 ls --color=auto 在 Mac OS X 上工作?

cfi*_*her 77 linux bash ls macos

我正在尝试将我的 bash 配置从 Ubuntu 移动到 Mac OS X,看起来 ls 略有不同。例如,它不会接受该--color选项。

我如何让这个工作?

小智 81

ls实际上与 Bash 是分开的。Mac OS X 有一个 BSD 版本ls,它需要-G在命令行或CLICOLOR(也许LSCOLORS)环境中使用。

查看man ls更多信息。

  • 同上。我在 Snow Leopard 的 .bashrc 中设置了 `alias ls='ls -G'`。 (7认同)

Saf*_*Ali 35

打开终端窗口并输入:

alias ls='ls -G'
Run Code Online (Sandbox Code Playgroud)

然后点击Enter完成!


小智 12

使用自制软件

brew install coreutils
Run Code Online (Sandbox Code Playgroud)

请注意,这将g在所有命令(例如,glsfor ls)前面抛出一个前缀。它提供了一个选项来获取一个文件,该文件将自动为您命名这些文件。

我不确定是否可以选择直接安装它们而不必执行整个别名操作,因此在已安装的 MacPorts中执行此操作


Vic*_*vro 9

GNU 和 *BSD/darwin ls 的兼容性

~/.profile

#for *BSD/darwin
export CLICOLOR=1

ls --color=auto &> /dev/null && alias ls='ls --color=auto' ||
Run Code Online (Sandbox Code Playgroud)

~/.bashrc (我不记得 Linux 上的 bash 是否总是读取 ~/.profile,但不是我在 ARCH 上的 zsh)

[[ -f $HOME/.profile ]] && source $HOME/.profile
Run Code Online (Sandbox Code Playgroud)

  • 你能解释一下这段代码吗? (6认同)