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

标签 linux windows-subsystem-for-linux

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

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

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

最佳答案

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

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

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

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

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

关于linux - 在 Linux WSL 中,我的提示符有问题,当我编写多行命令时,命令会在提示符后面开始写入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56576996/

相关文章:

c++ - OpenGL ES 2 如何渲染到纹理和提取数据用于 GPGPU 测试

python - 使用 Python 调整 Gnome

windows - 如何在 Windows、Linux、OS X 上打开和写入/读取 USB CDC "serial"设备?

c - 如果在没有 "__attribute__(align(8))"的情况下声明结构,如何生成警告

windows - 在Docker中挂载本地文件夹会导致目录为空

database - PostgreSQL 警告 : "could not flush dirty data: Function not implemented"

node.js - PM2(node) 从命令行向集群发送消息

Mysql2创建VIEW时出现语法错误

php - 想要 Xdebug -- 使用 Win10 WSL Ubuntu 20、vscode 和 Laravel

Windows 10 Linux 子系统 : Can't type Pipe (|) Symbol in Bash