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 ===== |