의 도움으로 색상을 dircolors
변경했습니다 . ls
내 .dircolors
파일은
FILE 00;97
DIR 00;96
LINK 00;95
MULTIHARDLINK 00;34
ORPHAN 91;01 # symlink to nonexistent file
MISSING 00;00
EXEC 91;00 # this is for files with execute permission
dircolors .dircolors >> .bashrc
그 후 ls
출력은 설정에 정의된 대로 올바르게 색상이 지정됩니다.실행파일 제외. 빨간색(91;00) 대신 기본 터미널 전경색을 사용하여 색상이 지정됩니다. 예를 들어,
xterm -fg yellow # Executables become yellow on ls
xterm -fg green # Executables become green on ls
이는 터미널(Xterm, Terminator, Virtual Console...)과는 아무런 관련이 없습니다.
나는 또한 라인만을 포함하는 dircolors 파일을 시도했는데 EXEC
, 이는 라인을 생성했습니다.
export LS_COLORS='ex=91;00:'
내에서는 .bashrc
실행 파일에 여전히 색상이 없습니다.
실행 파일을 색칠할 때 내가 뭘 잘못하고 있는 걸까요?
답변1
ls
이러한 설정을 터미널로 전송되는 문자열로 생각하세요. 그것은 그들이 무엇을 의미하는지 모릅니다. 그것은 보낸다ESC [ m
끈 ;
이 이스케이프 시퀀스를 해석하는 터미널로.
터미널 이스케이프 시퀀스의 사실상 표준은 다음과 같습니다.xterm. 이 CSI
문서 에서는 ESC [
,추신는 정수이고오후세미콜론으로 구분된 정수 목록이므로 관련 이스케이프 시퀀스가 아래에 나열되어 있습니다.CSI Pm m
.
터미널은 매개변수를 순차적으로 적용합니다. 매개변수 0은 색상을 포함한 모든 속성을 재설정합니다. 따라서 91;00
동일하게 대신 0
사용하십시오 91
(또는 0;91
모든 속성을 재설정하려면 전경색을 설정하십시오). 전경색과 강도는 독립적인 속성이므로 91;01
동일합니다 .01;91
ls
일반적으로 기본 속성으로 시작하고 각 색상 이름 끝에서 기본 속성으로 재설정되므로 00;
이러한 설정에서는 중복됩니다.