我在我的 Ubuntu 机器上设置了一个 git 存储库作为服务器,该服务器位于家庭网络上。然后我通过 SSH 在同一台计算机或另一台家用计算机上访问此存储库。登录正常。但是,当我在终端上输入部分文件或目录名称,然后按 时tab,光标会在终端上向右移动,而不会像平常一样显示完整的文件或目录名称。
当我退出SSH服务器后,tab密钥就可以正常工作了。
编辑:
此外,→、←和↑键↓不起作用。当我按下其中任何一个键时,我在终端上看到以下内容:
$ ^[[A^[[D^[[C^[[A
可能是什么原因?
添加:
$ 环境
MAIL=/var/mail/git
USER=git
SSH_CLIENT=10.0.0.250 42342 2222
J2SDKDIR=/usr/lib/jvm/java-8-oracle
J2REDIR=/usr/lib/jvm/java-8-oracle/jre
HOME=/home/git
SSH_TTY=/dev/pts/5
LOGNAME=git
TERM=xterm-256color
XDG_SESSION_ID=93
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
DERBY_HOME=/usr/lib/jvm/java-8-oracle/db
XDG_RUNTIME_DIR=/run/user/1001
LANG=en_US.UTF-8
SHELL=/bin/sh
PWD=/home/git
JAVA_HOME=/usr/lib/jvm/java-8-oracle
SSH_CONNECTION=10.0.0.250 42342 10.0.0.250 2222
答案1
您当前的 shell 有问题。您当前正在使用sh
默认 shell,如命令输出所示env
:
SHELL=/bin/sh
要解决您的问题,您需要切换到支持这些键输入的另一个 shell(例如bash
,我将以此为例)。为此,您需要使用chsh
实用程序(更改 shell)。
例子:
$ which bash
/bin/bash
$ chsh -c /bin/bash
这将更新用户的默认 shell 环境(查看更多这里关于完整使用)。您需要注销/登录或启动新会话以加载到新 shell。
或者,您可以通过找到其路径并从当前 shell 运行来利用另一个 shell。例如,下面是我从 更改为sh
的示例bash
:
$ which bash
/bin/bash
$ /bin/bash
chris@loki:~$
希望这可以帮助!
答案2
您可能需要像这样运行 chshsudo chsh username -s /bin/bash