Commande mail
Résolu
Franck
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
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 ?
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 ?
A voir également:
- Commande mail
- Invite de commande - Guide
- Commande terminal mac - Guide
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
- Diskpart commande - Guide
3 réponses
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}
#!/bin/bash
SUBJECT="[SUJET] aucun"
DEST="root@systeme,user@systeme"
MESSAGE="/home/user/test.mail"
SENDMAIL="mail -s \"${SUBJECT}\" ${DEST} < ${MESSAGE}"
${SENDMAIL}
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
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
Et comme ça :
Ça marche pas mieux ?
eval ${SENDMAIL}
Ça marche pas mieux ?
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.
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