Hast du eine Eselsbrücke oder ein System? Das nervt mich schon seit Jahren, ich muss immer nachschauen
Antwort1
Wenn Sie ein C-Programmierer sind, können Sie sich das &1
als „die Adresse von 1“ vorstellen, also 2>&1
etwa „Dateideskriptor Nr. 2 an dieselbe Stelle wie Nr. 1 umleiten“.
Antwort2
"Zwei zu eins"(„to“ ist >
) ergibt für mich mehr logischen Sinn als „Two and to one“, womit ich es normalerweise verwechseln würde. Wenn Sie „and one“ als einzelnes Nomen (einen Ort) betrachten, ergibt es im Kontext auch grammatikalisch Sinn, was bei „Two and to one“ schwieriger ist – Sie müssten „to one“ als einzelnes Nomen betrachten, und es würde im Kontext immer noch keinen Sinn ergeben.
Antwort3
Keine Eselsbrücke, aber ich lese es so:
0
ist stdin.
1
ist stdout.
2
ist stderr.
>
ist in.
<
ist aus.
&
ist Dateideskriptor (in einigen Shells).
2>&1
2 > & 1
stderr into file descriptor 1
redirect stderr into stdout
Es kann sich ändern, wenn Sie vor der Umleitung einen der Dateideskriptoren verändert haben …
2>somefile 1>&2
2 > somefile 1 > &2
stderr into somefile and stdout into file descriptor 2
redirect stderr into somefile and stdout into somefile.
Antwort4
Ich habe mich daran erinnert, dass es immer 2 -> 1 ist. Stderr zu stdout.
Der Mittelteil ist immer der schwierige und ich habe es immer vermasselt, bis mir einfiel, dass zuerst das scharfe Zeichen kommt >
und dann das Zeichen, das ich im wirklichen Leben nicht schreiben kann &
.
Also nie 2&>1
, immer2>&1