Forum Programmation.shell [bashopts] lib bash de traitement avancée d'arguments

Posté par . Licence CC by-sa
Tags : aucun
7
20
fév.
2017

Salut à tous,

Je suis avant tout un architecte technique/développeur (principalement c++/java) mais ces dernier temps je suis plus sur des taches de "DevOps" et je passe pas mal de temps à écrire en BASH.

Je me suis pas mal amélioré au fil du temps et même le fait de devoir écrire en bash n'a pas pas dérogé à la règle que me suis fixé au fil du temps.

Voilà, seulement il y a un truc qui manquait franchement à mes scripts shell et je me suis décidé à remédier au problème en écrivant un ensemble de fonction pour pouvoir à la fois :
* déclarer une série d'options typées
* analyse et traitement des arguments
* invite de saisie interactive
* persistance à l'aide d'un fichier de config
* Affichage d'une aide bien formatée

la page du projet avec une description plus détaillée en anglais : https://gitlab.mbedsys.org/mbedsys/bashopts

je ne sais pas si ça pourrais faire l'objet d'une dépêche (à voir en fonction de l'intérêt que ça pourrait apporter…)

Emeric

  • # pendant ce temps ca, dans les versions recentes de bash

    Posté par . Évalué à 3.

    on a les builtins comme declare, help
    declare -A montableau

    http://wiki.bash-hackers.org/bash4

    et pour la gestion des options courtes/longues on avait getopts

    en tout cas si c'est ton dev qui est à l'origine de l'evolution du bash, je dis bravo,
    sinon, certes, c'est une belle performance d'avoir creer sa propre librairie, mais ca fait peut-etre doublon avec ce qui existe deja, et qui est integré nativement dans les distribs.

    • [^] # Re: pendant ce temps ca, dans les versions recentes de bash

      Posté par . Évalué à 1. Dernière modification le 23/02/17 à 20:51.

      Effectivement je m'attendais un peut à cette réponse concernant getops. Je conviens tout à fait que dans pas mal de cas getopt/getopts dont je me sert dans ce script convient parfaitement. Là ici ma "lib" étends/simplifie beaucoup plus des choses qui faudrait faire avec les outils comme getopt/getopts. De plus l'affichage de l'aide, les settings, et l'invite interactive c'est un plus :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.