У меня есть скрипт, который позволяет выполнять процессы Bash в фоновом режиме, я назвал его «backy». Программы, которые я хочу запускать в фоновом режиме, я называю так:
backy long-running-script param1 param2
Проблема теперь в том, что я теряю завершение Bash для long-running-script
, если добавляю другой скрипт.
Я хочу написать файл завершения Bash, который сохраняет не только завершение Bash для long-running-script
и все его параметры, а также для любого другого сценария, который я хочу вызвать с помощью backy.
У меня есть некоторый опыт завершения Bash, но мне просто не хватает команды, которую я могу вставить в мой сценарий завершения Bash, чтобы она завершилась с завершением сценария, который должен быть вызван. Есть идеи?
Мое завершение:
have backy &&
_backy_complete()
{
local cur prev goals
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
# How to get the completion from the script that is the param for backy,
# in a generic way?
COMPREPLY=( ????? )
return 0
} &&
complete -F _backy_complete backy
РЕДАКТИРОВАТЬ - РЕШЕНИЕ:
Благодаря Лекенштейну, я заменил содержимое моего существующего скрипта завершения bash на следующую строку:
complete -F _command backy