[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[OT]: Bash Funktionen - Maildrop



Hallo,

ich habe einen xfilter für Maildrop geschrieben, in dem die eMail
zerlegt wird. Der Filter ist ein Bash-Skript. Teste ich das Skript in
der Konsole, funktioniert alles ohne Probleme. Führt Maildrop das Skript
als xFilter aus, übergibt Maildrop zwar die eMail richtig an das Skript,
jedoch nach einem Funktionsaufruf kommen falsche Werte zurück.

Beispiel:

#!/bin/bash                                                                                                                                                                        

trim()                                                                                                                                                                             

{                                                                                                                                                                                  

   
trimmed=$1                                                                                                                                                                     

    trimmed=${trimmed%%
}                                                                                                                                                          

    trimmed=${trimmed##
}                                                                                                                                                          

    logger "sh - trim -
$trimmed"                                                                                                                                           

                                                                                                                                                                                   

    echo
$trimmed                                                                                                                                                                  

}

MSG=$(cat -) #
stdin                                                                                                                                                     

echo "$MSG" | cat >
/tmp/lalala.txt                                                                                                                                                

MSG=`echo "$MSG" | sed -e '1,/ent/ d' -e '/Mit1/,$
d'`                                                                                                  

#logger "sh - MSG:
$MSG"                                                                                                                                                    

MSG=$(trim
"$MSG")                                                                                                                                                                 

logger "sh - MSG n. Trim: $MSG"

exit 0

Die eMail wird richtig übergeben und auch richtig in die Datei
geschrieben. In der trim-Funktion ist auch noch alles ok, aber nicht
mehr danach.
MSG hat danach z.B. den Wert:
xxx.de yyy.de zzz.de Die richtige Rückgabe
Richtig wäre aber: Die richtige Rückgabe

Woher die Zusätze kommen ist mir ein Rätsel. Hat jemand eine Idee?

Gruß
Boris


Reply to: