Не работает скрипт для автозаполнения

есть скрипт (script), он может принимать несколько аргументов (help, history, work), и я хочу, чтобы для него работало автозаполнение(например вместо полного написания 'script help' или 'script history' написать 'script hi', нажать на TAB, и строка автоматически заполнилась), нашёл в интернете вот такой способ:

_my_command(){ #объявляем функцию, которую будем привязывать к анализу
    
    COMPREPLY=() #пока что мы не знаем, что предложить пользователю, поэтому создадим пустой список.
    cur="${COMP_WORDS[COMP_CWORD]}" #получаем текущий вводимый аргумент
    subcommands_1="work history help" #массив подкоманд первого уровня

    if [[ ${COMP_CWORD} == 1 ]] ; then #если вводится первый аргумент, то попробуем его дополнить
        COMPREPLY=( $(compgen -W "${subcommands_1}" -- ${cur}) ) #some magic
        return 0 #COMPREPLY заполнен, можно выходить
    fi
    }

complete -F _my_command script

но после запуска у меня он не работает. в чём может быть проблема? есть ли более простая альтернатива этому? версия ядра:Debian 6.0.10-2kali1


Ответы (0 шт):