На моем компьютере с Ubuntu 14.04.3 с включенным завершением bash (через . /etc/bash_completion
в ~/.bashrc) я не получаю завершение содержимого каталога для cmd --param=<TAB>
, т. е. при нажатии ничего не происходит. Когда я запускаю чистый bash (например, через env -i bash --norc
), он работает, как и ожидалось, но тогда программируемое завершение недоступно. Я нашел дополнение Bash для пути в аргументе (со знаком равенства присутствует), в котором говорится о похожей проблеме, но 1) соответствующий скрипт npm не существует на моей машине и 2) даже удаление всех файлов из /etc/bash_completion.d не решает проблему. Что я могу сделать, чтобы получить надлежащее завершение?
Я нашел одно нерешительное исправление, запустив complete -r -D
, которое не позволяет bash выполнять новые команды. Это снова включает завершение после равенства, но останавливает завершение, например, для killall.
$COMP_WORDBREAKS
=
? Если нет, попробуйтеCOMP_WORDBREAKS+==
и посмотрите, соответствует ли завершение ожидаемому результату. - person rici   schedule 14.08.2015"'><=;|&(:
. Удаление или добавление=
, похоже, не меняет поведение по отношению к нему. завершение после=
, к сожалению. - person tlangner   schedule 17.08.2015complete -p cmd
и посмотрите, определена ли спецификация для вашего cmd. - person pynexj   schedule 17.08.2015ljkasdfjler --asdlk=<TAB>
;)) - person tlangner   schedule 18.08.2015