PS1 색상 설정

PS1 색상 설정

팁 을 색칠하고 싶습니다 zsh. 이를 위해 다음 코드를 사용합니다.

export PS1=%F{blue}%n%#

하지만 이를 올바르게 하려면 다음과 같은 값을 추가해야 합니다 %f.PS1

export PS1=%F{blue}%n%#%f

생략하면 %f동작이 이상해집니다. 색상이 프롬프트에 영향을 줄 뿐만 아니라 ls -l다음과 같이 입력하면 출력의 첫 번째 줄에도 색상이 지정됩니다. 여기에 이미지 설명을 입력하세요.

색상 값 설정은 PS1다른 명령에 어떤 영향을 줍니까? 단지 프롬프트에 관한 것 아닌가요?

답변1

지정된 전경색 사용을 중지하도록 %f쉘에 지시합니다 . zsh이것zsh프롬프트 확장에 대한 매뉴얼 페이지설명하다:

%F( %f)

터미널에서 지원하는 경우 다른 전경색으로 시작(중지)합니다.

zsh전경색을 재설정하도록 지시하지 않으면 새 전경색이 지정될 때까지 후속 전경 문자가 해당 색상을 갖게 됩니다(예: 녹색 일반 파일).

답변2

색상으로 전환하는 터미널 명령이 있습니다. 이것이 유지됩니다. 그런 다음 다시 전환합니다. Esc 코드나 특수 명령을 사용하여 터미널에서 직접 수행할 수 있습니다 zsh.

echo \\033[31m red \\033[34m blue \\033[m and black again

(필요한 백슬래시 수는 쉘에 따라 다를 수 있습니다)

zsh터미널에 따라 %F, %f를 해석하여 위와 같이 Esc 코드로 변환합니다.

관련 정보