방금 Macbook Air로 전환했습니다. homebrew를 사용하여 zsh를 설치했지만 (원래에있는) 코드 중 일부를 사용 .zshrc
하면 오류가 발생합니다 .dircolors was not found
.
다음은 문제의 코드입니다.
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'
되어 dircolors
맥 OS X와 함께 제공되지? 어떻게 설치해야합니까?
최신 정보:
쉘에서 dircolors를 직접 실행하면 다음과 같은 결과를 얻습니다.
bash: dircolors; command not found
답변
이 명령 dircolors
은 GNU coreutils에만 적용되므로 내장되지 않은 Linux 및 Cygwin에서는 찾을 수 있지만 OSX와 같은 다른 유닉스 시스템에서는 찾을 수 없습니다. 생성 된 설정은 .zshrc
OSX로 이식 할 수 없습니다.
기본 색상을 사용하고 있으므로 빈 문자열을에 전달하여
list-colors
파일 완성 색상을 얻을 수 있습니다.
실제 ls
명령을 사용한 색상의 경우 CLICOLOR
OSX 에서 환경 변수를 설정 LSCOLORS
하고 색상을 변경하려는 경우 설정 (형식 매뉴얼 참조)하십시오.
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
당신이 (비 기본 색상을 설정하고 싶다면 dircolors
파일 인수), 내 추천은 하드 코드의 출력이 될 것입니다 dircolors -b ~/.dircolors
당신에 .zshrc
와 zsh을하고 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
답변
FreeBSD에는 명령이없고 dircolor
OS X에는 FreeBSD의 기초가 있으므로 사용할 수 없습니다.
가장 간단한 것은 사용하는 것입니다
export CLICOLOR=YES
귀하의 .zshrc
및 .bashrc
제거 eval "$(dircolors -b)"
합니다. 색상을 변경하려면 환경 변수를 사용할 수 있습니다 LSCOLORS
. 예를 들면 다음과 같습니다.
export LSCOLORS="Gxfxcxdxbxegedabagacad"
맨 페이지에서 자세한 내용을 확인할 수 있습니다.
man ls
에 대한 export CLICOLOR=YES
별명을 사용 하는 것의 대안ls
alias ls=ls -G
일부는 Mac Ports에서 GNU-Coreutils를 설치하도록 제안했지만 제 생각에는 이것은 지나친 것입니다. 여기서 포트를 찾을 수 있습니다
답변
더 이상 Mac 전체를 수행하지 않으므로 테스트 할 것이 없지만 FreeBSD 에서이 작업을 수행하기 위해 포트 에서이 작업을 수행하는 방법을 알아 냈습니다. 나는 OSX가 같은 물건을 가지고 기억 brew
하고 macports
당신이 정말로 원하는 경우이에서 GNU의로 coreutils를 설치하십시오 – dircolors
작업에. 또한 별칭을 설정했다 dircolors
으로 gdircolors
이 FreeBSD 포트는 같은 재미를 설치하는 명령 때문이다. 이것을 시도하는 사람에게 행운을 빕니다!
brew를 통해 coreutils를 다운받는 사람에 대한 링크는 다음과 같습니다.
http://www.topbug.net/blog/2013/04/14/install-and-use-gnu-command-line-tools-in-mac-os-x/