繁体   English   中英

键入SSH命令不会转到新行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM