사용자 정의 bash 프롬프트 - 커서 위치 문제

사용자 정의 bash 프롬프트 - 커서 위치 문제

관련된 질문이 많다는 것을 알고 있지만 이 문제에 대해 도움을 받을 수 있는 다른 방법을 찾을 수 없습니다.

내 CentOS VM에서 bash 프롬프트에 대한 사용자 지정 스크립트를 만들었습니다./etc/profile.d/custom.sh

PS1="\n\e[0;97m\][\D{%d%m%y-%H%M}][\u@\h \W] \n\e[m\]\$ "
export PS1

내 bash는 이제 다음과 같습니다.

사용자 정의 bash 프롬프트

그러나 긴 명령을 입력하고 CTRL-A를 사용하여 커서를 첫 번째 위치에 놓으려면 다음과 같은 일이 발생합니다.

타이핑하는 시간이 매우 깁니다. 줄 시작 부분에서 내용을 변경하고 싶으므로 CTRL-A를 눌러 커서를 첫 번째 위치에 놓습니다.

긴 명령을 입력하세요

CTRL-A를 누른 후:

여기에 이미지 설명을 입력하세요.

이제 DEL 또는 BACKSPACE를 사용하여 전체 행을 삭제하려고 하면 이것이 최종 결과입니까?

여기에 이미지 설명을 입력하세요.

이 4개의 문자를 아무리 삭제하려고 해도 Enter 키를 누를 때까지 항상 남아 있습니다. 마지막 4자는 항상 표시되지만 존재하지 않는 것처럼 보입니다. 임의의 명령을 입력해도 무시됩니다.

여기에 이미지 설명을 입력하세요.

마지막 그림에서는 cd /var명령을 성공적으로 실행했으며 이제 bash가 예상대로 작동합니다.

어떤 아이디어가 있나요?

답변1

\[각 작업 전에 다음이 필요합니다 \e.

PS1="\n\[\e[0;97m\][\D{%d%m%y-%H%M}][\u@\h \W] \n\[\e[0m\]\$ "

관련 정보