Les Allergies
Alimentaires
Posez votre question Signaler

Commande mail [Résolu]

Franck - Dernière réponse le 30 déc. 2009 à 20:50
Bonjour,
j'essaye d'envoyer un mail a mon compte utilisateur en local.
j'utilise bien evidement la commande mail de cette maniere dans un script bash.
${SUBJECT}="test"
mail -s ${SUBJECT} ${DEST} < ${MESSAGE}
cela marche bien sauf quand ma variable ${SUBJECT} comporte une phrase
${SUBJECT}="test test"
je n'arrive pas a lui passer des guillemets.
pourriez-vous m'aider ?
Lire la suite 

Commande mail »

Suggestions
11 réponses
Réponse
+0
moins plus
Salut,

Les variables en bash se déclarent ainsi :

SUBJECT="test"
echo "${SUBJECT}"

Franck - 30 déc. 2009 à 19:43
oui c'est une erreur de frappe
jipicy- 30 déc. 2009 à 20:02
Ok, par contre que veux-tu dire par "je n'arrive pas a lui passer des guillemets."
Franck - 30 déc. 2009 à 20:10
en fait j'essaye de stocker toutes la commande dans une variable.
mais quand j'ecris un ${SUBJECT} avec plusieurs mots la commande se plante.
alors j'essaye de placer des guillemets dans ma commande pour indiquer que ${SUBJECT} est une chaine
Ajouter un commentaire
Réponse
+0
moins plus
oui je me suis trompé en ecrivant le post mais s'est bien se que j'ai ecrit dans mon script.

#!/bin/bash
SUBJECT="[SUJET] aucun"
DEST="root@systeme,user@systeme"
MESSAGE="/home/user/test.mail"
SENDMAIL="mail -s \"${SUBJECT}\" ${DEST} < ${MESSAGE}"

${SENDMAIL}
jipicy- 30 déc. 2009 à 20:10
Et où est le problème alors ???
Franck - 30 déc. 2009 à 20:11
sa ne fonctionne pas, la commande reste bloquée
Franckjipicy - 30 déc. 2009 à 20:23
quand j'affiche ma commande,
echo ${SENDMAIL}

sa me retourne,
mail -s "[SUJET] aucun" root@systeme,user@systeme < /home/user/test.mail

cela me semble correcte mais quand je l'execute,

:~$ sudo /etc/scripts.d/sendMail.sh


^C
(Interrupt -- one more to kill letter)
^C
:~$

le script reste "bloqué", je suis obligé de couper (ctrl+c), en espérant etre plus clair
Ajouter un commentaire
Réponse
+0
moins plus
Et comme ça :

eval ${SENDMAIL}

Ça marche pas mieux ?
Franck - 30 déc. 2009 à 20:32
ah si avec eval sa marche impec.

qu'est ce que eval ?
jipicy- 30 déc. 2009 à 20:50
Voir "man bash" :
       eval [arguments ...]
              Les arguments sont lus et regroupés en une seule  commande  sim-
              ple.  Cette  commande est alors lue et exécutée par le shell, et
              son code de retour est renvoyée  comme  valeur  de  la  commande
              eval.   S'il  n'y a pas d'arguments, ou uniquement des arguments
              nuls, eval renvoie vrai.
Ajouter un commentaire
Ce document intitulé « commande mail » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?