Bash 탭 완성 색상이 ls 색상과 다릅니다.

Bash 탭 완성 색상이 ls 색상과 다릅니다.

나는 두 가지를 모두 정의했지만 어떤 이유로 LS_COLORS를 사용할 때와 에서 탭을 완료할 때 LSCOLORS표시되는 색상이 다릅니다 . 저는 MacOS를 사용하고 있습니다.lsbash

여기에 이미지 설명을 입력하세요. 여기에 이미지 설명을 입력하세요.

내 것에는 다음 줄이 있습니다.bashrc

 bind 'set colored-stats on'
 export LSCOLORS=exfxcxdxbxegedabagacad
 export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43'

답변1

나는 무작위 시도를 통해 그것을 알아낼 수있었습니다. 정의
bind 'set colored-stats on'후에 필수가 나타납니다 LS_COLORS.

답변2

ls다양한 색상의 입력 및 완료 질문이 TAB아래에 나와 있습니다. ls 색상은 LS_COLORS환경 변수의 현재 값 에서 가져옵니다 . 마감 색상은 TAB" " 옵션을 사용하여 라이브러리에서 제공됩니다. 또한 에 정의된 색상을 사용하지만 Bash가 시작될 때만, 즉 readline 라이브러리가 초기화될 때만 사용됩니다. 따라서 Bash가 시작된 후 수정되면 ls 및 TAB 완료가 일치하지 않습니다. 일관성을 위해 Bash가 시작되기 전에 변경해야 합니다. 예를 들어 .bash_profile에 넣거나 내보낸 후 " "을 호출하는 등의 방법을 사용합니다.readlineset colored-stats onLS_COLORSLS_COLORSLS_COLORSLS_COLORSxterm

추가 정보:https://unix.stackexchange.com/a/741843/432690

관련 정보