我在 linux WSL 中的提示有问题,当我编写多行命令时,命令开始在我的提示后面写入?

Having a problem with my prompt in linux WSL, when i write more than one line commands the command starts writing behind my prompt?

因此,在编写代码时,我的代码不会溢出到下一行,而是在我的提示之后或者有时它只是转到其他地方。我有一个彩色提示,我想也许我的代码可能是问题所在……它在这里:

export PS1="\e[1;36m\u\e[m\e[1;34m@\h\e[m\e[1;36m\w$ \e[m"

如果不是,是什么原因造成的?

您的提示行看起来很奇怪。 Afaik 你总是必须将颜色变化包装在 \[\] 中。

再次不确定,但据我了解 \e 仅用于单一颜色,但如果您还想更改粗体,则必须使用例如3[1;32m.

此外,当重置为默认值时,它不应该是 \e[m,而是 afaik \e[0m

您还应该将其包装在 '' 而不是 "" 中,以避免在那里进行一些动态变量替换。所以总的来说是这样的。

export PS1='\[3[1;36m\]\u\[3[1;34m\]@\h\[\e[0m\]:\[3[1;36m\]\w$ \[\e[0m\]'