啓用慶典完成(通過. /etc/bash_completion
在〜/ .bashrc)工作在我的Ubuntu 14.04.3機,我沒有得到目錄內容完成了cmd --param=<TAB>
,即,什麼也沒有發生時,按下。當我開始一個原始的bash(例如通過env -i bash --norc
)時,它按預期工作 - 但是沒有可編程的完成。我找到Bash completion for path in argument (with equals sign present),它談到了類似的問題,但1)各自的npm腳本在我的機器上不存在,2)即使從/etc/bash_completion.d中刪除所有文件也不能解決問題。我能做些什麼才能正確完成?擊的equals完成後不會在Ubuntu
我通過運行complete -r -D
發現了一個半心半意的修復程序,它可以防止bash嘗試完成新的命令。這樣可以在平等後再次完成,但是會停止完成,例如,killall。
'$ COMP_WORDBREAKS'是否包含'='?如果沒有,請嘗試'COMP_WORDBREAKS + =='並查看完成是否符合您的期望。 – rici
$ COMP_WORDBREAKS的內容是'''><=; |&(:'。'''刪除或添加'='似乎並不會改變'='後的行爲,不幸的是, – tlangner
運行'complete -p cmd '看看是否有爲你的* cmd *定義的compspec。 – pynexj