Hallo Liste, ich brauche Hilfe bei einem bash statement: depmode -a > /dev/null 2>&1 Der linke Teil ist klar die Ausgabe wird auf /dev/null geleitet und wenn ich mich richtig erinnere dann steht 2 für die stderr d.h. also Fehler werden auf &1 geleitet und was ist das?? Gibt es auch &0 oder &2 ? Leider konnte ich keine Doku dazu finden, die es ganz sicher gibt - bin wohl noch nicht auf das richtige Schlagwort gekommen. Kann mir wer weiterhelfen? Vielen Dank Michael
Michael Hoeller schrieb:
ich brauche Hilfe bei einem bash statement:
depmode -a > /dev/null 2>&1
Der linke Teil ist klar die Ausgabe wird auf /dev/null geleitet und wenn ich mich richtig erinnere dann steht 2 für die stderr d.h. also Fehler werden auf &1 geleitet und was ist das?? Gibt es auch &0 oder &2 ? Leider konnte ich keine Doku dazu finden, die es ganz sicher gibt - bin wohl noch nicht auf das richtige Schlagwort gekommen. Kann mir wer weiterhelfen?
Hier wird sowohl stdout als auch stderr nach /dev/null geschickt :-) Es gibt auch &0 und &2, wobei 0=stdin, 1=stdout und 2=stderr ist. Siehe "man bash", suche nach "redirection". Gruesse, Thomson PS: Uebrigens ist "depmode -a > /dev/null 2>&1" nicht das Gleiche wie "depmode -a 2>&1 > /dev/null".... -- Thomas Hertweck, Geophysicist Geophysical Institute, University of Karlsruhe
Hallo Michael, * Michael Hoeller [14.07.02 21:55]:
Leider konnte ich keine Doku dazu finden, die es ganz sicher gibt - bin wohl noch nicht auf das richtige Schlagwort gekommen. Kann mir wer weiterhelfen?
Du willst nur ein Schlagwort? :-) Okay: ====================================================================== http://groups.google.com/advanced_group_search Nach "was bedeutet 2>&1" durchsuchte Groups Resultate 1 - 3 von ungefaehr 15. Suchdauer: 0.39 Sekunden ====================================================================== Und... man bash /2>&1 (Du landest dort im Abschnitt REDIRECTION) Gruss, Andreas -- begin at the beginning, the King said gravely, and go on till you come to the end: then stop. [Lewis Carroll: Alice's Adventures in Wonderland]
Moin,
* Michael Hoeller
ich brauche Hilfe bei einem bash statement:
depmode -a > /dev/null 2>&1
Der linke Teil ist klar die Ausgabe wird auf /dev/null geleitet und wenn ich mich richtig erinnere dann steht 2 für die stderr d.h. also Fehler werden auf &1 geleitet und was ist das?? Gibt es auch &0 oder &2 ? Leider konnte ich keine Doku dazu finden, die es ganz sicher gibt - bin wohl noch nicht auf das richtige Schlagwort gekommen. Kann mir wer weiterhelfen?
man stdout: The integer file descriptors associated with the streams stdin, stdout, and stderr are 0, 1, and 2, respectively. Thorsten -- Wasn't the storming of the Bastille an act of terrorism? Probably. Now it's a holiday. - umarsyed
Am Son, 2002-07-14 um 21.55 schrieb Michael Hoeller:
Hallo Liste,
ich brauche Hilfe bei einem bash statement:
depmode -a > /dev/null 2>&1
Der linke Teil ist klar die Ausgabe wird auf /dev/null geleitet und wenn ich mich richtig erinnere dann steht 2 für die stderr d.h. also Fehler werden auf &1 geleitet und was ist das?? Gibt es auch &0 oder &2 ? Leider konnte ich keine Doku dazu finden, die es ganz sicher gibt - bin wohl noch nicht auf das richtige Schlagwort gekommen. Kann mir wer weiterhelfen?
Aus man bash: Note that the order of redirections is significant. For example, the command ls > dirlist 2>&1 directs both standard output and standard error to the file dirlist, while the command ls 2>&1 > dirlist directs only the standard output to file dirlist, because the standard error was duplicated as standard output before the standard output was redirected to dirlist. Ergo ist depmode -a > /dev/null 2>&1 das gleiche wie depmode -a &> /dev/null nur anders geschrieben. Dabei werden stderr und stdout nach /dev/null umgeleitet. Ohne das "2>&1" würde stderr auf der Konsole landen und nicht in /dev/null -- Matthias Hentges [www.hentges.net] "Thats what sucks about windows, you can't say that you rooted some one. Saying "I ADMINISTRATORED YOU!" just doesnt sound cool."
Hallo, Am Sonntag, 14. Juli 2002 21:55 schrieb Michael Hoeller:
Hallo Liste,
ich brauche Hilfe bei einem bash statement:
depmode -a > /dev/null 2>&1
Der linke Teil ist klar die Ausgabe wird auf /dev/null geleitet und wenn ich mich richtig erinnere dann steht 2 für die stderr d.h. also Fehler werden auf &1 geleitet und was ist das?? Gibt es auch &0 oder &2 ? Leider konnte ich keine Doku dazu finden, die es ganz sicher gibt - bin wohl noch nicht auf das richtige Schlagwort gekommen. Kann mir wer weiterhelfen?
Klar gibt es auch &0 und &2. Wenn das `&' nicht dasteht,
wird eine Datei erzeugt mit Namen `0', `1' oder `2'. Sonst
heißt:
0 stdin
1 stdout
2 stderr
Genaugenommen soll man die Ziffer _immer_ vor das
Größer-/Kleinerzeichen schreiben, also
$ depmode -a 1>/dev/null 2>&1 # oder
$ depmode -a 1>/dev/null 2>/dev/null
es geht auch
$ echo hallo 1>/dev/null
$ cat --error 2>/dev/null
Probier mal ein paar Sachen aus.
Fehlermeldungen kommen bei `0>' oder `1<' von der bash;
die `<` und `>' gehören zur Kommandozeile und werden nicht
ans Programm übergeben.
Gruß
Bertram
--
Bertram Scharpf
participants (6)
-
Andreas Kneib
-
Bertram Scharpf
-
Matthias Hentges
-
MichaelHoeller@t-online.de
-
Thomas Hertweck
-
Thorsten Haude