Написание сценария завершения вкладки для bash

Я сделал сценарий оболочки, который читает ввод от пользователя и убивает процесс. Но в bash, если пользователь нажимает клавишу Tab, bash предлагает некоторые keyword или имена file . Однако мой сценарий ничего не предлагает.

Как включить вкладку для моего скрипта?

Простым способом является установка bash-completion (или что-то еще, что ваш дистрибутив вызывает), напишите сценарий завершения и поместите его в /etc/bash_completion.d . Основной скрипт завершения выглядит следующим образом:

 have cancel && _cancel() { local cur COMPREPLY=() _get_comp_words_by_ref cur COMPREPLY=( $( compgen -W "$( lpstat | cut -d' ' -f1 )" -- "$cur" ) ) } && complete -F _cancel cancel 

Это для команды cancel из cups . Читайте о COMPREPLY и compgen в руководстве для bash и адаптируйте его к вашим потребностям.