输入&#39;导出VARIABLE =〜/&#39;后按<tab>键。 clobbers&#39; VARIABLE =&#39;

时间:2015-06-15 23:28:06

标签: bash tab-completion

我在bash中遇到以下行为,我觉得非常讨厌:

  1. 输入export VARIABLE=~/
  2. 现在我想要自动完成路径的下一段,所以我按<tab>
  3. Bash clobbers VARIABLE=,只留下export ~/
  4. 为什么会这样?

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

1 个答案:

答案 0 :(得分:6)

确认$COMP_WORDBREAKS包含=。如果没有,试试这个:

COMP_WORDBREAKS+==

如果此后export完成工作令您满意,那么您需要确定哪些启动文件正在更改COMP_WORDBREAKS

例如,如果您已安装node.js,则npm完成脚本(在/etc/bash_completions.d/npm中从COMP_WORDBREAKS中删除=@

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