Oui, merci, j'avoue que mon erreur est honteuse snif...
Pour me faire pardonner, voilà un truc qui marche pour déterminer si deux numéros de versions sont différents et de lancer un traitement le cas échéant.
# Pour comparer les versions, il ne faut pas utiliser la comparaison lexicographique directement
# car elle entraine des resultats faux dans certains cas
# On sépare donc un numéro de version en trois - Le prefixe (nombre entier), le mineur (chiffre), et la release (lettre)
# La variable COPY_SCRIPT indique si il est necessaire de copier les
# scripts de l'application vers le client
# Si les version de l'application et du client sont différentes
if [ $VERSION_APPLI != $VERSION_CLIENT ]
then
# La migration automatique a été activée
if [ $AUTO_MIGRATION = "true" ]
then
#On compare d'abord le prefixe en utilisant la comparaison arithmétique
if [ $PREFIX_APPLI -ge $PREFIX_CLIENT ]
then
if [ $PREFIX_APPLI -eq $PREFIX_CLIENT ]
then
echo "PREFIX APPLI EGAL"
if [ $MINOR_APPLI -ge $MINOR_CLIENT ]
then
if [ $MINOR_APPLI -eq $MINOR_CLIENT ]
then
echo "MINOR APPLI EGAL"
if [[ $RELEASE_APPLI > $RELEASE_CLIENT ]]
then
COPY_SCRIPT="1"
fi
else
echo "MINOR APPLI PLUS GRAND"
COPY_SCRIPT = "1"
fi
fi
else
echo "PREFIX APPLI PLUS GRAND"
COPY_SCRIPT="1"
fi
fi
if [ $COPY_SCRIPT == "1" ]
then
echo "LE TRAITEMENT A LANCER"
fi
[^] # Re: Solution
Posté par tangrop . En réponse au message Comparer deux numéros de versions. Évalué à 2.
Pour me faire pardonner, voilà un truc qui marche pour déterminer si deux numéros de versions sont différents et de lancer un traitement le cas échéant.