이렇게 하면 tput sgr0
터미널 글꼴과 색상이 흰색(검은색이어야 함)으로 바뀌고 뭉툭해 보입니다.
스크린샷을 참조하세요:
어떻게 하면 이것을 멈출 수 있나요?
더 간결하게 말하자면, 이 echo
이후의 내용 tput sgr 0
은 굵은 흰색으로 출력되는 것으로 보이며 터미널 텍스트 색상은 검정색입니다.
고쳐 쓰다:
내 거 ~.bashrc
:
export LC_ALL="en_GB.UTF-8"
export BASH_SILENCE_DEPRECATION_WARNING=1
branch() {
git branch 2> /dev/null | \
grep \* | \
awk '{print$2}' | \
sed '
s#^#(#g;
s#$#)#g
'
}
colo() { tput setaf $1; }
PS1='`tput bold``colo 5`\W: `tput sgr0``colo 0``branch``colo 0` \n λ '
답변1
코드 sgr0
는 man terminfo
"모든 속성을 끄세요".
코드 sgr
는 "비디오 속성 #1-#9 정의(PG9)" 값을 취하고 1
.. 9
; 시퀀스 sgr 0
는 정의되지 않았습니다. 질문에 및 를 모두 사용했습니다 sgr0
.sgr 0
나머지 대답은 sgr0
다른 시퀀스가 유효하지 않기 때문에 가정됩니다.
tput sgr0
터미널을 흑백으로 재설정을 사용하는 경우 이러한 색상은 기본(재설정) 모드의 일부입니다. 따라서 선호하는 색 구성표를 기본값으로 사용하도록 터미널 응용 프로그램을 구성하는 대신 특정 전경색과 배경색을 설정하는 지침을 쉘 초기화 파일 중 하나에 넣는다고 가정합니다. 이는 sgr0
코드에 의해 (올바르게) 재설정됩니다.
두 가지 가능한 해결책을 생각했는데,
- 기본 재설정 값이 되도록 셸 구성 파일에서 설정하는 대신 원하는 색상을 사용하도록 터미널 응용 프로그램을 직접 구성합니다.
- 인쇄할 때마다 선호하는 전경 및 배경 속성을 설정하려면 쉘 프롬프트 명령을 수정하세요.