我在bash中遇到以下行为,我觉得非常讨厌:
export VARIABLE=~/
<tab>
。VARIABLE=
,只留下export ~/
。为什么会这样?
我的bash版本是4.3.33,OS是Debian测试,终端是Konsole。
答案 0 :(得分:6)
确认$COMP_WORDBREAKS
包含=
。如果没有,试试这个:
COMP_WORDBREAKS+==
如果此后export
完成工作令您满意,那么您需要确定哪些启动文件正在更改COMP_WORDBREAKS
。
例如,如果您已安装node.js,则npm
完成脚本(在/etc/bash_completions.d/npm
中从COMP_WORDBREAKS中删除=
和@
。
许多完成脚本有点令人讨厌,会改变全局设置。 (例如,标准的Debian / Ubuntu完成脚本启用extglob
shell选项。)