Bonjour,

je rencontre un problème qui me chifonne un peu

voila mon prog compare la date d'un fichier pour savoir si ce dernier date du même jour et du même mois que le système loçal

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(ls -lt /var/opt/OV/Agent_Less/unix/logfile/hostname/*) > $tmpfile1
     #met le mois courant du fichier dans $tmpfile5
     cat $tmpfile1 | awk '{print $6}' > $tmpfile5
     #met le mois courant du systeme dans $tmpfile2
     date | awk '{print $2}' > $tmpfile2
#     cat $tmpfile5 $tmpfile2
#     oct
#     oct
 
     if [ "$tmpfile5" != "$tmpfile2" ]
        then
              echo "yes"
     else
              echo "sucks"
     fi
     exit 0

Mon problème se situe au niveau de la condition if, j'ai beau essayé plusieurs syntaxe la valeur de mes variables ne sont jamais remplacée, et le système me dit "/tmp/tmpfile5 != /tmp/tmpfile2" => VRAI
Evidemment les noms des variables ne sont pas identiques donc la condition prend toujours le même chemin.

J'ai testé:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
if [ $tmpfile5 != $tmpfile2 ]
if [ $tmpfile5 = $tmpfile2 ]
La condition n'est jamais évaluée correctement, alors que si je fais un cat sur mes tmpfile ils sont tous les 2 remplis avec la valeur 'oct'


Toute aide sera la bienvenue, je n'aime pas que la machine gagne...

D'avance merci