Pages

mardi 25 décembre 2012

La vis cacher de getopt

Voici une petite information très mal connue et peu utilisée du getopt de la lib C et de la commande shell. Ainsi que de Boost.Program_options (parce que boost c'est bien ^^).

Les noms des options longues n'ont pas besoin d'être écrites entièrement.

$ getopt -o '' --long \
option-longue,option-encore-plus-longue,une-autre-option: \
-n 'example' -- \
--option-l --u plop bidule
> --option-longue --une-autre-option 'plop' -- 'bidule'

La commande shell getopt est un peu plus souple que les autres, si ambiguïté la première option correspondante sera sélectionnée. Si l'option -a existe ce n'est plus le cas et le code d'erreur 1 est retourné ainsi qu'un petit message listant les options possibles. Mais avec -a les options longues peuvent commencer par un simple tiret.

La plupart des commandes Linux utilisant getopt, cette astuce peut s'utiliser assez souvent.

Aucun commentaire: