Я пытаюсь перенести мою конфигурацию bash с Ubuntu на Mac OS X, и похоже, что ls немного отличается. Например, он не примет опцию --color
.
Как мне заставить это работать?
На самом деле ls
отделен от Bash. Mac OS X имеет BSD-версию ls
, для которой требуется -G
в командной строке или CLICOLOR
(и, возможно, LSCOLORS
) в среде.
Смотрите man ls
для получения дополнительной информации.
Откройте окно терминала и введите:
alias ls='ls -G'
Затем нажмите Enter и готово!
Используйте Homebrew.
brew install coreutils
Обратите внимание, что это бросит префикс g
перед всеми командами (например, gls
для ls
). Это дает возможность получить файл, который будет называть их автоматически.
Я не был уверен, есть ли возможность установить их напрямую, без необходимости делать весь псевдоним, поэтому вместо этого в установленных MacPorts и сделал это.
совместимость для 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
Вам нужно будет установить альтернативную версию ls
. Тот, который обычно используется в Linux, взят из проекта GNU coreutils .
Можно построить и установить или установить из MacPorts, Fink или самогон.
Я использую этот Perl-скрипт, который я написал в AIX. Это полезно, если вы работаете в системе, которая не поддерживает --color
, а также там, где у вас нет sudo для установки пакетов.
Должен работать на Macintosh тоже.