이와 관련된 몇 가지 질문이 있다는 것을 알고 있지만 문제를 해결할 수 없습니다.
예상되는 동작:
내가 원하는 것은 모든 색상 항목을 비활성화하고 디렉토리를 자홍색으로 만드는 것입니다. 즉, --color=never
+magenta 디렉토리입니다.
현재 행동:
ls
내 LS_COLORS
환경 변수를 읽었습니다.하지만또한 디렉토리의 녹색 배경도 보입니다. 이는 LS_COLORS
기본 색상을 재정의한 것 같습니다 .
내가 지금까지 무엇을 했는지:
~/.bashrc
파일을 편집 하고LS_COLORS
수동으로 설정한 후export
편집했습니다.dircolors
나는 이 파일에 프로그램을 실행하려고 시도하는 섹션이 있다는 것을 알았습니다.설정LS_COLORS
. 하지만 내가 직접하고 있기 때문에 주석을 달았습니다.
# enable color support of ls and also add handy aliases
#if [ -x /usr/bin/dircolors ]; then
# test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolor>
# alias ls='ls --color=auto'
# #alias dir='dir --color=auto'
# #alias vdir='vdir --color=auto'
#
# alias grep='grep --color=auto'
# alias fgrep='fgrep --color=auto'
# alias egrep='egrep --color=auto'
#fi
- 이것이 내가 설정한 방법입니다:
LS_COLORS='di=01;35'; export LS_COLORS
alias ls='ls --color=auto'
다시 말하지만, 위의 줄이 작동합니다. 35
으로 바꾸면 34
차이가 보일 것입니다.
하지만 짜증나는 점은 내가 이 색상만 원하고 다른 색상은 원하지 않는다는 것입니다.
ls
이 변수는 색칠을 위해서만 읽어야 하지 않나요 ?
답변1
ls
여러 파일 형식에는 기본 색상이 있으며 적용하지 않으려면 해당 색상을 모두 재정의해야 합니다.
당신에 관한 한,
eval $(dircolors -p | awk '/^TERM/ { print; next } /^[A-Z]/ { $2 = "00" } /^DIR/ { $2 = "01;35" } /^\./ { next } 1' | dircolors -)
모든 기본값이 지워지고 디렉토리 색상이 설정됩니다.