解决ubuntu上下键补全历史指令|中文左右键移动导致乱码问题

背景信息

  1. LC_ALL 与LANG 的区别

    • LANG 是默认的全局语言环境变量。
    • 它的作用是为所有未明确设置的 LC_* 变量提供默认值。
    • 如果 LC_ALL 被设置,LANG 的值会被忽略。
    • LC_ALL 是一个特殊的变量,用于一次性覆盖所有区域设置(包括 LANG 和其他 LC_* 变量)。
    • 如果设置了 LC_ALL,它的值会优先于其他所有 locale 相关变量。
  2. 在终端直接执行eg:export LANG=en_US.UTF-8 这种修改是临时的仅对当前 shell 会话有效,想要永久修改需要到~/.bashrc中修改或者添加

具体流程

检查 .bashrc.bash_profile 文件中是否有异常设置,如有先解决异常

cat ~/.bashrc | grep PROMPT_COMMAND
cat ~/.bashrc | grep PS1

1、检查设置~/.bashrc中的PS1,ANSI 转义序列是否被正确包裹在 $ 和 $ 中

if [ "$color_prompt" = yes ]; then

    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

else

    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '

2、检查~/.bashrc中的编码,根据需求设置LC_ALL 或LANG为en_US.UTF-8

export LANG=en_US.UTF-8

或者

export LC_ALL=en_US.UTF-8

【可选】检查你正在使用的终端是否确实支持 xterm-256color,可以在~/.bashrc中添加

export TERM=xterm-256color

参考链接 

linux命令上下翻乱码 • Worktile社区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值