C'est sur que quand je vois ta façon de faire, je me compliquais bien la tâche...
En tout cas merci beaucoup ! C'est déjà un peu plus claire.
Là je bloque sur les mois... De 01 à 07 😃onnées incorrectes.
08 et 09 : ((: 08 : valeur trop grande pour la base (le symbole erroné est "08")
10,11 et 12 me retourne le bon age
#!/bin/bash
#VARIABLE DATE DU JOUR
moisactu=$(date +%m)
anneeactu=$(date +%Y)
#INSERTION DATE DE NAISSANCE
read -p 'Entrez votre mois de naissance :' moisnaissance
read -p 'Entrez votre année de naissance :' anneenaissance
# TEST VARIABLES
if [[ $moisnaissance =~ ^[0-9]{2}$ ]] && (($moisnaissance >= 01 && $moisnaissance <=12)) && [[ $anneenaissance =~ ^[0-9]{4}$ ]] && (($anneenaissance > 1900 && $anneenaissance < $anneeactu)) && (($moisactu < $moisnaissance));then
age=$((anneeactu-anneenaissance-1))
else
if [[ $moisnaissance =~ ^[0-9]{2}$ ]] && (($moisnaissance >= 01 && $moisnaissance <= 12)) && [[ $anneenaissance =~ ^[0-9]{4}$ ]] && (($anneenaissance > 1900 && $anneenaissance < $anneeactu)) && (($moisactu > $anneenaissance));then
age=$((anneeactu-anneenaissance))
else
echo "Données incorrectes">&2
fi
fi
i=$age
if ((i<=30)); then
echo "Vous avez $age ans, vous êtes jeune."
elif ((i>=60 && i<=100)); then
echo "Vous avez $age ans, vous êtes vieux."
else
echo "Vous avez $age ans."
fi