Bash: как прикрутить к read автодополнение (autocompletion) текста (команд) по нажатию TAB?
Есть bash скрипт который ожидает ввод с клавиатуры используя встроенную в bash команду «read». Вопрос в том как научить этот скрипт автодополнениям вводимого текста, например, по аналогии с таковым для функций в bash:
cdp() {
local proj=~/dev/projects/
builtin cd "$proj$1"
}
_my_cdp() {
local proj=~/dev/projects/
local i p
COMPREPLY=()
while IFS= read -r i; do
printf -v p '%q' "${i#"$proj"}"
COMPREPLY+=( "$p" )
done < <(compgen -d -- "$proj$2")
}
complete -o nospace -F _my_cdp cdp
Только автодополняться должны не пути в файловой системе, как в этом коде, а именно определенные произвольные слова (команды) прописанные в скрипте.