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: