J'ai un script shell avec la ligne suivante:
[ "$DEBUG" == 'true' ] && set -x
set -x
active un mode du shell dans lequel toutes les commandes exécutées sont imprimées sur le terminal. Dans votre cas, il est clairement utilisé pour le débogage, ce qui est un cas typique d'utilisation de set -x
: l'impression de chaque commande lors de son exécution peut vous aider à visualiser le flux de contrôle du script s'il ne fonctionne pas correctement.
set -x
Imprime une trace de commandes simples, pour les commandes, les commandes de casse, les commandes de sélection et l'arithmétique pour les commandes et leurs arguments ou les listes de mots associées après leur développement et avant leur exécution. La valeur de la variable PS4 est étendue et la valeur résultante est imprimée avant la commande et ses arguments développés.
set -x
echo `expr 10 + 20 `
+ expr 10 + 20
+ echo 30
30
set +x
echo `expr 10 + 20 `
30
L'exemple ci-dessus illustre l'utilisation de set -x
. Quand il est utilisé, l'expression arithmétique ci-dessus a été développée. Nous pourrions voir comment une ligne unique a été évaluée étape par étape.
expr
a été évaluée.echo
a été évaluée.Pour en savoir plus sur set → visit ce lien
en ce qui concerne votre script shell,
[ "$DEBUG" == 'true' ] && set -x
Votre script imprimait peut-être quelques lignes d'informations supplémentaires lorsque le mode d'exécution sélectionné était DEBUG
. Traditionnellement, les personnes activaient le mode débogage lorsqu'un script appelait avec un argument optionnel tel que -d