最近,xiaoz在同一个SSH客户端下使用一个VPS终端时,当我按向上箭头↑和向下箭头↓时,出现乱码符号^[[A^[[D
。我通过ChatGPT和互联网搜索也未能解决,最终还是凭借经验解决了这个问题。
临时解决
xiaoz使用的操作系统为Debian 11,非root
用户(其它Linux发行版应该也是一样的)。细心的朋友会发现终端最前面是一个$
符号,这种好像默认是使用的shell为sh
,为了验证shell类型,输入echo $SHELL
进行查看:
$ echo $SHELL
/bin/sh
果不其然,shell使用的sh
,然后我输入bash
命令后将shell切换为了bash
模式,前面的符号变成了user@GreenCloud:/data$
当我再次输入向上箭头↑和向下箭头↓查看历史命令的时候不再出现乱码符号,问题得以解决。
永久解决
上面那个方法只能治标无法治本,下次登录时问题依然存在,我们可以使用chsh
命令来改变指定用户的默认shell类型,命令如下:
# /bin/bash为shell类型,user改成你自己的用户名
chsh -s /bin/bash user
当用户下次登录时,他们将使用bash作为其默认shell终端类型。这样问题就永久解决了。
结语
Linux下,如果用户使用的shell类型为sh
可能导致箭头↑↓出现乱码符号:^[[A^[[D^
,可以通过bash
命令来临时解决,或使用chsh
命令来更改用户的shell类型,从而永久解决,有类似情况的不妨参考。
也是解了我的多年困惑…