lxterminal 프롬프트 원하지 않는 문자

lxterminal 프롬프트 원하지 않는 문자

나는 새로운 Lubuntu 14.04 설치 중입니다. 나는 LXTerminal을 사용하고 있으며 이것은 .bashrc 파일을 통해 설정하는 프롬프트입니다.

export PS1="\e[0;36m$ \w \e[m"

최대 15자 길이의 명령을 입력하고 기록에 등록되도록 실행한다고 가정합니다("명령을 찾을 수 없음"은 신경 쓰지 마세요).

$ ~ 012345678901234
012345678901234: command not found

이제 위쪽 화살표를 누르면 명령이 다시 표시됩니다.

$ ~ 012345678901234

아래쪽 화살표를 누르면 기본 프롬프트로 돌아갑니다.

$ ~ 

문제 실행할 문자가 16개 이상인 경우 문제가 시작됩니다.

$ ~ 0123456789012345
0123456789012345: command not found

이제 위쪽 화살표를 누르면 이전 명령이 정상적으로 표시됩니다.

$ ~ 0123456789012345

아래쪽 화살표를 눌러도 기본 프롬프트로 돌아가지 않고 내 기록에서 16자가 넘는 첫 번째 긴 명령 중 10자를 기억하고 다른 명령이 실행될 때까지 표시합니다. 기본적으로 당분간은 기본 프롬프트가 됩니다.

$ ~ 0123456789

이제 Return 키를 눌러 제거하거나 다른 명령을 실행할 수 있습니다. 예를 들어 다음과 같습니다.

$ ~ 0123456789ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos

문제를 해결하려면 어떻게 해야 하나요? 별로 대단한 일은 아니지만 꽤 짜증나는 일이다.

답변1

색상 코드를 래핑해야 합니다 \[.\]

PS1='\[\e[0;36m\]$ \w \[\e[m\]'

또한 PS1은 대화형 셸에만 관련되므로 하위 프로세스로 내보낼 필요가 없습니다.

관련 정보