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

bash script: stdin wieder ausgeben



Hallo an alle,


ein Bash Script bekommt bei seinem Aufruf den Inhalt einer Mail
an Stdin übergeben und soll diesen am Ende auch wieder an Stdout zurückgeben.

Das Script:


#!/bin/bash -x


# Verzeichnis für die aktuelle KW anlegen 
DIR=$(date +%Y_%U)
DIR2=/home/mailuser/anhang/iap
DIR3=$DIR2/$DIR
mkdir $DIR3 >> $DIR2/munpack.log
cd $DIR3

# Anhänge speichern
munpack $1   >> $DIR2/munpack.log

# Bilder löschen
rm -f *.jpg  >> $DIR2/munpack.log
# Mail zurückgeben
echo $1
cat $1

# ohne Fehler beenden
exit 0


</script>

Hier die Ausgabe:
++ date +%Y_%U
+ DIR=2012_43
+ DIR2=/home/mailuser/anhang/iap
+ DIR3=/home/mailuser/anhang/iap/2012_43
+ mkdir /home/mailuser/anhang/iap/2012_43
mkdir: cannot create directory `/home/mailuser/anhang/iap/2012_43': File 
exists
+ cd /home/mailuser/anhang/iap/2012_43
+ munpack
munpack: reading from standard input
tempdesc.txt: File exists
tempdesc.txt: File exists
+ rm -f '*.jpg'
+ echo

+ cat
+ exit 0




Bis inkl. des rm ... klappt alles.

Leider gibt echo nur ein Leerzeile aus. Ebenso cat.
Ein 
# cat $DATEI | echo

ergibt auch eine Leerzeile

ein
# cat $DATEI | cat

gibt wie gewünscht den Inhalt von Stdin aus.

warum will das nicht in meinem Script klappen?


Danke für eure Hilfe und noch einen schönen Sonntag.

Dirk



Reply to: