Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédente | |||
| dev:bash:debogage [2022/11/23 00:04] – yoann | dev:bash:debogage [2022/11/23 13:48] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| ====== Débogage de scripts shell ====== | ====== Débogage de scripts shell ====== | ||
| - | Avant toute exécution, on peut vouloir valider la syntaxe d'un fichier de script. Pour cela on peut invoquer un shell avec l' | + | Avant toute exécution, on peut vouloir valider la syntaxe d'un fichier de script. Pour cela on peut invoquer un shell avec l' |
| <code bash> | <code bash> | ||
| Ligne 9: | Ligne 9: | ||
| </ | </ | ||
| - | Le shell Bash peut être invoqué avec l' | + | Le shell Bash peut être invoqué avec l' |
| + | |||
| + | Dans l' | ||
| <code bash> | <code bash> | ||
| Ligne 17: | Ligne 19: | ||
| </ | </ | ||
| - | A tout moment dans un script on peut activer désactiver l' | + | A tout moment dans un script on peut activer/désactiver l' |
| <code bash> | <code bash> | ||
| - | # activer | + | # Activer |
| set -x | set -x | ||
| Ligne 27: | Ligne 29: | ||
| # désactiver l' | # désactiver l' | ||
| set +x | set +x | ||
| + | |||
| + | # équivalent | ||
| + | set +o xtrace | ||
| </ | </ | ||
| - | Ci dessous quelques options couramment utilisées pour déboguer: | + | Ci-dessous quelques options couramment utilisées pour le développement et le débogage: |
| ^ Notation courte ^ Notation longue ^ Résultat | ^ Notation courte ^ Notation longue ^ Résultat | ||
| + | | set -e | set -o errexit | ||
| | set -f | set -o noglob | | set -f | set -o noglob | ||
| | set -v | set -o verbose | | set -v | set -o verbose | ||
| | set -x | set -o xtrace | | set -x | set -o xtrace | ||
| | set -u | set -o nounset | | set -u | set -o nounset | ||
| - | | set -n | set -o noexec | + | | set -n | set -o noexec |
| + | |||
| + | |||
| + | Pour afficher les options activées par les arguments positionnels: | ||
| + | <code bash> | ||
| + | echo $- | ||
| + | </ | ||
| ===== bashdb ===== | ===== bashdb ===== | ||