我在跑步Ubuntu 16.04 LTS和gnome 终端之内统一。
有时当我清除终端时,命令行并没有完全清除。一些命令还留了下来,我无法删除它们。我想这可能是因为我的提示自定义。
.bashrc
以下是我怀疑会导致问题的文件摘录:
## Prompt Configuration
# Colors
bold=$(tput bold)
normal=$(tput sgr0)
orange="$(echo -e "\e[38;2;255;102;0m")"
blue="$(echo -e "\033[34m")"
pink="$(echo -e "\033[31m")"
white="$(echo -e "\033[00m")"
# Add git branch if its present to PS1
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}${bold}${orange}\u:${blue}\w${pink} $(parse_git_branch)\[\033[00m\]\n${orange}➜ ${white}'
else
#PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS1='${debian_chroot:+($debian_chroot)}\u:\w $(parse_git_branch)\n\$ '
fi
unset color_prompt force_color_prompt
答案1
不可打印字符(例如颜色变化和粗体变化转义序列)需要放在PS1 中的\[
和之间\]
。请参阅man bash
“提示”部分。