J'essaie de créer un script d'achèvement Bash pour un programme Java. Un appel typique de ce programme pourrait ressembler à ceci:Ajouter des espaces à la fin de certaines options Bash autocomplete, mais pas à d'autres?
$ javaProgram -Dproperty=foo option1 option2
Une partie de mon script sera de suggérer les différentes propriétés Java qui sont disponibles pour ce programme (lorsque les types d'utilisateurs -D
, le script suggère, disons, property=
, permettant à l'utilisateur de taper ensuite la valeur).
Je voudrais que l'achèvement n'insère pas d'espace après le signe égal. Cependant, lorsque l'utilisateur saisit les différentes options pour le programme (option1
et option2
dans l'exemple ci-dessus), je voudrais que le script fasse l'achèvement et insère un espace quand il est terminé.
Je suis nouveau dans le script de complétion Bash, mais je connais l'option nospace
pour le shell intégré complete
. Il ne semble pas fonctionner pour le compgen
intégré, cependant, ce qui semble être ce que je veux. J'ai essayé d'utiliser nospace
, puis j'incluais explicitement les espaces à la fin des options appropriées, mais ils ne semblaient pas le faire.
Est-ce que quelqu'un sait comment obtenir des espaces à la fin de certaines options, mais pas d'espaces à la fin des autres?