Echo ne fonctionne pas dans un script
Résolu
GurrenDan
-
GurrenDan -
GurrenDan -
Bonjour,
Je suis en train de faire un petit script qui va servir a envoyer des mails en masse (dit comme ca c'est vrai on dirait du spam... en fait c'est pour une recherche d'emploi, je dois écrire +de 100 mails, la première fois je lai fait a la main et j'ai mis la journée... donc je préviens au cas ou : les mails partirons que je reçoive de l'aide ou pas, ne perdez pas votre temps a me dire que le spam c'est mal, ce que je sait déjà)
Mon script est fonctionnel, les mails partent bien (pour les tests j'utilise mes adresses perso), pas de problème.
Par contre j'aimerais vérifier (quand j'utiliserai la vrai liste de mails) que tout s'est bien déroulé sans erreur.
J'utilise mutt + msmtp comme ceci :
#! /bin/bash
while read line
do
mutt -s "mon-sujet" -a *.doc *.pdf -- $line <corps.txt || echo "le mail a bien été envoyé a $line !"
done < emails.txt
Le script s'apelle scriptmail.sh
corps.txt est le corps de l'email
emails.txt est la liste des adresses emails a contacter
Le problème est que lorsque j'entre "sh scriptmail.sh" dans ma console, ca mouline, puis le shell me rends la main... mais aucune trace de mon "echo"
Si jamais il se produit une erreur (par exemple un bannissement du SMTP de mon FAI, ce qui est le plus probable) je n'en serait pas informé... :(
Merci de votre aide !
Je suis en train de faire un petit script qui va servir a envoyer des mails en masse (dit comme ca c'est vrai on dirait du spam... en fait c'est pour une recherche d'emploi, je dois écrire +de 100 mails, la première fois je lai fait a la main et j'ai mis la journée... donc je préviens au cas ou : les mails partirons que je reçoive de l'aide ou pas, ne perdez pas votre temps a me dire que le spam c'est mal, ce que je sait déjà)
Mon script est fonctionnel, les mails partent bien (pour les tests j'utilise mes adresses perso), pas de problème.
Par contre j'aimerais vérifier (quand j'utiliserai la vrai liste de mails) que tout s'est bien déroulé sans erreur.
J'utilise mutt + msmtp comme ceci :
#! /bin/bash
while read line
do
mutt -s "mon-sujet" -a *.doc *.pdf -- $line <corps.txt || echo "le mail a bien été envoyé a $line !"
done < emails.txt
Le script s'apelle scriptmail.sh
corps.txt est le corps de l'email
emails.txt est la liste des adresses emails a contacter
Le problème est que lorsque j'entre "sh scriptmail.sh" dans ma console, ca mouline, puis le shell me rends la main... mais aucune trace de mon "echo"
Si jamais il se produit une erreur (par exemple un bannissement du SMTP de mon FAI, ce qui est le plus probable) je n'en serait pas informé... :(
Merci de votre aide !
A voir également:
- Echo ne fonctionne pas dans un script
- Script vidéo youtube - Guide
- Echo discord - Forum Casque et écouteurs
- Ghost script - Télécharger - Polices de caractères
- Echo lors d'un appel samsung - Forum Mobile
- Mas script - Accueil - Windows
4 réponses
Par contre il serait plus judicieux de le laisser comme il est en rajoutant juste :
Afin de contrôler les erreurs ;-))
mutt -s "mon-sujet" -a *.doc *.pdf -- $line <corps.txt || echo "le mail n'a pas été envoyé a $line !" done < emails.txt
Afin de contrôler les erreurs ;-))
en fait "d'après ce que j'ai compris" la commande qui suit || est exécutée seulement si la commande précédente ne renvoie pas d'erreur, alors que si je met && l'echo sera exécuté quoiqu'il arrive.
c'est justement grâce a || que je vérifie si tout s'est bien passé !
Le problème est que la le echo n'est pas visible alors que la commande d'envoi s'exécute bien sans erreur (les mails arrivent bien dans mes boites de test)
Tu me corriges si je me trompes ?
c'est justement grâce a || que je vérifie si tout s'est bien passé !
Le problème est que la le echo n'est pas visible alors que la commande d'envoi s'exécute bien sans erreur (les mails arrivent bien dans mes boites de test)
Tu me corriges si je me trompes ?