[英]Typing an SSH command doesnt go to a new line
虽然通过SSH键入一个很好的长命令(即rsync copy
),但是当我点击屏幕的右边缘时,该行不会移动到新行并且只是重叠当前行。 有关为何发生这种情况以及如何解决的任何建议?
设置如下(和示例命令)。
Debian6 64bit - 它是一个DOMU VM(XEN)
/test/test-srv release]$ rsync -avzh --dry-run /test/long/source/path/blah/blah/blah/ /test/long/target/path/etc/etc/etc/etc/etc/etc/test
粗体位是重叠部分,只需将cmd提示符向上推一行即可。
图片示例:
这是因为你的彩色提示。 您忽略了将ANSI转义码标记为不可见。
Bash不知道你的终端做了什么,所以它依赖你告诉它提示的哪些部分是非打印的,哪些不是。 你可以通过在它们周围添加\\[ \\]
来实现。
# Example bad prompt which wraps lines incorrectly like you describe
PS1='\033[01;34m\w \$ \033[00m'
这里, \\033[01;34m
和\\033[00m
没有出现在终端上(也就是说,它们不移动光标),它们只是改变了下面文字的颜色。 为了表明这一点,我们将它们包装在\\[ \\]
:
# Prompt from above that wraps correctly
PS1='\[\033[01;34m\]\w \$ \[\033[00m\]'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.