Comment déboguer un script shell?
- 921
- 264
- Noa Faure
Le débogage est le processus de recherche et de résolution des bogues dans un programme informatique. Il fournit une sortie énorme lors de l'exécution pour analyser chaque partie de l'exécution. Ce qui aide à identifier la cause profonde de toute erreur dans le script. Dans ce tutoriel, vous apprendrez à déboguer un script shell sur la ligne de commande Linux.
Nous pouvons déboguer un script shell de deux manières. Ajoutez les instructions de débogage dans le script shell en utilisant "Set -xv" ou en utilisant -xv sur la ligne de commande lors de l'exécution du script.
Ajout d'instructions de débogage dans le script shell
Créons un petit script pour tester le processus de débogage. Créez un nouveau fichier et modifiez dans l'éditeur de texte:
nano checkdebug.shot
Ajoutez le contenu suivant dans le fichier:
#!/ bin / bash set -xv # Cela permettra de debug cd / var / log / for i in "*.journal "; do -sh $ j'ai fait1234567 | #!/ bin / bash set -xv # Cela permettra de debugcd / var / log / pour i in "*.journal "; do -sh $ idone |
Enregistrer les modifications et fermer le fichier.
Définissez ensuite les autorisations d'exécution sur le fichier, puis exécutez-la.
chmod + x checkdebug.shot
./ CheckDebug.shot
[Exemple de sortie]
cd / var / log / + cd / var / log / pour i dans "*.journal "; do -sh $ j'ai fait + pour je dans '" *.journal "'+ du-shot.journal mysqld.journal post111.journal post1121.bûche.BORD 0 BOOT.journal 32k mysqld.journal 0 post111.journal 0 post1121.journal 4.0k yum.enregistrer
Fournir des instructions de débogage de la ligne de commande
En utilisant cette option, nous n'avons pas besoin d'ajouter «set -xv» dans le script shell. Créez simplement un script shell comme ci-dessous
nano checkdebug2.shot
#!/ bin / bash cd / var / log / pour i dans "*.journal "; do -sh $ j'ai fait123456 | #!/ bin / bash cd / var / log / pour i dans "*.journal "; do -sh $ idone |
et exécuter comme ci-dessous
sh -xv checkdebug2.shot
[Exemple de sortie]
#!/ bin / bash cd / var / log / + cd / var / log / pour i in "*.journal "; do -sh $ j'ai fait + pour je dans '" *.journal "'+ du-shot.journal mysqld.journal post111.journal post1121.bûche.BORD 0 BOOT.journal 32k mysqld.journal 0 post111.journal 0 post1121.journal 4.0k yum.enregistrer
- « Comment configurer la réplication maître-esclave de MySQL
- Configurer le filtrage basé sur les adresses MAC du serveur de squid proxy »