GNU/Linux >> Tutoriels Linux >  >> Linux

Mac Os X :Dircolors introuvable ?

Je viens de passer à un Macbook Air. J'ai installé zsh en utilisant homebrew, mais quand j'utilise une partie du code que j'avais (à l'origine) dans mon .zshrc , j'obtiens une erreur disant que .dircolors was not found .

Ci-dessous le code en question :

zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete _correct _approximate
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' menu select=2
eval "$(dircolors -b)"
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
zstyle ':completion:*' menu select=long
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true

zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'

Est dircolors n'est pas livré avec Mac OS X ? Comment dois-je l'installer ?

Mise à jour :

Si je lance dircolors directement sur le shell, j'obtiens :

bash: dircolors; command not found

Réponse acceptée :

La commande dircolors est spécifique à GNU coreutils, vous le trouverez donc sur Linux non embarqué et sur Cygwin mais pas sur d'autres systèmes Unix tels que OSX. Les paramètres générés dans votre .zshrc ne sont pas portables sur OSX.

Puisque vous utilisez les couleurs par défaut, vous pouvez passer une chaîne vide au list-colors pour obtenir des couleurs dans les complétions de fichiers.

Pour les couleurs avec le ls réel commande, définissez le CLICOLOR variable d'environnement sur OSX, et définissez également LSCOLORS (voir le manuel pour le format) si vous voulez changer les couleurs.

if whence dircolors >/dev/null; then
  eval "$(dircolors -b)"
  zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
  alias ls='ls --color'
else
  export CLICOLOR=1
  zstyle ':completion:*:default' list-colors ''
fi

Si vous vouliez définir des couleurs non par défaut (dircolors avec un argument de fichier), ma recommandation serait de coder en dur la sortie de dircolors -b ~/.dircolors dans votre .zshrc et utilisez ces paramètres pour zsh et GNU ls.

LS_COLORS=…
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
if whence dircolors >/dev/null; then
  export LS_COLORS
  alias ls='ls --color'
else
  export CLICOLOR=1
  LSCOLORS=…
fi

Linux
  1. gestionnaire d'abonnement :commande introuvable

  2. dnf :commande introuvable

  3. bc :commande introuvable

  4. dpkg :commande introuvable

  5. id :commande introuvable

Pas trouvé

ifrename :commande introuvable

macof :commande introuvable

nc :commande introuvable

aws-shell :commande introuvable

ln :commande introuvable