Ubuntu用户命令行下:上下左右键乱码,显示为^[[A^[[B^[[D^[[C

Ubuntu下,通过useradd命令创建用户后,默认会使用/bin/sh的Shell,进而导致上下左右方向键变为【$ ^[[A^[[B^[[D^[[C】的显示。
可以通过以下几种方式解决。

1
2
3
4
5
6
7
8
9
10
11
12
13
# 1. 已经添加的用户:使用chsh修改Shell类型
chsh -s /bin/bash user1

# 2. 已经添加的用户:修改/etc/passwd文件里记录的Shell类型
sudo vi /etc/passwd
...:/bin/sh 修改为 ...:/bin/bash

# 3. 修改/etc/default/useradd的默认值,以后添加用户时,默认使用/bin/bash
sudo vi /etc/default/useradd
SHELL=/bin/sh 修改为 SHELL=/bin/bash

# 4. 使用adduser命令来添加新用户,adduser命令使用 /etc/adduser.conf 的DSHELL变量(默认值 /bin/bash)
sudo adduser user2