Comparaison de dates avec if imbriqués

enissai -  
enissai Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Comme cela paraît évident, j'ai un petit soucis avec mon script shell. Ma commande catégorie doit renvoyer la catégorie à laquelle on appartient selon la date de naissance entrée après le nom de la commande,
ex: categorie 1986 renvoie Seniors.

Pour cela j'ai choisi de procéder par intervalle avec des "if" imbriqués, mais mon paramètre reste dans le premier "if", la variable n'est pas incrémentée, et quand je fais un echo dans le second "if", il est passé sous silence.

Voici mon programme:

#!/bin/bash

if test $# -eq 0
then echo il n'existe aucun parametres, veuillez taper le nom de la commande suivi de l'année aaaa.
fi

if [ "$1" -le "1969" ]
then
cat=$Veterans
fi

echo $1
if [ "$1" -le "1986" ] && [ "$1" -ge "1970" ]
then
cat=$Seniors
fi

if [ "$1" -le "1989" ] && [ "$1" -ge "1987" ]
then
cat=$Espoirs
fi

if [ "$1" -le "1991" ] && [ "$1" -ge "1990" ]
then
cat=$Juniors
fi

if [ "$1" -le "1993" ] && [ "$1" -ge "1992" ]
then
cat=$Cadets
fi

if [ "$1" -le "1995" ] && [ "$1" -ge "1994" ]
then
cat=$Minimes
fi

if [ "$1" -le "1997" ] && [ "$1" -ge "1996" ]
then
cat=$Benjamins
fi

if [ "$1" -le "1999" ] && [ "$1" -ge "1998" ]
then
cat=$Poussins
fi

if [ "$1" -ge "2000" ]
then
cat=$Ecole d Atletisme
fi

echo $cat

Donc si je tape "categorie 1969", au llieu de me renvoyer "Veterans", ça ne me renvoie strictement rien!
J'ai essayé de mettre else, elif, de mettre le "fi" uniquement à la fin du programme, ça n'a rien donné. Alors toute aide sera la bienvenue^^.
Merci.
Enissai
A voir également:

2 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

L'assignation d'une variable se fait comme suit :

var="blabla" 

ou

var=$(commande)


mais jamais comme tu l'as fait :

var=$blabla

de plus, "cat" est une commande externe. Tu devrais employer autre chose comme nom de variable (CAT à la limite).
0
enissai Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup, je me suis finalement rendue compte de mon erreur toute seule, environ 10-15 min après avoir posté le message. Le soucis, c'est que cette façon de faire fonctionne très bien dans un autre script...du coup c'est un mystère pour moi.
Enfin, c'est en tombant qu'on apprend à marcher on va dire.
@+ et encore merci.
0