IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Interpréter une variable contenue dans un fichier texte


Sujet :

Shell et commandes GNU

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 111
    Points : 128
    Points
    128
    Par défaut Interpréter une variable contenue dans un fichier texte
    Bonjour

    J'espère bien me faire comprendre car cela n'est pas évident d'expliquer mon problème.


    Pour industrialiser des traitements d'envoi de mail, j'utilise un script sous Aix.

    J'ai créé un fichier contenant le nom des fichiers à mailler ainsi que le nom de la variable (contenu dans le .profile) indiquant les destinataires.

    fichier .profile:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    export MEL1=toto@fai.fr
    export MEL2=titi@fai.fr
    export MEL3=tutu@fai.fr,tata@fait.fr
    fichier MAIL.txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    fichier1;nom_variable_MEL1
    fichier2;nom_variable_MEL2
    fichier3;nom_variable_MEL3

    scripts EnvoiMail.sh
    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
    17
    18
    19
    20
    21
     
    while read LigneEnvoi
     do
        FichierAttache=`echo ${LigneEnvoi} | cut -d ";" -f 1`
        DestMail=`echo ${LigneEnvoi} | cut -d ";" -f 2`
     
        # envoi du mail ...
        cat <<FINMSG>mail.tmp
        Bonjour,
     
        Veuillez trouver le fichier joint
     
        Cordialement 
     
        FINMSG
        uuencode ${FichierAttache} "${FichierAttache}" >> mail.tmp
     
        # Envoi du mail avec le fichier joint
        cat mail.tmp | mailx -s "Le fichier joint" "${DestMail}" 
     
      done < MAIL.txt
    J'aimerais savoir quoi mettre exactement dans MAIL.txt :
    ${MELx} ou MELx ou {MELx} ....

    et comment dire au script que la valeur contenue dans DestMail correspond à un nom d'une variable du .profile et dont de mettre dans DestMail la valeur de $MELx

    Pour l'instant, j'ai résolu mon probleme en mettant un case de la manière suivante:

    Dans le fichier MAIL.txt, je mets MEL1, MEL2 ou MEL3
    et dans le script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    case ${DestMail}
      MEL1)   DestMail=${MEL1}
      MEL2)   DestMail=${MEL2}
      MEL3)   DestMail=${MEL3}
      *) echo 'MEL INCONNU'
    esac
    Mais cela n'est pas propre. Je sais qu'il est possible de faire ce que je souhaite. Je l'ai déjà fait il y plusieurs années mais impossible de me rappeler comment j'ai fait

    Merci pour toute l'aide apportée.


    Frédéric S

  2. #2
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    Je pense que ça doit répondre à ton besoin

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cat mail.tmp | mailx -s "Le fichier joint" "$(eval echo \$${DestMail})"
    Loi de Murphy:
    La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi.
    La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi.
    Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 111
    Points : 128
    Points
    128
    Par défaut
    Bonjour


    Merci pour ton aide

    J'y étais presque puisque je tentais avec EVAL mais je l'utilisais mal.


    Merci encore

    Frédéric

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher une variable php dans un champs texte dynamique contenu dans un clip
    Par yuyuboy dans le forum ActionScript 1 & ActionScript 2
    Réponses: 3
    Dernier message: 06/01/2010, 18h55
  2. Assigner a une variable une valeur lue dans un fichier texte
    Par mapotam dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 22/12/2009, 14h46
  3. [PHP 5.0] Passer une variable vide dans un fichier texte
    Par tarmo57 dans le forum Langage
    Réponses: 2
    Dernier message: 22/02/2009, 14h45
  4. copier le contenu d'une page web dans un fichier texte
    Par wassila dans le forum C++Builder
    Réponses: 30
    Dernier message: 28/08/2005, 22h27
  5. Réponses: 2
    Dernier message: 16/07/2004, 09h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo