输入 'export VARIABLE=~/' 后按 <tab> 会破坏 'VARIABLE='

Pressing <tab> after typing 'export VARIABLE=~/' clobbers the 'VARIABLE='

我在 bash 中遇到以下行为,我觉得这很烦人:

  1. 类型export VARIABLE=~/
  2. 现在我想要自动完成路径的下一段,所以我按 <tab>
  3. Bash 破坏了 VARIABLE=,只剩下 export ~/.

为什么会这样?

我的bash版本是4.3.33,OS是Debian测试,终端是Konsole。

验证 $COMP_WORDBREAKS 是否包含 =。如果没有,试试这个:

COMP_WORDBREAKS+==

如果 export 之后的完成工作令您满意,那么您需要找出正在更改的启动文件 COMP_WORDBREAKS

例如,如果您安装了 node.js,npm 完成脚本(在 /etc/bash_completions.d/npm 中会从 [=30 中删除 =@ =].

许多完成脚本会更改全局设置,这有点烦人。 (例如,标准 Debian/Ubuntu 完成脚本启用 extglob shell 选项。)