我使用 bash shell
$ bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
$
有时,当在提示符下键入一个相当长且不适合当前行的命令时,bash 不会在下一行显示多余的字符,而是从当前行重新开始..替换那里的字符并造成混乱。
什么应该發生:
|---------------------------------------------|
| $ my big long command takes a lot of argumen|
| s and does not fit in a single line |
| |
|---------------------------------------------|
实际情况是:
|---------------------------------------------|
| s and does not fit in a single linef argumen|
| |
| |
|---------------------------------------------|
- 该问题时有发生
- 如果我将 shell 窗口调整到非常小的宽度,则恢复正常行为
有人知道这里发生了什么事吗?
$ echo $TERM
xterm
$ echo $PS1
\[\e[30m\][\t]\[\e[0m\]\[\e]0;\w\a\]\[\e[30m\][\W]$
$
答案1
您的 shell 对终端的宽度感到困惑。每当发生这种情况时,都eval `resize`
应该正确重置所有内容。