配置远程终端行为

配置远程终端行为

我刚刚在 VPS 上安装了 debian 7,创建了用户,配置了 ssh ..等

问题是终端应用程序在连接我的新用户名后就改变了其行为:

  • 自动补全不起作用(我为此编辑了 /etc/bash.bashrc 但它不起作用)

  • 我无法像以前那样使用键盘快捷键:例如 CTRL-l 或 CTRL-R 甚至向上/向下用于命令历史记录,向左/向右在同一命令和开始/结束键内移动。

当我使用这些快捷方式时,我得到了这些字符:

$ ^[[C^[[D^[[D^[[D^[[A^[[B^[[A

好吧,它根本没有生产力!有什么建议 ?

答案1

我刚刚找到了答案,新创建的用户拥有/bin/sh而不是/bin/bash.

所以我做了 :

sudo chsh -s /bin/bash my_new_user

答案2

Debian 7 默认 shell是的dash,因此您无法获得bash提供的某些功能。

您可以在使用时更改DSHELL配置/etc/adduser.conf以更改用户默认 shell adduser

# The DSHELL variable specifies the default login shell on your            
# system.                                                                  
DSHELL=/bin/bash

如果您使用useradd,请更改SHELL配置/etc/default/useradd

# The SHELL variable specifies the default login shell on your                  
# system.                                                                       
# Similar to DHSELL in adduser. However, we use "sh" here because               
# useradd is a low level utility and should be as general                       
# as possible                                                                   
SHELL=/bin/sh

或者使用命令-s选项useradd

useradd -m -s /bin/bash username

为了完成 bash,您必须bash-completion从存储库安装软件包:

sudo apt-get install bash-completion

相关内容