deblan.io-gemini/blog/posts/647.gmi
2024-01-05 22:48:52 +01:00

26 lines
1.9 KiB
Plaintext

# Un modèle pour démarrer un script shell
* 2023-05-21 19:00:00
* Développement
J'ai régulièrement le besoin d'écrire des scripts shell un peu évolués. Il y a quelques mois, j'ai commencé à travailler sur un modèle que je met régulièrement à jour. Aujourd'hui, j'ai travaillé sur la couche pour gérer les logs et c'est pourquoi j'écris cet article.
```html
<div class="code-window"></div>
<iframe width="100%" style="min-height: 50vh; border: 2px solid #1d2231; border-bottom-left-radius: 1rem; border-bottom-right-radius: 1rem" src="https://gitnet.fr/deblan/shell-base/src/branch/main/script?embed=1"></iframe>
```
Ce modèle contient les fonctions `usage` et `help` pour décrire le fonctionnement du programme. La fonction `on_interrupt` permet de gérer le signal `SIGINT` quand le programme est interrompu.
La fonction `main` est la fonction qui contient le code principal du script. Elle contient la gestion des paramètres passés au script. Par défaut, plusieurs y sont déjà intégrés : `-l` pour définir le niveau de log désiré et `-h` pour afficher l'aide.
Enfin, il y a la fonction `log` pour afficher des messages de debug avec différents niveaux de criticité. Cela permet de générer des messages qui seront affichés ou pas selon les besoins. Les messages sont colorés selon le niveau de criticité et ils sont redirigés vers `stderr`. Il est également possible d'ajouter la date.
=> /uploads/content/647/screenshot_20230521.png [IMG]
Le code source est disponible sur
=> https://gitnet.fr/deblan/shell-base Gitnet
et comme toujours, vous pouvez en faire ce que vous voulez !
En conclusion, le développement de ce modèle de script shell a été un projet passionnant et fructueux. En l'enrichissant régulièrement, j'ai pu créer une base solide pour gérer efficacement les fonctionnalités essentielles d'un script.