mtk*_*mtk 3 colors bash prompt
注意:我正在使用 Putty,并且我的 TERM 设置为 XTERM。
我已将颜色添加到我的 bash 提示中
PS1="\[\033[0;32m\]\d \t \u\e[1;33m@\H /\W $ \[\033[1;37m\]"
Run Code Online (Sandbox Code Playgroud)
只是为了用英文简化 PS1 -
${GREEN}\d \t \u{YELLOW}@\H \W $ {reset-color}
Run Code Online (Sandbox Code Playgroud)
现在,每当我的命令很长并且不适合屏幕行时,它应该转到下一行,但它不会并且初始字符开始被替换我键入的每个字符。整个命令都存在,但没有完全看到。它正常执行,所以只是显示失真。
当我回到第一个字符并尝试删除字符时,情况变得更糟,整个命令行向上移动并擦除屏幕上的先前数据。
经过一些试验和错误删除某些部分后,我发现添加 a@
会导致上述行为
\e[1;33m
Run Code Online (Sandbox Code Playgroud)
我真的不记得为什么我放了这个,我无法追溯到这个。
你能帮我解决这个问题吗?长命令应该在下一行而不是在同一行。
“@”符号之前的 ANSI 转义序列未包含在\[
and 中\]
。附上它,应该没问题:
PS1='\[\033[0;32m\]\d \t \u\[\e[1;33m\]@\H /\W $ \[\033[1;37m\]'
Run Code Online (Sandbox Code Playgroud)
顺便说一句,你所说的“重置颜色”只是将其设置为白色。要实际重置它,请使用\033[0m
.