tutorials.de Buch-Aktion 02/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
831
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Nov 2004
    Beiträge
    353
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    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 :
    1
    2
    3
    4
    5
    6
    
    #!/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
     


  2. #2
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    7.983
    Hi.

    Welchen Wert hat $mailtext? Vermutlich hast du Leerzeichen drin?
    Code bash:
    1
    
    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:
    Code bash:
    1
    2
    3
    4
    
    sed -n -e 's/^DFU_TXT *;\(.*\)/\1/p' $textfile | while read zeile
    do
            eval "$zeile"
    done | mail -s "$SUBJECT" "$EMAIL"
    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  3. #3
    Registriert seit
    Nov 2004
    Beiträge
    353
    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
    Geändert von mkoeni1 (02.03.10 um 22:43 Uhr)
     


Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 22.02.10, 15:57
  2. E-Mail Versand schlägt fehl (System.Net.Mail)
    Von exphertle im Forum .NET Windows Forms
    Antworten: 5
    Letzter Beitrag: 22.04.09, 11:49
  3. [VB.NET] E-Mail versand
    Von D34DL1NES im Forum .NET Café
    Antworten: 2
    Letzter Beitrag: 25.03.08, 15:39
  4. Mail aus der Bash versenden
    Von JohnDoe im Forum Linux & Unix
    Antworten: 3
    Letzter Beitrag: 10.01.07, 06:51
  5. E-Mail versand
    Von deki im Forum PHP
    Antworten: 1
    Letzter Beitrag: 17.12.02, 14:41