[Shell Unix] Ecrire dans un fichier de log

Résolu
Bonjour,

J'aimerais pouvoir écrire dans un seul fichier de log mais à partir de plusieurs shells. Je m'explique :
Mon premier script fait ceci :
LOGFILE=`date +%Y%m%d`.MonLog
echo "coucou" | tee -a $LOGFILE
export LOGFILE
Et mon second fait cela :
echo "salut" | tee -a $LOGFILE
Le problème est qu'il n'arrive pas à écrire dans le meme fichier de log (alors que j'ai fait l'export nécessaire, à la sortie du premier script).
Merci m'éclairer sur ce point.

Cdlt,

Trez
Configuration: Sun OS 5.9

3 réponses

  1. Hello,
    Le script n'est effectivement pas effectué à partir du meme emplacement. Cela dit, j'ai préalablement créé un fichier contenant des variables d'environnement dans lequel il y a
    $ cat monEnv
    $ LOGDIR=/opt/app/log
    A noter que ce fichier est appelé dans mon .profile.
    Mon premier script a en réalité cette tronche :
    #!/bin/ksh
    #!/bin/bash
    . monEnv
    LOGFILE=`date +%Y%m%d`.MonLog
    echo "coucou" | tee -a $LOGDIR$LOGFILE
    export LOGFILE
    Et mon second (qui je lance d'un répertoire différent) :
    echo "salut" | tee -a $LOGDIR$LOGFILE
    Je lance mes scripts de la manière suivante :
    . script
    Voilou...
    1
    1. Modérateur
      Salut,

      Bizarre ;-\
      jp@MDK:~/tmpfs ssh$ LOGFILE=`date +%Y%m%d`.MonLog
      jp@MDK:~/tmpfs ssh$ echo $LOGFILE
      20070216.MonLog
      jp@MDK:~/tmpfs ssh$ echo "coucou" | tee -a $LOGFILE
      coucou
      jp@MDK:~/tmpfs ssh$ cat 20070216.MonLog
      coucou
      jp@MDK:~/tmpfs ssh$ export LOGFILE
      jp@MDK:~/tmpfs ssh$ echo "salut" | tee -a $LOGFILE
      salut
      jp@MDK:~/tmpfs ssh$ cat 20070216.MonLog
      coucou
      salut
      jp@MDK:~/tmpfs ssh$
      0
      1. Modérateur
        Salut,

        Peut être qu'il n'exécute pas le script depuis le même emplacement.
        Pourquoi pas utiliser un chemin absolu dans la variable?
        0