最近,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