Mac 터미널에서 사용자 정의 프롬프트가 작동하지 않습니다 씁니다. 이것은 새로운 줄을 시작하는

내 유닉스 컴퓨터에서 사용자 정의 프롬프트 (파란색의 현재 경로)를 사용하고 싶습니다.

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로 업데이트하여 문제를 해결했습니다.