J'aime bien le bash, c'est un langage, très simple mais si l'utilise bien on peut faire beaucoup de choses avec.
Un problème récurrent quand on écrit beaucoup de scripts bash, c'est la gestion des arguments et options.
En effet, la manière la plus simple de résoudre ce problème est d'utiliser, les opérateur de position ($n) par exemple:
Ensuite on a des "paramètres spéciaux":
Ainsi avec ces commande «spéciales» ont peut compter, tester et utiliser les argument passés au script, cela permet de fonctionner pour les scripts simple mais cela n'est pas pratique, pourquoi:
- Les paramètres ne sont pas nommés, et donc on ne peut les reconnaitre que par leur nombres ou leur nature ce qui alourdi le code.
- Il n'y a pas de support d'argument obligatoire, la aussi le processus est a coder dans le script.
- Il manque aussi la notion d'option (flag), a différencier de l'argument qui lui apporte de la donnée.
- Enfin sans ajouter un processus de test par regex dans son script, il n'est pas possible de tester la nature des arguments.
En cherchant à contourner ces inconvénients j'ai découvert getopts que je vais développer dans un prochain billet.