을 누르 k
거나 누르면 up
이전에 입력한 명령이 표시되지만 어느 순간 10자보다 긴 명령의 처음 10자가 유지됩니다. 10자를 초과하는 명령이 항상 처음으로 나타나는 것은 아니지만, 다시 ctrl+c
누르면 up
동일한 문자가 그대로 유지됩니다.
$ echo test
test
$ echo thisisalongstring
thisisalongstring
# pressing `up` twice
$ echo thisiecho test # should be `echo test`
test
# even though `echo thisi` is shown, it is not executed
이 문제를 해결할 방법이 있나요?
~/.bashrc
추가 테스트를 제외하고는 아무것도 변경하지 않았습니다 PS1='test '
.
# this is the default ubuntu prompt
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
- 이는 gnome-terminal과 konsole 모두에서 발생합니다.
- 인쇄할 수 없는 문자 를 포함하지 않는 추가를 시도했지만 이 문제가 계속 발생
PS1='test '
합니다 .PS1=''
~/.bashrc
- 실행되거나
PS1=$PS1
작동PS1=$(echo $PS1)
하지 않습니다. - 위 코드를 터미널에 수동으로 붙여넣으면 문제가 해결되었지만 이유는 모르겠습니다.
$PS1
터미널을 시작한 후 에코하면$PS1
수동으로 붙여넣은 후 에코하는 것과 동일한 결과가 생성됩니다.- 실행하면
. ~/.bashrc
프롬프트가 도청 상태로 되돌아갑니다.
이 질문은 이미 해결된 질문과 비슷해 보입니다.기록 검색 시 bash 프롬프트에 문제가 발생하는 이유는 무엇입니까?하지만 인쇄할 수 없는 문자가 없을 때도 이런 일이 발생할 수 있습니다 PS1
.
답변1
이는 변경 없이 작동합니다 PS1
.
custom_prompt(){
# default ubuntu prompt
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
}
PROMPT_COMMAND=custom_prompt