[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bash et options de ligne de commande



Bonjour,

en espérant pas etre HS vu que c'est plus une question programmation Linux que purement Debian.

je souhaite ecrire un script bash utilisant des flags avec des noms longs genre :

$ ./monscript  --user=toto --group=tutu


qui serait équivalent à (avec des flag court)
$ monscript -u toto -g tutu
donc pouvoir utiliser indifféremment des options à nom court ou long et les récupérer dans le script.
.

j'ai un peu googlisé et j'ai trouvé getopt et getopts dans le "bash adv. scripting howto" mais les exemples données ne portent que sur des flags avec des noms courts (un caractère précédé d'un tiret). Apparemment en C on peut utiliser la fonction getopt_long, egalement en Perl avec le module GetOpt::Long qui crée une table de hachage pour les flags longs.

je voudrai savoir s'il existe l'équivalent en 100% shell/bash. Si oui, comment faire ? car je n'ai rien trouvé pour le moment. merci pour tout lien, exemple de script qui permet la récupération et le traitement d'option longues avec double tirets.

2e question : y a t-il un moyen simple (sans faire des batteries de tests) pour préciser qu'un flag est obligatoire ou facultatif ?


A+
Arnaud




Reply to: