#!/bin/bash
# timeout.sh

#  Écrit par Stephane Chazelas,
#+ et modifié par l'auteur de ce document.

INTERVALLE=5                # délai

lecture_delai() {
  delai=$1
  nomvariable=$2
  ancienne_configuration_tty=`stty -g`
  stty -icanon min 0 time ${delai}0
  eval read $nomvariable      # ou simplement    read $nomvariable
  stty "$ancienne_configuration_tty"
  # Voir la page man de "stty".
}

echo; echo -n "Quel est votre nom ? Vite !"
lecture_delai $INTERVALLE votre_nom

#  Ceci pourrait ne pas fonctionner sur tous les types de terminaux.
#+ Le temps imparti dépend du terminal (il est souvent de 25,5 secondes).

echo

if [ ! -z "$votre_nom" ]  #  Si le nom est entré avant que le temps ne se soit
                          #+ écoulé...
then
  echo "Votre nom est $votre_nom."
else
  echo "Temps écoulé."
fi

echo

# Le comportement de ce script diffère un peu de "timed-input.sh".
# À chaque appui sur une touche, le compteur est réinitialisé.

exit 0
