관련된 질문이 많다는 것을 알고 있지만 이 문제에 대해 도움을 받을 수 있는 다른 방법을 찾을 수 없습니다.
내 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는 이제 다음과 같습니다.
그러나 긴 명령을 입력하고 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\]\$ "