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

Re: bash script: stdin wieder ausgeben



Am Sonntag, 21. Oktober 2012 schrieb Dirk Abe:
> 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

Das ist meines Erachtens das erste Argument der Befehlszeile.

Das hat nichts mit Standard-Eingabe zu tun.

martin@merkaba:~> cat <&0
Hallo
Hallo

wäre Standardeingabe (was man bei einem einzelnen Aufruf von cat auch
weglassen kann).

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

Bekommt das Skript also den Dateinamen der Mail als Argument?

> # 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

mkdir -p oder Abfrage mit test -d

> + cd /home/mailuser/anhang/iap/2012_43
> + munpack
> munpack: reading from standard input
> tempdesc.txt: File exists
> tempdesc.txt: File exists

Weiß nicht, worauf sich der Dateiname bezieht. Eigenart von munpack?

Du entpackst ja immer ins gleiche Verzeichnis. Vielleicht erstellt
munpack jedes Mal eine solche Datei?

> + 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

Logisch. Echo gibt das aus, was als Argument danach kommt. Es ist
nicht dazu gedacht, von der Standard-Eingabe zu lesen.

> ein
> # cat $DATEI | cat
> 
> gibt wie gewünscht den Inhalt von Stdin aus.

Auch logisch und useless use of cat.

Ciao,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7


Reply to: