#bash #autocomplete
В Linux-е когда через bash запускаешь какую-то программу, то можно используя Tab ускорять ввод параметров, которые нужно передать этой программе. Как сделать так, чтобы автодополнение работало и в моей программе?
Ответы
Ответ 1
микропример. сделаем для нашей (пока несуществующей) программы автодополнение опций -a, -b и параметра c : $ complete -W "-a -b c" x проверяем. вводим x, затем пробел, затем символ tab дважды и видим предложенные варианты: $ x-a -b c чтобы это работало в каждой сессии, команду (complete ...) можно добавить в конец файла ~/.bashrc. чтобы выполнялось автодополнение именами файлов/каталогов, можно, к примеру, добавить команде complete опцию -f: $ complete -f -W "-a -b c" x а дальше уже надо читать документацию (https://www.gnu.org/software/bash/manual/html_node/Programmable-Completion-Builtins.html) и смотреть на примеры (с актуальными версиями пакета bash/bash-completion — в каталоге /usr/share/bash-completion/completions/) Ответ 2
как вариант можете посмотреть примеры в директории /etc/bash_completion.d/* В 16 UBUNTU autocomplete программ расположены в директории /usr/share/bash-completion/completions/ Более подробно тут
Комментариев нет:
Отправить комментарий