Comment faire en sorte que ls --color = auto fonctionne sur Mac OS X?
71
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' --coloroption.
lsest en fait séparé de Bash. Mac OS X a une version BSD de ls, qui nécessite -Gsur la ligne de commande ou CLICOLOR(et peut-être LSCOLORS) dans l'environnement.
Idem. Je suis alias ls='ls -G'dans mon .bashrc sur Snow Leopard.
ayaz
Pour une raison quelconque, a CLICOLOR=Ycessé de travailler sur mon Mac. alias ls='ls -G'forcerait lsà colorier. Je définis cela uniquement pour les terminaux interactifs.
Notez que cela jettera un préfixe gdevant toutes les commandes (par exemple, glspour 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 cela .
La sortie indique: Si vous avez vraiment besoin d'utiliser ces commandes avec leurs noms normaux, vous pouvez ... Pourquoi insiste-t-il vraiment ? Quels sont les inconvénients?
Z0r
Et vous n'avez jamais archivé votre page sur archive.org et maintenant votre lien dans votre dernier paragraphe a disparu
barlop
5
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)
définition de la variable d’environnement CLICOLOR pour les systèmes * BSD et Darwin - s’il est défini, ainsi que d’autres utilitaires fonctionneraient en couleur, mais GNU ls (pour Linux) l’ignore. Si "ls --color = auto" n'échouera pas (état de sortie = 0) - nous avons la version GNU de ls et faisons alias pour dessiner des codes de couleur en mode interactif, si cela échoue - alors nous n'avons pas besoin d'alias à cause de CLICOLOR variable. "&> / dev / null", ne montrez simplement pas stderr et stdout si quelque chose échoue ou si tout va bien. Fonctionne pour mon linux et osx. (ps bash sur osx et freebsd ne lit pas .bashrc, mettez-le donc dans .profile. corrigez-le déjà).
Victor Gavro
2
Vous devrez installer une autre version de ls. Celui habituellement utilisé sous Linux provient du projet GNU coreutils .
Vous pouvez construire et installer ou installer depuis macports , fink ou homebrew .
C'est exagéré, à mon avis. Vous n'avez pas besoin d'installer une version distincte de lslorsque la même fonctionnalité est prise en charge légèrement différemment sur la version existante de ls.
ayaz
Bon point. Là encore, la couleur n'a jamais été à mon goût. alias ls='ls -F'
Doug Harris
alias ls='ls -FG'- c'est le meilleur des deux mondes!
Mipadi
1
Je le fais en utilisant homebrew. Ce n'est pas exagéré si vous utilisez à la fois des ordinateurs Mac et * Nix et souhaitez que vos terminaux aient la même apparence - ceci vous permet d'utiliser les mêmes fichiers de configuration sur tous les ordinateurs. Il est installé en tant que glset ne remplace pas l'original, il n'y a donc aucun inconvénient.
Senderle
1
J'utilise ce script Perl que j'ai écrit sous AIX . C'est utile si vous êtes sur un système qui ne supporte pas --color, et aussi où vous n'avez pas de sudo pour installer des paquets.
Réponses:
ls
est en fait séparé de Bash. Mac OS X a une version BSD dels
, qui nécessite-G
sur la ligne de commande ouCLICOLOR
(et peut-êtreLSCOLORS
) dans l'environnement.Voir
man ls
pour plus d'informations.la source
alias ls='ls -G'
dans mon .bashrc sur Snow Leopard.CLICOLOR=Y
cessé de travailler sur mon Mac.alias ls='ls -G'
forceraitls
à colorier. Je définis cela uniquement pour les terminaux interactifs.Ouvrez la fenêtre du terminal et tapez:
Alors frappe Enteret c'est fait!
la source
Utilisez Homebrew .
Notez que cela jettera un préfixe
g
devant toutes les commandes (par exemple,gls
pourls
). 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 cela .
la source
compatibilité pour GNU et * BSD / darwin ls
~ / .profile
~ / .bashrc (je ne me souviens pas si bash sur Linux lit toujours ~ / .profile, mais pas mon zsh sur ARCH)
la source
Vous devrez installer une autre version de
ls
. Celui habituellement utilisé sous Linux provient du projet GNU coreutils .Vous pouvez construire et installer ou installer depuis macports , fink ou homebrew .
la source
ls
lorsque la même fonctionnalité est prise en charge légèrement différemment sur la version existante dels
.alias ls='ls -F'
alias ls='ls -FG'
- c'est le meilleur des deux mondes!gls
et ne remplace pas l'original, il n'y a donc aucun inconvénient.J'utilise ce script Perl que j'ai écrit sous AIX . C'est utile si vous êtes sur un système qui ne supporte pas
--color
, et aussi où vous n'avez pas de sudo pour installer des paquets.Devrait fonctionner sur Macintosh aussi.
la source