Lorsque l’on écrit des scripts shell de provision, leur validation peut se révéler très longue. Et l’analyse de l’erreur initiale n’est pas toujours facile. Pourtant, le bash propose la commande set avec 2 options qui peuvent grandement augmenter votre productivité :

  • -e : sort du script dès qu’une erreur est rencontrée (retour différent de 0)
  • -x : affiche la commande exécutée avec ses arguments

Ainsi donc, en phase de développement, vous pouvez commencer vos scripts ainsi :

#! /bin/bash
set -xe
echo "starting..."
ls /bad/path
echo "done"

Le résultat sera le suivant :

+ echo starting...
starting...
+ ls /bad/path
ls: /bad/path: No such file or directory

Pour un écriture plus compacte, il est possible d’activer ces options de cette façon :

#! /bin/bash -xe
echo "starting..."
ls /bad/path
echo "done"

Je vous laisse retourner à vos | !