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:
fichier MAIL.txtCode:
1
2
3
4 export MEL1=toto@fai.fr export MEL2=titi@fai.fr export MEL3=tutu@fai.fr,tata@fait.fr
Code:
1
2
3
4 fichier1;nom_variable_MEL1 fichier2;nom_variable_MEL2 fichier3;nom_variable_MEL3
scripts EnvoiMail.sh
J'aimerais savoir quoi mettre exactement dans MAIL.txt :Code:
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
${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:
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 faitCode:
1
2
3
4
5
6
7 case ${DestMail} MEL1) DestMail=${MEL1} MEL2) DestMail=${MEL2} MEL3) DestMail=${MEL3} *) echo 'MEL INCONNU' esac
Merci pour toute l'aide apportée.
Frédéric S