Sommaire

Mise au point d’un script Mise au point Débogguer

Le shell propose quelques options permettant de mettre au point des scripts shell.

1. Option -x

L’option -x permet de visualiser les commandes telles qu’elles sont exécutées, c’est-à-dire après traitement des caractères spéciaux du shell.

Première syntaxe

Activer l’option :

set -x

Désactiver l’option :

set +x

Deuxième syntaxe

ksh

bash

Activer l’option :

set -o xtrace

Désactiver l’option :

set +o xtrace

Troisième syntaxe

Invoquer le shell interpréteur avec l’option -x :

$ ksh -x script

Exemple

Voici le script affiche.sh dans lequel une erreur a été introduite. Le développeur du script a, par inadvertance, écrit fic au lieu de $fic (ligne 4) :

$ nl affiche.sh 
1 #! /usr/bin/ksh 
 
2 echo "Nom du fichier a visualiser: \c" 
3 read fic  
4 if [[ -f fic ]] ; then 
5 cat $fic 
6 else 
7 echo "Fichier inexistant" 
8 fi

Exécution du script sans mise au point. Il semble surprenant (voire inquiétant ?) que le fichier /etc/passwd ne soit pas trouvé !

$ affiche.sh 
Nom du fichier a visualiser: /etc/passwd 
Fichier inexistant

Exécution du script en activant l’option -x. Ici l’option est passée en argument au shell interpréteur du script. Les lignes affichées pour la mise au point sont précédées d’un signe ...