[bash] - Mail Versand aus file

mkoeni1

Erfahrenes Mitglied
Hallo zusammen,

ich habe ein file (mail.sh), in dem ich folgendes Stück per "mail -s "$SUBJECT" "$EMAIL" < $mailtext" versenden möchte:

dazu mache ich aus der Variablen DFU_TXT im File emailmessage.dfu steht und das einer Variablen zugewiesen wird
$textfile = emailmessage.dfu

Code:
DFU_TXT ;  echo  '+-------------------------------------------------------+'
DFU_TXT ;  echo  '+                                                       +'
DFU_TXT ;  echo  '+     Uebersicht                                 +'
DFU_TXT ;  echo  '+                                                       +'
DFU_TXT ;  echo  '+-------------------------------------------------------+'
DFU_TXT ;  echo  '                                                         '
DFU_TXT ;  echo  '                                                         '
DFU_TXT ;  echo  'Ihre Daten: NaV                                          '
DFU_TXT ;  echo  'EMail: NaV                                               '
DFU_TXT ;  echo  'Telefon: ' $var
DFU_TXT ;  echo  '                                                         '

mit dieser Zeile ein Hintereinanderreihung.
Code:
#!/bin/bash
...
for zeile in "`sed -n -e 's/^DFU_TXT *;\(.*\)/\1/p' $textfile`"
do
        eval "$zeile" >> $mailtext
done

Leider bekomme ich immer ein:
./mail.sh: line 34: $mailtext: ambiguous redirect

wie bekomme ich die Meldung ambiguous redirect weg und die Mail geht raus?


Danke und Gruß
mkoeni1
 
Hi.

Welchen Wert hat $mailtext? Vermutlich hast du Leerzeichen drin?
Bash:
eval "$zeile" >> "$mailtext"
Gibt es einen Grund warum du eine temporäre Datei verwendest? Du kannst doch gleich den Nachrichtentext an das mail Kommando über eine Pipe senden:
Bash:
sed -n -e 's/^DFU_TXT *;\(.*\)/\1/p' $textfile | while read zeile
do
        eval "$zeile"
done | mail -s "$SUBJECT" "$EMAIL"
Gruß
 
Hallo,

in $mailtext steht der String "test" drin.

danke das hat funktionert mit dem code.
Das mit dem pipen des Nachrichtentextes an das mail command habe ich dann letztendlich verwendet.


Danke nochmal
mkoeni1
 
Zuletzt bearbeitet:
Zurück