Это была неприятная проблема уровня 8. Я пытался установить этот iso debian-testing-ia64-DVD-1.iso, который имеет проблемы совместимости со многими материнскими платами И является live CD, а не iso установщика debian. Я загрузил установщик debian net, и это решило проблему.
Я могу воспроизвести:
_comp_foo() { compopt -o filenames -o nospace; COMPREPLY=("$(compgen -f -- "$2")"); }
complete -F _comp_foo foo
cd /etc
Введите foo pass
, Tab . Вы должны увидеть что-то вроде этого:
foo 'passwd
passwd-'
:)
Как я могу его сбросить, чтобы автозаполнение more работало как less?
Вы можете сбросить завершение bash для NAME
с помощью complete -r NAME
help complete
сказано:
-r - удалить спецификацию завершения для каждого NAME или, если ИМЯ не указано, всех спецификаций завершения
Вы можете повторно использовать существующее завершение:
_completion_loader less 2>/dev/null # for bash-completion >= 1.9, bash >= 4.1
eval $(complete -p less | sed 's/ less$/ more/')
См. Также: как повторно использовать существующее завершение с недавним завершением bash