我正在使用带有 WSL2 的 Windows 10。到目前为止,在我尝试过的所有终端中,我很快就遇到了损坏的命令行。按 ENTER 后,实际命令会出现不同的情况,部分命令提示符会被删除,光标位置不会进行编辑,并且会添加随机空格等问题。今天特别具有挑战性,使我很难有效地工作。
也许在使用向上/向下箭头键滚动历史记录后会发生这种情况。
重新启动 WSL、清除终端、重新启动终端都没有帮助。
因此,重新启动后,我滚动历史记录并繁荣!
知道如何修复它吗?我读到终端有一些重置命令。如何重置?也许这可以帮助...
这里仅举一个例子:执行后,git log...
我使用向上箭头键返回到命令,但命令提示符的末尾以及命令的开头都被部分破坏。
[16:25:20] blade@DESKTOP-VQABTK7:/bytex/site$ echo $PS1; echo;
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
答案1
这看起来像是 Debian/Ubuntu/Mint 默认提示符的相当标准的彩色版本。
\[ # begin non-advancing characters
\e]0; # escape sequence to update terminal title
\u@\h: \w # sets title to <user>@<host>: <working directory>
\a # end terminal title
\] # end non-advancing characters
${debian_chroot:+($debian_chroot)} # if within a Debian chroot, name of the chroot env
\[ # begin non-advancing characters
\033[01;32m # escape sequence to set colors
\] # end non-advancing characters
\u@\h # output <user>@<host> for the prompt
\[ # begin non-advancing characters
\033[00m # escape sequence to set colors
\] # end non-advancing characters
: # output :
\[ # begin non-advancing characters
\033[01;34m # escape sequence to set colors
\] # end non-advancing characters
\w # output current working directory
\[ # begin non-advancing characters
\033[00m # escape sequence to set colors
\] # end non-advancing characters
\$ # output $ if a regular user, or # if root
<space> # output a space after prompt
请注意,终端标题也被正确地计为非前进字符。
但这会导致一个看起来像这样的提示(没有颜色的模拟):
blade@DESKTOP-VQABTK7:/bytex/site$
开头的时间戳从哪里来?
你有$PROMPT_COMMAND
定吗?
要干净地生成提示,请删除当前导致提示出现时间戳前缀的任何黑客行为,然后尝试以下PS1
设置:
PS1='[\t] \[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '