터미널 프롬프트가 [중복] 위에 기록되었습니다.

터미널 프롬프트가 [중복] 위에 기록되었습니다.

먼저 이 터미널 세션은 Windows PuTTY에서 Linux OpenSSH로 ssh를 통해 이루어집니다. 이것이 중요한지 잘 모르겠지만 어쨌든 말해야 한다고 생각했습니다.

현재 터미널에 두 줄 이상을 쓰면 텍스트가 새 줄이 아닌 같은 줄에서 시작되어 프롬프트가 다음과 같이 표시됩니다.

trevor@SEARS-SERVER:~$

이에 대한 내용은 다음과 같습니다(물론 샘플 텍스트).

ne lineSEARS-SERVER:~$ this is the text line that is too long to fit on o

현재 내 PS1은 .bashrc에 다음과 같이 설정되어 있습니다.

export PS1="\n[$(date +%r)] \e]0;\e[0;32m\u\e[m@\e[38;5;52m\h\e[m:\e[38;5;240m\w\e[m\e[97m$\e[m"

또한 창이 특정 너비보다 작으면 다음과 같은 일이 발생합니다.

m$ :32:40 PM] trevor@SEARS-SERVER:~

이것이 내 PS1 구성 또는 PuTTY와 관련이 있다는 것을 알고 있지만 어느 것이, 왜/방법인지는 모릅니다. 도움이 필요하세요?

답변1

질문은 귀하의 프롬프트입니다.

export PS1="\n[$(date +%r)] \e]0;\e[0;32m\u\e[m@\e[38;5;52m\h\e[m:\e[38;5;240m\w\e[m\e[97m$\e[m"

Bash가 이스케이프 시퀀스(비인쇄)를 무시하도록 하려면 \[해당 시퀀스를 및 로 묶어야 합니다 \].

그렇지 않으면 bash는 이를 화면 프롬프트 길이의 일부로 계산하여 터미널이 자동으로 다음 줄로 넘어가는 시점을 혼동하게 됩니다.

다음과 같은 것이 도움이 될 것입니다:

export PS1="\n[$(date +%r)] \[\e]0;\e[0;32m\]\u\[\e[m\]@\[\e[38;5;52m\]\h\[\e[m\]:\[\e[38;5;240m\]\w\[\e[m\e[97m\]$\[\e[m\]"

관련 정보