Wenn ich versuche, grep auf diese Weise zu verwenden:
service --status-all | grep network
Es werden weiterhin alle Dienste aufgelistet, obwohl ich sie weitergeleitet habe grep
, um sie nur auf die Zeichenfolge "network" zu beschränken
Nach dem Fakt:
Als ich diesen Artikel bemerkte , der erklärt, warum sich der Befehl so verhält, mag ich das an Linux. Es gibt immer einen guten Grund, aber es ist nicht unbedingt intuitiv
Sie müssen standard error stream (
2
) auf standard output (1
) umleiten :Der Operator
>
leitet normalerweise zur Datei weiter (z2>/tmp/file
. B. ). Um mithilfe des Deskriptors zu einem anderen Stream umzuleiten , muss dieser mit vorangestellt werden&
(beachten Sie, dass keine Leerzeichen zwischen den Zeichen stehen).quelle