Ich benutze diese Leitung
( cat bodyText.txt; uuencode backup.tar ) | mail -s "backup" myEmail@myserver.com
in einem Bash-Skript, das von Cron ausgelöst wird.
Diese Linie ist fast perfekt, aber es hängt warten Ctrl- Deingegeben werden, so dass die Nachricht und die attachement gesendet werden können.
Wie füge ich ein Ctrl- Din ein Bash-Skript ein, damit diese Zeile funktioniert?
cat bodyText.txt | uuencode backup.tar| mail -s "backup" [email protected]
( cat bodyText.txt; uuencode backup.tar ; echo -e "\n.\n" ) | mail -s "backup" [email protected]
schon versucht ?Antworten:
Der Uuencode lautet: Uuencode-Name <Quelldatei
Vielleicht brauchen Sie nur eine letzte leere Zeile: Fügen Sie
; echo -e "\n\n" ;
vor der schließenden Klammer hinzu und versuchen Sie es erneut? -Also in deinem Fall:
Eine andere Möglichkeit besteht darin,
mutt
Anhänge besser zu handhaben und sich mit MIME-Typen usw. vertraut zu machen:quelle
uuencode backup.tar backup.tar
für den uuencode Teiltype -all uuencode
in Bash und wenn es ein Alias ist, versuchen Sie\uuencode backup.tar backup.tar
(mit "\", den Alias zu umgehen)mutt
Alternative.Wie andere bereits gesagt haben, weisen Sie die Shell mit Control-D an, das Dateiende zu senden. Prozesse, die aus Streams lesen, sollten das Ende der Datei erhalten, wenn der Stream geschlossen wird.
Es scheint jedoch, dass Sie versuchen, etwas zu implementieren, das bereits in vollständigerer Form vorhanden ist. Sie könnten natürlich Gründe dafür haben, aber wenn Sie an vorhandenen Lösungen interessiert sind, sind mpack / munpack Befehlszeilenprogramme, die Dateien mimen, codieren und per E-Mail senden. Sie können die Manpage lesen, um zu sehen, ob sie das tut, was Sie wollen.
quelle
Meinst du:
quelle
uuencode
macht keinen Sinn, und das Ändern dieses Teils würde bei dem Problemmail
auf keinen Fall helfen . Sie sollten Antworten schreiben, die das Problem erklären, und nicht nur eine Codezeile ausgeben. Dies wäre für die Leser nützlicher und würde Ihnen helfen, herauszufinden, ob das, was Sie vorschlagen, eine Chance hat, das Problem zu lösen.Verwenden Sie den ausführlichen Modus (-v), um Strg + d zu vermeiden
quelle