1

Я должен запускать свои приложения, используя ряд префиксных команд (например, xvbf-run). Скрипты / приложения запуска имеют работающее автозаполнение. Так работает следующий script1 <TAB><TAB> .

Но следующее не работает правильно {prefix with options} script1 <TAB><TAB> (очевидно). Поскольку параметры зафиксированы, я создал простую функцию:

function prefix_summary () {
    {prefix with options} $@ 
}

Я попытался complete -F _longopt prefix_summary но это не работает. Как я могу позволить prefix_summary действовать как приглашение bash?

TLDR: сделайте так, чтобы $ prefix_summary <TAB><TAB> давал те же параметры автозаполнения, что и этот $ <TAB><TAB>

1 ответ1

0

Если я понимаю твой вопрос, ты хочешь завершить как sudo .

Давайте посмотрим, как определяется завершение для sudo:

$ complete -p sudo
complete -F _sudo sudo

Затем вам нужно только применить те же правила завершения (определенные в функции _sudo()) к вашим префиксам.

$ complete -F _sudo prefix1 prefix2

Теперь нажатие на Tab $ после $ prefix1 и $ prefix2 завершится командами из путей в $PATH .

При нажатии на Tab $ после $ prefix1 cmd1 предложениями из правил завершения cmd1 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .