Как Bash в Ubuntu узнает список действий инструмента?
Например, если я дважды наберу apt-get и tab, я вижу только удаление, обновление, обновление ... и т. Д., Но не действия для другой команды или файлов в текущем каталоге.
Я разрабатываю инструмент командной строки в Go и хотел бы предоставить эту функцию для дистрибутивов, которые его поддерживают.
bash
ubuntu
autocomplete
Amged Rustom
источник
источник
Ответы:
Это делается с помощью функций завершения bash v4. Код завершения для
apt-get
обеспечиваетсяbash-completion
пакетом и находится в/usr/share/bash-completion/completions/apt-get
. Приложения, которые имеют завершение и не являются частью базовогоbash-completion
пакета, помещают свои сценарии завершения в/etc/bash_completion.d
.Завершение загружается через поиск
/etc/bash_completion
. То, где это будет сделано, зависит от версии Debian или Ubuntu. Это, в свою очередь, будет источником всего/usr/share/bash-completion/completions
и/etc/bash_completion.d
.источник