Regional-de archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Kernelbauen in -current
On Wed, 24 Mar 2010 22:33:04 +0100
Thomas Kaepernick <mast_1%gmx.net@localhost> wrote:
> > ./build.sh ... wasauchimmer > build.log 2>&1 &
> Das ist etwas, womit ich bisher auch nicht so klar kam. Ich habe die
> Reihenfolge der beiden Umleitungen bisher immer anders herum "benutzt"
> und es klappte dann nicht.
Es ist auch nicht so einfach zu verstehen wieso es so rum sein muss.
">" oder "1>" leitet Filedescriptor 1, also stdout um. "2>" leitet
Filedescriptor 2, also stderr um. "2>&1" leitet Filedescriptor 2 in
den schon bestehenden Filedescriptor 1 um. (intern verbirgt sich dup(2)
dahinter.) Mit den Filedescriptoren sind Dateien verknüpft.
Standardmäßig eben das tty des (pseudo) Terminals. Wenn man nun eine
Umleitung in eine Datei macht, wird der Filedescriptor geschlossen und
auf der Datei neu geöffnet.
./build.sh ... wasauchimmer > build.log 2>&1 &
Macht folgendes:
FD 1 wird geschlossen.
FD 1 wird auf Datei "build.log" neu geöffnet.
FD 2 wird geschlossen.
FD 1 wird auf FD 2 dup(2)liziert.
FD 1 und FD 2 sind daher nun identisch und verweisen auf die
Datei "build.log".
./build.sh ... wasauchimmer 2>&1 > build.log &
Macht nun folgendes:
FD 2 wird geschlossen.
FD 1 wird auf FD 2 dup(2)liziert.
FD 1 und FD 2 sind daher nun identisch und verweisen nach wie vor
auf das tty(4)
FD 1 wird geschlossen, FD 2 bleibt offen und zeigt unverändert
auf das tty(4).
FD 1 wird auf Datei "build.log" neu geöffnet.
Wird es jetzt klar?
> Wobei es wohl nicht mit der csh funktioniert.
Kann sein, dass die csh das anders macht. Ich hab die csh immer nur
so lange benutzt, bis ich meine Login-Shell auf ksh(1) oder bash(1)
umgestellt hatte. :-)
--
tschüß,
Jochen
Homepage: http://www.unixag-kl.fh-kl.de/~jkunz/
Home |
Main Index |
Thread Index |
Old Index