UNIX affectation variable

Résolu
Bonjour,
Je souhaite faire une simple affectation en unix dans un case:(mon ajout est entre comentaires je souhaite incrémenter l'année de 1 si itération est 3 et le mois 12)

case $# in
4) ExportCode=$1; ExportMonth=$2; ExportYear=$3; Iteration=$4
#Ajout DMAL le 11/01/2010
if
[ $Iteration -eq 3 ] && [ $ExportMonth -eq 12 ]
then
ExportYear-=1
echo "Export Year :$ExportYear"
fi;;
#fin Ajout DMAL le 11/01/2010
*) AddLog "Nombre de parametres incorrect. Usage: $0 <BIP_TEMPS> <MM> <AA> <NB_ITERATION>"; ExitScript 1;;
esac
Merci d'avance
Cordialement
Configuration: Windows XP Internet Explorer 6.0

5 réponses

  1. Modérateur
    Salut,

    if [ "$Iteration" -eq "3" -a  "$ExportMonth" -eq "12" ]; then...

    0
    1. Merci jipicy, mais il m'affiche ExportYear-=1: not found.

      case $# in
      4) ExportCode=$1; ExportMonth=$2; ExportYear=$3; Iteration=$4
      #Ajout DMAL le 11/01/2010
      if [ "$Iteration" -eq "3" -a "$ExportMonth" -eq "12" ];
      then
      ExportYear-=1
      echo "Export Year :$ExportYear"
      fi;;
      #fin Ajout DMAL le 11/01/2010
      *) AddLog "Nombre de parametres incorrect. Usage: $0 <BIP_TEMPS> <MM> <AA> <NB_ITERATION>"; ExitScript 1;;
      esac
      Merci pour ton support.
      0
      1. Merci jipicy, mais il m'affiche
        ExportYear-=1: not found.
        et pour mon echo :
        Export Year :9
        Alors que ça devrait être 8.

        case $# in
        4) ExportCode=$1; ExportMonth=$2; ExportYear=$3; Iteration=$4
        #Ajout DMAL le 11/01/2010
        if [ "$Iteration" -eq "3" -a "$ExportMonth" -eq "12" ];
        then
        ExportYear-=1
        echo "Export Year :$ExportYear"
        fi;;
        #fin Ajout DMAL le 11/01/2010
        *) AddLog "Nombre de parametres incorrect. Usage: $0 <BIP_TEMPS> <MM> <AA> <NB_ITERATION>"; ExitScript 1;;
        esac
        Merci pour ton support.
        0
        1. Modérateur
          Je l'avais pas vu celui-là ;-((

          Essaie comme ça :

          ((ExportYear-=1))
          0
        2. @jipicyBonjour,

          Désolé pour le retard ça marche très bien, merci beaucoup;

          un dernier petit problème j'esaie d'ajouter les paramètres dans une log,j'aimerais ajouter en début de ligne la date système et les paramètres passés:

          Format='L %Y-%m-%d %H:%M:%S'
          LOG_BIP=/root/logs/PARAMETERS.log
          $(date +"$Format") ExportCode=$1; ExportMonth=$2; ExportYear=$3; Iteration=$4 >> $LOG_BIP

          Mais ça ne marche pas.

          format de date que tu m'as fournis d'ailleurs..
          0
      2. Modérateur
        Re-

        Format='L %Y-%m-%d %H:%M:%S'
        LOG_BIP=/root/logs/PARAMETERS.log
        echo "$(date +"$Format") ExportCode=$1; ExportMonth=$2; ExportYear=$3; Iteration=$4" >> $LOG_BIP 
        0
        1. Oui c'est ça merci, c'était un erreur d'inattention

          Merci beaucoup.
          0