У меня есть Python скрипт со многими опциями, использующими argeparse. У меня также есть некоторые параметры, динамически генерируемые на основе содержимого. Я действительно хочу иметь возможность автозаполнения в bash.
Я смотрел на argcomplete , который кажется идеальным.
Однако усложняется то, что мои скрипты запускаются через Оболочка bash.
т.е.
bash_wrapper "args"
Оболочка bash загружает Python и некоторые другие настройки в среду, а затем вызывает скрипт Python.
Есть ли способ настроить завершение Bash для работы в ситуации? т.е. извлеките все аргументы и присвойте их сценарию bash.
т.е. я хочу иметь возможность выполнить:
[Bash Script] [tab]
и получить дополнения из сценария Python.
register-python-argcomplete [python script]
дает мне ожидаемые завершения , если Я предварительно загружаю свою среду из сценария Bash.
Редактировать:
После получения комментариев я получил команду register- python -argcomplete [Bash script], упростив мой скрипт bash.
В качестве продолжения. Мой сценарий bash на самом деле занимает $ 1 (первый аргумент) и использует его для выбора между python сценариями.
[bash script] a [args] -> calls a.py [args]
[bash script] b [args] -> calls b.py [args]
, если я заставлю вызов из $ 1.py в a.py автозаполнение для a.py разрешено в bash.
Так что мне нужно разобраться, как выбрать автозаполнение на основе $ 1.