Linux退格键^H,TAB键不工作问题

问题

最近在阿里云新购买一台云服务器,ubuntu 16.04系统,配置好ssh后,一登录傻眼了,敲退格键输出^H,按TAB键也没有命令补齐,上下键也没有历史命令,反而输出奇奇怪怪的字符。

$ ^H^H^H
sh: : not found
$ ^[[A : not found
$ : 2: 
$ l
sh: 4: l: not found
$ ^[[A

解决方案

经过一番调查后发现了问题原因:缺省的shell是sh,而不是bash。有两个解决办法,一个办法是登录号手工运行bash(通常都有安装),这样熟悉的操作方式又回来了。

$ bash
user@box:~$ 

这种方法每次登录都需要手工运行,不是很方便。另一个一劳永逸的办法是修改用户的缺省shell为bash。(需要root权限)

$ sudo chsh -s /bin/bash user