Bonjour à tous,
Je suis entrain de terminer un petit projet maison en script shell.
Avec au début du fichier #!/bin/bash.
Plusieurs questions me viennent à l'esprit.
-Comment peut-on des logs facilement ? avec une fonction ?
-Je débogue avec des echo $variable , est-ce qu'il est possible de les executer seulement dans un mode particulier ?
-J'aimerais bien ne pas les supprimer si je souhaite revenir dessus plus tard.
-Est-il possible de faire de l'execution pas-à-pas en executant un script shell ?
Merci pour vos précieux conseils.
Bonne soirée.
# Quelques réponses
Posté par gUI (Mastodon) . Évalué à 5 (+2/-0). Dernière modification le 04 février 2025 à 19:06.
Déjà pour te faciliter la vie, tu peux mettre un beau
set -x
en début de ton script, et il t'affichera chaque commande exécutée.Après tu peux sélectionner des zones et mettre ton
set -x
à certains endroits, suivi d'unset +x
pour le désactiver un peu plus loin.Ensuite oui tu peux te créer ta fonction de log, y compris avec plusieurs niveaux style DEBUG/INFO/WARNING/ERROR. Cherche un peu tu trouveras plein d'exemples.
Pour exécuter pas à pas je ne pense pas que ce soit possible.
EDIT : Ah si, c'est possible !
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
# Logger
Posté par Ellendhel (site web personnel) . Évalué à 3 (+1/-0).
Pour enregistrer des messages dans un fichier journal système (/var/log/messages par example), la commande la plus appropriée est logger :
https://linux.die.net/man/1/logger
# comme tu veux ?
Posté par NeoX . Évalué à 3 (+0/-0).
à toi de voir, tu peux faire une fonction qui prend les messages et les formates pour les envoyer qqpart
puis tu l'appelles dans ton code
mondebug('mon message')
classique si condition alors action
ex : si DEBUGVARIABLE=ON alors mondebug('mon message que je passes à la fonctione')
si tu conditionnes leur usage avec une variable dans la config ou via la ligne de commande, tu peux laisser tous tes debugs dans le code, c'est meme recommandé
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.