LINUX.ORG.RU

Сообщения kilzhlik

 

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

Только автодополняться должны не пути в файловой системе, как в этом коде, а именно определенные произвольные слова (команды) прописанные в скрипте.

 ,

kilzhlik
()

RSS подписка на новые темы