Я пытаюсь создать скрипт завершения Bash для Java-программы. Типичный вызов этой программы может выглядеть следующим образом:
$ javaProgram -Dproperty=foo option1 option2
Часть моего сценария будет предлагать различные свойства Java, доступные для этой программы (т. Е. Когда пользователь вводит -D
, сценарий предлагает, скажем, property=
, что позволяет пользователю затем набирать значение).
Я бы хотел, чтобы завершение не вставляло пробел после знака равенства. Однако, когда пользователь вводит различные параметры для программы (option1
и option2
в приведенном выше примере), я бы хотел, чтобы скрипт выполнял завершение и вставлял пробел после его завершения.
Я новичок в сценариях завершения Bash, но мне известна опция nospace
для встроенной оболочки complete
. Кажется, он не работает для встроенного compgen
, что похоже на то, что я хочу. Я пытался использовать nospace
, а затем явно включать пробелы в конце соответствующих опций, но они, похоже, не справляются.
Кто-нибудь знает, как получить пробелы в конце некоторых опций, но без пробелов в конце других?