我刚刚将服务器从 Ubuntu 14.04.4 升级到 18.04.5,我的 bash shell 从 4.3.11 升级到 4.4.20。我在 macOS 10.15.7 下的终端应用程序中使用 ssh 连接到服务器。
如果我看到很长的提示,例如:
servername:/some/long/path/that/fits/on/one/line/when/the/window/is/wide$
然后我缩小 macOS 终端窗口,它最终看起来像:
when/the/window/is/wide$ servername:/some/long/path/that/fits/o
当我调整终端窗口的大小时,通常会在各处留下很多杂散字符。
在旧服务器上,这工作得很好,我认为唯一的变化是 Ubuntu 升级,它带来了新的 bash 版本。我试图找到有关此问题的其他报告,并且我确信它们在那里,但用谷歌搜索是一件棘手的事情。谁能向我指出可能有帮助的资源?我不清楚它是 macOS、Terminal、Ubuntu 还是 bash(或者我在 Ubuntu 发行版中认为理所当然的其他一些软件!)。
答案1
我发现了这一点,这对我的设置来说相当特殊,但我会在这里发布答案,以防它将来对某人有所帮助。
我编辑了 ~/.bashrc 来自定义提示符,并且省略了 a \[
(这开始了一系列不可打印的字符)。我想如果你的提示中有不平衡的括号,那么所有的赌注都会失败!