경로가 너무 길어서 터미널에 표시할 수 없고 줄 바꿈이 발생하면 다음 프롬프트가 깨져 올바르게 입력한 내용을 볼 수 없게 됩니다. 아래 스크린샷을 참조하세요.
.bashrc
PS1
Ubuntu가 기본적으로 제공하는 설정 내용입니다 .
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
$PS1
값은
echo "$PS1"
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
이 문제를 해결할 방법이 있나요?
\[ \]
제안된 솔루션은 문제가 있는 부분을 a 또는 세트 에 포함하는 것이지만 checkwinsize
내 경우에는 둘 다 작동하지 않는 다른 유사한 질문을 여러 개 보았습니다 .
누구든지 경로로 테스트하고 싶다면 다음과 같이 표시됩니다.
/home/dimitriv/Dropbox/personal/kastoria/2018-2019/προγραμματισμός στο διαδίκτυο/newslides
답변1
PS1
빠른 수정은 창 제목 설정 섹션을 스크립트로 바꾸는 것입니다 PROMPT_COMMAND
.
case "$TERM" in ... esac
블록 내부에서 다음 으로 .bashrc
바꾸십시오.PS1=...
PROMPT_COMMAND='printf %b "\e]0;${debian_chroot:+($debian_chroot)}$USER@$HOSTNAME:$PWD\a"'