#!/bin/bash

# Vérifier certaines des variables d'environnements du système.
# C'est une mesure adéquate de maintenance préventive.
#  Si, par exemple, $USER, le nom de la personne sur la console, n'est pas
#+ initialisé, la machine ne vous reconnaîtra pas.

: ${HOSTNAME?} ${USER?} ${HOME?} ${MAIL?}
  echo
  echo "Le nom de la machine est $HOSTNAME."
  echo "Vous êtes $USER."
  echo "Votre répertoire personnel est $HOME."
  echo "Votre courrier est situé dans $MAIL."
  echo
  echo "Si vous lisez ce message, les variables d'environnement "
  echo "critiques ont été initialisées."
  echo
  echo

# ------------------------------------------------------

#  L'expression ${variablename?} peut aussi vérifier les
#+ variables configurées dans un script.

CetteVariable=Valeur-de-CetteVariable
#  Notez que, du coup, les variables chaînes de caractères pourraient être
#+ configurées avec les caractères contenus dans leurs noms.
: ${CetteVariable?}
echo "La valeur de CetteVariable est $CetteVariable".
echo
echo


: ${ZZXy23AB?"ZZXy23AB n'a pas été initialisée."}
#  Si ZZXy23AB n'a pas été initialisée, alors le script se termine avec un
#+ message d'erreur.

# Vous pouvez spécifier le message d'erreur.
# : ${nomvariable?"MESSAGE D'ERREUR."}


# Même résultat avec :  variable_stupide=${ZZXy23AB?}
#                      variable_stupide=${ZZXy23AB?"ZXy23AB n'a pas été initialisée."}
#
#                      echo ${ZZXy23AB?} >/dev/null

#  Comparez ces méthodes de vérification sur l'initialisation d'une variable
#+ avec "set -u" ...



echo "Vous ne verrez pas ce message parce que le script s'est déjà terminé"

ICI=0
exit $ICI   # Ne sortira *pas* ici.

# En fait, ce script quittera avec un code de sortie 1 (echo $?).
