#!/bin/bash
# pb.sh : carnet de téléphones.

# Écrit par Rick Boivie et utilisé avec sa permission.
# Modifications par l'auteur du guide ABS

MINARGS=1       # Le script a besoin d'au moins un argument.
FICHIERDONNEES=./carnet_telephone
          #  Un fichier de données du répertoire courant, nommé
	  #+ "carnet_telephone", doit exister.
NOMPROG=$0
E_SANSARGS=70   # Erreur lorsque sans arguments.

if [ $# -lt $MINARGS ]; then
      echo "Usage : "$NOMPROG" donnees-a-rechercher"
      exit $E_SANSARGS
fi


if [ $# -eq $MINARGS ]; then
      grep $1 "$FICHIERDONNEES"
      # 'grep' affiche un message d'erreur si $FICHIERDONNEES n'existe pas.
else
      ( shift; "$NOMPROG" $* ) | grep $1
      # Le script s'appelle récursivement.
fi

exit 0        #  Le script sort ici.
              #  On peut mettre des commentaires sans '#' et des données après
	      #+ ce point.

# ------------------------------------------------------------------------
# Exemple d'un carnet d'adresses :

John Doe        1555 Main St., Baltimore, MD 21228          (410) 222-3333
Mary Moe        9899 Jones Blvd., Warren, NH 03787          (603) 898-3232
Richard Roe     856 E. 7th St., New York, NY 10009          (212) 333-4567
Sam Roe         956 E. 8th St., New York, NY 10009          (212) 444-5678
Zoe Zenobia     4481 N. Baker St., San Francisco, SF 94338   (415) 501-1631
# ------------------------------------------------------------------------

$bash pb.sh Roe
Richard Roe     856 E. 7th St., New York, NY 10009          (212) 333-4567
Sam Roe         956 E. 8th St., New York, NY 10009          (212) 444-5678

$bash pb.sh Roe Sam
Sam Roe         956 E. 8th St., New York, NY 10009          (212) 444-5678

#  Lorsqu'au moins un argument est passé au script, celui-ci n'affiche *que*
#+ le(s) ligne(s) contenant tous les arguments.
