64

Я пытаюсь перенести мою конфигурацию bash с Ubuntu на Mac OS X, и похоже, что ls немного отличается. Например, он не примет опцию --color .

Как мне заставить это работать?

6 ответов6

73

На самом деле ls отделен от Bash. Mac OS X имеет BSD-версию ls , для которой требуется -G в командной строке или CLICOLOR (и, возможно, LSCOLORS) в среде.

Смотрите man ls для получения дополнительной информации.

29

Откройте окно терминала и введите:

alias ls='ls -G'

Затем нажмите Enter и готово!

11

Используйте Homebrew.

brew install coreutils

Обратите внимание, что это бросит префикс g перед всеми командами (например, gls для ls). Это дает возможность получить файл, который будет называть их автоматически.

Я не был уверен, есть ли возможность установить их напрямую, без необходимости делать весь псевдоним, поэтому вместо этого в установленных MacPorts и сделал это.

5

совместимость для GNU и * BSD/darwin ls

~/.Profile

#for *BSD/darwin
export CLICOLOR=1

ls --color=auto &> /dev/null && alias ls='ls --color=auto' ||

~/.bashrc (я не помню, всегда ли bash в Linux читает ~/.profile, но не мой zsh в ARCH)

[[ -f $HOME/.profile ]] && source $HOME/.profile
2

Вам нужно будет установить альтернативную версию ls . Тот, который обычно используется в Linux, взят из проекта GNU coreutils .

Можно построить и установить или установить из MacPorts, Fink или самогон.

1

Я использую этот Perl-скрипт, который я написал в AIX. Это полезно, если вы работаете в системе, которая не поддерживает --color , а также там, где у вас нет sudo для установки пакетов.

Должен работать на Macintosh тоже.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .