Mac 및 Ubuntu에서 터미널 PS1 값의 이상한 동작

Mac 및 Ubuntu에서 터미널 PS1 값의 이상한 동작

Mac과 Ubuntu에서는 PS1 값을 다음과 같이 설정했습니다.

export PS1='\[\e[1;31m\]\d\[\e[0m\] \[\e[1;32m\]\u  \W\[\e[0m\] \[\e[1;36m\]>\[\e[0,\] \[$(tput sgr0)\]'

우분투에서는 터미널 프롬프트가 괜찮아 보입니다. 하지만 내 Mac에는 다음과 같은 추가 "B"가 있습니다.

Mon Jan 16 DrizzutoJr  ~ >B

나는 Mac과 Ubuntu가 이 값을 약간 다르게 처리한다고 가정합니다. 누군가 무슨 일이 일어나고 있는지, 어떻게 해결하는지 설명해 줄 수 있나요?

답변1

\[\e[0,\]첨부된 텍스트가 escape,유효한 "ANSI" 이스케이프 시퀀스에 해당하지 않기 때문에 이는 의심스럽습니다.마지막 바이트). VTE와 "작동"할 수도 있지만(후드 아래에 흥미로운 잘라내기/붙여넣기가 많이 있음) 다른 터미널에서는 길 잃은 문자가 나타나는 것을 볼 수 있습니다.

어쩌면 키보드의 인접한 키를 원할 수도 있습니다.m.

덧붙여서, 다음 $(tput sgr0)과 같은 결과를 얻을 수도 있습니다.\e[0m( tput표현 전체에 걸쳐 일관되게 사용하는 것도 효과가 있으며, 이는 더 장황하지만 아마도 더 읽기 쉬울 것입니다).

추가 자료:

관련 정보