배쉬 문제 Mac OS 터미널 이전 명령을 보았을 때 현재 명령을 반으로

안녕하세요. 위쪽 화살표를 눌러 이전 명령을 보았을 때 현재 명령을 반으로 다시 작성했습니다.

예:

21 /usr/local/sphinx/etc >  /usr/local/sphinx/bin/search --config /usr/local/sphinx/etc/sphinx-blog.conf php

위쪽 화살표를 누르면 다음과 같이 표시됩니다.

21 /usr/local/sphinx/etc >  /usr/local/sudo /usr/local/sphinx/bin/indexer --config /usr/local/sphinx/etc/sphinx-blog.conf --all

SUDO 이전의 “/ usr / local /”은 이전 명령에서 나온 것입니다. 문제가 어디 있는지 아십니까? 프롬프트 설정은 다음과 같습니다.

PS1="\# \e[32;1m\w > \e[0m "


답변

PS1에서 더 많은 이스케이프 시퀀스를 사용해야합니다.이 작동합니다.

export PS1="\# \[\e[32;1m\]\w > \[\e[0m\]"

추가 \[\]컬러 이스케이프 시퀀스를 래핑하십시오.