명령줄 시작 부분에 커서가 나타납니다.

명령줄 시작 부분에 커서가 나타납니다.

PS1Ubuntu 18.04.5에서 이를 지정하는 데 어려움을 겪고 있습니다. 내 파일에서 다음 코드를 사용하고 .bashrc있으며 결과는 다음과 같습니다.정확히그래야만합니다.

export PS1=$'\e[38;5;046m \u00AB\D{%y-%m-%d}\u00BB-[\D{%H:%M:%S}]-{\W}\e[1m\e[38;5;196m>\e[38;5;226m>\e[38;5;046m>\e[38;5;255m\e[0m '

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

문제는 내 커서가시작이후 대신 명령줄에서>>>. 이상한 점은 터미널을 전체 화면으로 설정하면 커서가 있어야 할 곳에 나타난다는 것입니다. 내 정의에 분명히 잘못된 것이 있습니까 PS1?

답변1

문제는 길이가 80자를 넘고 bash가 이스케이프 시퀀스를 구문 분석하는 방법을 정확히 모른다는 것입니다. 특히 개행이 발생하고 있다고 생각하고 이를 생성하거나 보상하려고 시도합니다.

그것을 고치는 방법은 무엇입니까? PS1에 명시적인 개행 문자를 넣습니다.

나는 추가를 시도했고 \e7\eM\n\e8대부분의 경우 작동하는 것 같습니다. 궁금한 점이 있으면 \e7저장 위치입니다. \eM기본적으로 역방향 줄 바꿈인 "역방향 인덱싱"입니다. \n개행 문자이고 \e8복구 위치입니다.

관련 정보