#!/bin/bash
# return-test.sh

# La plus grande valeur positive qu'une fonction peut renvoyer est 255.

test_retour ()         # Renvoie ce qui lui est passé.
{
  return $1
}

test_retour 27         # OK.
echo $?                # Renvoie 27.
  
test_retour 255        # Toujours OK.
echo $?                # Renvoie 255.

test_retour 257        # Erreur!
echo $?                # Renvoie 1 (code d'erreur divers).

test_retour -151896    #  Néanmoins, les valeurs négatives peuvent être plus
                       #+ importantes.
echo $?                # Renvoie -151896.
# ======================================================
test_retour -151896    #  Est-ce que les grands nombres négatifs vont
                       #+ fonctionner ?
echo $?                # Est-ce que ceci va renvoyer -151896?
                       # Non! Il renvoie 168.
#  Les versions de Bash antérieures à la 2.05b permettaient les codes de retour
#+ au format d'un grand entier négatif.
#  Les nouvelles versions ont corrigées cette faille.
#  Ceci peut casser les anciens scripts.
#  Attention !
# ======================================================

exit 0
