Es scheint, dass neuere Versionen von bash den &>
Operator haben, der (wenn ich das richtig verstehe) sowohl stdout als auch stderr in eine Datei &>>
umleitet (wird stattdessen an die Datei angehängt, wie Adrian klarstellte).
Was ist der einfachste Weg, um dasselbe zu erreichen, aber stattdessen zu einem anderen Befehl zu leiten?
Zum Beispiel in dieser Zeile:
cmd-doesnt-respect-difference-between-stdout-and-stderr | grep -i SomeError
Ich möchte, dass der grep sowohl in stdout als auch in stderr mit den Inhalten übereinstimmt (effektiv, lassen Sie sie zu einem Stream kombinieren).
Hinweis : Bei dieser Frage geht es um Rohrleitungen, nicht um Weiterleitungen. Es handelt sich also nicht um ein Duplikat der Frage, deren Duplikat derzeit markiert ist.
|&
Verknüpfung, die meiner Meinung nach die mit Abstand bequemste Lösung ist, um "sowohl stdout als auch stderr in eine Pipe umzuleiten".