因此,每当我尝试输入命令时,如果命令太长,命令就会覆盖自身。我尝试过多种方法,例如:
shopt
shopt -s checkwinsize
- Ctrl+L
- Alt+L
- Space+L
- Alt+ Space+L
eval $(resize)
if [ $(tty) == '/dev/ttyS0' ]; then trap resize DEBUG; fi
我已经将颜色命令包含在~/.bashrc
文件中,[]
但仍然没有成功。任何帮助都将不胜感激。
我找到了问题的根源:问题出在我的文件PS1
上的行上。~/.bashrc
export PS1="[\e[0;32m[\u@\h \W]\$ "
就是我目前文件里的内容。
答案1
基于关于“如何让长命令行换到下一行?”的答案,你的 PS1 出现了问题:
export PS1="[\e[0;32m[\u@\h \W]\$ "
因此\e[0;32m
改为\[\e[0;32m\]
:
export PS1="\[\e[0;32m\][\u@\h \W]\$ "
此外,您可能希望删除该零,* 使用以下命令重置提示末尾的颜色\e[0;32m
因为它不执行任何操作,并且\e[m
:
export PS1="\[\e[0;32m\][\u@\h \W]\$\[\e[m\] "
这
0
会重置属性,如果之前执行的命令没有自行清理,例如留下非默认背景颜色、粗体/斜体/等属性,则会产生影响。在这种情况下,它会被恢复。在“正常”情况下,它不会执行任何操作,但无害。