web-dev-qa-db-fra.com

Comment faire en sorte que ls --color = auto fonctionne sur Mac OS X?

J'essaie de déplacer ma configuration bash d'Ubuntu vers Mac OS X et il semble que ls soit légèrement différent. Par exemple, il n'acceptera pas l'option --color.

Comment puis-je obtenir que cela fonctionne?

68
cfischer

ls est en fait séparé de Bash. Mac OS X dispose d'une version BSD de ls, qui nécessite -G sur la ligne de commande, ou CLICOLOR (et peut-être LSCOLORS) dans l'environnement.

Voir man ls pour plus d'informations.

76
DoeNietZoMoeilijk

Ouvrez la fenêtre du terminal et tapez:

alias ls='ls -G'

Puis frappe Enter et fait!

31
Safran Ali

Utilisez Homebrew .

brew install coreutils

Notez que cela jettera un préfixe g devant toutes les commandes (par exemple, gls pour ls). Cela donne la possibilité de créer un fichier qui les aliasera automatiquement pour vous.

Je n'étais pas sûr s'il y avait une option pour les installer directement sans avoir à faire tout le processus de pseudonyme, donc à la place dans MacPorts installé et ceci .

10
ifightcrime

compatibilité pour GNU et * BSD/darwin ls

~/.profile

#for *BSD/darwin
export CLICOLOR=1

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

~/.bashrc (je ne me souviens pas si bash sur Linux lit toujours ~/.profile, mais pas mon zsh sur Arch)

[[ -f $HOME/.profile ]] && source $HOME/.profile
5
Victor Gavro

Vous devrez installer une autre version de ls. Celui utilisé habituellement sous Linux provient du projet GNU coreutils .

Vous pouvez construire et installer ou installer depuis macports , fink ou homebrew .

2
Doug Harris

J'utilise ce script Perl que j'ai écrit sous AIX . C’est utile si vous êtes sur un système qui ne prend pas en charge --color et où vous n’avez pas Sudo pour installer des packages.

Devrait fonctionner sur Macintosh aussi.

1
Erik Aronesty