Actuellement, j'écris un script Bash qui a les exigences suivantes:
- il devrait fonctionner sur une grande variété de plates-formes Unix / Linux
- il devrait prendre en charge les options courtes et (GNU) longues
Je sais que ce getopts
serait le moyen préféré en termes de portabilité mais AFAIK ne prend pas en charge les options longues.
getopt
prend en charge les options longues mais le BashGuide le déconseille fortement:
N'utilisez jamais getopt (1). getopt ne peut pas gérer des chaînes d'arguments vides ou des arguments avec des espaces blancs intégrés. Veuillez oublier qu'il a jamais existé.
Donc, il y a toujours la possibilité d'une analyse manuelle. Ceci est sujet aux erreurs, produit un peu de code passe-partout, et j'ai besoin de gérer les erreurs par moi-même (je suppose getopt(s)
que le traitement des erreurs par eux-mêmes).
Alors, quel serait le choix préféré dans ce cas?