내 유닉스 컴퓨터에서 사용자 정의 프롬프트 (파란색의 현재 경로)를 사용하고 싶습니다.
export PS1='\[\e[0;34m\]\w \$\[\e[m\] '
그러나 Mac의 터미널에서 사용하려고하면 작동하지 않습니다. 프롬프트의 끝을 감지하지 못하고 명령을 입력 할 때 프롬프트를 덮어 씁니다. 이것은 새로운 줄을 시작하는 대신 같은 줄을 감싸는 긴 명령을 입력 할 때도 발생합니다.
두 컴퓨터에서 bash를 사용하기 때문에 이것이 왜 그런지 이해하지 못합니다. 이 문제를 해결하는 방법에 대한 제안 사항이 있습니까?
답변
왜 다른 결과를 얻는 지 잘 모르겠지만 올바른 값은
export PS1='\[\e[0;34m\]\w \$\[\e[m\] '
인쇄하지 않는 문자는로 묶어야 \[ \]
하므로 bash는 화면에서 올바른 길이의 프롬프트를 계산할 수 있습니다 (커서 위치 지정 목적으로).
답변
이 작은 따옴표 대신 “”를 큰 따옴표로 묶어보십시오. 나를 위해 일했다. iTerm 및 Mac OS X 터미널에서도 작동합니다.
답변
\[\e[
[\e[
코드 형식이 아닌 게시물에 게시 되었습니다 . 혼란에 대해 죄송합니다. 내 Mac에서 bash를 3.0에서 4.2로 업데이트하여 문제를 해결했습니다.