Beim Experimentieren mit der Umleitung von Ausgaben und der Substitution von Prozessen bin ich auf den folgenden Befehl und die daraus resultierende Ausgabe gestoßen:
me @ elem: ~ $ echo foo >> (cat); Echobar Bar me @ elem: ~ $ foo
(Ja, diese leere Zeile am Ende ist beabsichtigt.)
Bash-Echo-Leiste, druckt meine übliche Eingabeaufforderung, Echo-Foo, Echo ist eine neue Zeile und lässt meinen Cursor dort. Wenn ich erneut die Eingabetaste drücke, wird meine Eingabeaufforderung in einer neuen Zeile gedruckt und der Cursor folgt ihr (wie erwartet, wenn jemand in einer leeren Befehlszeile die Eingabetaste drückt).
Ich hatte erwartet, dass es foo in einen Dateideskriptor schreibt, cat es liest und echo's foo, die Leiste des zweiten Echoechos, und dann zurück zur Eingabeaufforderung. Das ist aber eindeutig nicht der Fall.
Könnte jemand bitte erklären, was los ist?