![문자로 인해 종료되는 터미널 프롬프트를 어떻게 수정합니까? [복사]](https://linux55.com/image/80562/%EB%AC%B8%EC%9E%90%EB%A1%9C%20%EC%9D%B8%ED%95%B4%20%EC%A2%85%EB%A3%8C%EB%90%98%EB%8A%94%20%ED%84%B0%EB%AF%B8%EB%84%90%20%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%88%98%EC%A0%95%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
내 터미널 프롬프트는 파일의 다음 구성을 사용하여 설정됩니다 .profile
.
# Prompt
GREEN=$(tput setaf 2)
LIME_YELLOW=$(tput setaf 190)
MAGENTA=$(tput setaf 5)
WHITE=$(tput setaf 7)
NORMAL=$(tput sgr0)
PS1="\[${WHITE}${MAGENTA}\]\u\[${WHITE}@${GREEN}\]\h \[${LIME_YELLOW}\]\W \[${WHITE}${NORMAL}\]$ "
일반적으로 잘 작동하지만 때로는 하나씩 오류가 발생합니다. 몇 가지 명령을 실행한 다음 up
키를 사용하여 기록에 액세스하면 일부 문자가 깨져 보이는 것처럼 보입니다. 예를 들어:
matt@laptop ~ $ git log
~이 되다
matt@laptop ~ $ gitlog
또는:
matt@laptop ~ $ ssh desktop
~이 되다
matt@laptop ~ $ssh desktop
잘못 표시된 명령은 정상적으로 실행되고 기록에 정상적으로 나타납니다.
답변1
\[
태그는 \]
색상을 설정하는 제어 시퀀스와 같이 화면에 표시될 때 너비가 0인 텍스트를 둘러싸는 데 사용됩니다. 다른 일반 텍스트는 @
태그 외부에 있어야 합니다.
그래서 대신
PS1="\[${WHITE}${MAGENTA}\]\u\[${WHITE}@${GREEN}\]\h \[${LIME_YELLOW}\]\W \[${WHITE}${NORMAL}\]$ "
이것을 사용
PS1="\[${WHITE}${MAGENTA}\]\u\[${WHITE}\]@\[${GREEN}\]\h \[${LIME_YELLOW}\]\W \[${WHITE}${NORMAL}\]$ "
더 많은 정보를 원하시면 방문해주세요배쉬 FAQ 053.