最近,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类型,从而永恒解决,有相似状况的无妨参考。

此文章首发于我的独立博客:https://blog.xiaoz.org/archives/18644