linux-l: Bug or Feature
Jens Dreger
jens.dreger at physik.fu-berlin.de
Do Mär 23 12:18:58 CET 2000
On Thu, Mar 23, 2000 at 11:23:58AM +0100, Alfred Schweder wrote:
> Hallo
>
> Ich brauchte ein Script, das einfach alle Daten von STDIN nehmen soll und
> sowohl in ein File alsauch nach STDOUT schreiben soll.
> Also mal ein einfacher Ansatz:
>
> [500] cat filter.sh
> #!/usr/bin/tee /tmp/log
> [501] echo Test | ./filter.sh
> Test
> [502] cat /tmp/log
> Test
> [503] cat filter.sh
> Test
>
Hm, sieht aus, als haettest Du Deinen kernel mit der Option
TEE_OVERWRITES_EVERYTHING_IN_REACH kompiliert. Passiert das denn auch,
wenn Du linux von Diskette bootest ?
Okok, Ernst jetzt...
Man nehme als filter.sh:
#!/bin/echo arg1
~> ./filter.sh
arg1 ./filter.sh
Demnach wird der Name des Skripts als Paramter an das Programm
uebergeben, welches in der #!-Zeile eingetragen ist. In dem tee-Falle
heisst das also, dass "echo Test | ./filter.sh" effektiv in
echo Test | tee /tmp/log ./filter.sh
umgesetzt wird, und das Skript somit ueberschrieben wird.
Loesung ist natuerlich:
-------8<-----------
#!/bin/sh
/usr/bin/tee /tmp/log
------8<----------------
aber das ist Dir sicherlich klar...
Gruss,
Jens.
Mehr Informationen über die Mailingliste linux-l