Bash : exécuter une commande et tester le contenu de retour

J’ai créé une cron pour vérifier si des changements locaux existent sur des dépôts git.

A priori, il ne devrait pas y en avoir sur des instances en prod mais la théorie reste la théorie, il arrive souvent que des modifications soient apportées en direct sur l’instance, surtout pour des projets persos.

Le but de la commande est d’exécuter un git status -s dans un dépôt et de m’envoyer par email les changements présents. Comme il s’agit d’une tâche cron, le contenu de l’email correspond à la sortie standard. L’autre besoin est d’ajouter un peu de contexte au résultat de la commande en indiquant dans quel dépôt nous nous trouvons.

#!/bin/bash

OUTPUT=$(cd /var/www/tools && git status -s)
if [ -n "${OUTPUT}" ]; then
        echo "git changes in /var/www/tools"
        echo "${OUTPUT}"
        echo
fi

Un email reçu ressemblera à :

----- 8< -----
git changes in /var/www/tools
?? TEST
----- 8< -----
 

admin