TAB*_*ess 13 bash autocomplete locale
今天出于某种原因,每次我在终端中点击 tab 时,都会出现:
cat bash: warning: setlocale: LC_CTYPE: cannot change locale (en_CA)
Display all 150 possibilities? (y or n)
Run Code Online (Sandbox Code Playgroud)
当我输入cat
然后点击 TAB时,会发生这种特殊情况。我从来没有改变任何设置或任何东西。有谁知道这是怎么回事?
小智 7
我有一种预感,你的 bash_completion 正在导致这种情况发生。尝试通过执行以下操作暂时清除您的 bash 完成(直到您退出):
complete -r
Run Code Online (Sandbox Code Playgroud)
如果这清除了它,那么它就是 bash 完成的东西,如果不是,它仍然可能是 bash 内置程序之一
小智 5
通过 SSH 连接到远程服务器时出现类似问题(在我的本地安装 oh-my-zsh 之后,但我不确定这是否相关)。要解决这个问题,
在我的本地机器上,我编辑了 /etc/ssh/ssh_config 文件,注释了 SendEnv 行
#SendEnv LANG LC_*
Run Code Online (Sandbox Code Playgroud)
选项卡完成现在可以在远程机器上没有警告的情况下工作
bash: 警告: setlocale: LC_CTYPE: 无法更改语言环境