Früher habe ich für ein Unternehmen gearbeitet, das eine angepasste Shell für die Verwaltung eines seiner Produkte unter Linux hatte, und ich versuche, eine wichtige Funktion dieser Shell zu replizieren.
Die gesamte Arbeit wurde von einem Hintergrundprozess erledigt, und die Ausgabe aus dem Protokoll wurde allen verbundenen Benutzern angezeigt.
Das Protokoll wird im Hintergrund zu Ihrer Shell angezeigt, und die Eingabeaufforderungszeile bleibt immer ganz unten.
Zum Beispiel
Log line 1
Log line 2
Log line 3
![ROOT@PRODUCT51-LIVE]:~/ #
Die Art und Weise, wie ich dies mit bash versuchte, bestand darin, einen getrennten Schwanz in der .bashrc-Datei des Benutzers zu starten, aber wenn die Ausgabe des Befehls an stdout gesendet wird, kommt sie unter der Bash-Eingabeaufforderung herein, z
![ROOT@PRODUCT51-LIVE]:~/ #Log line 1
Log line 2
Log line 3
Und der Benutzer müsste die Eingabetaste drücken oder CtrlCfür eine saubere Eingabeaufforderung.
Ich habe keine Ahnung, wie ich die Eingabeaufforderung immer ans Ende der Ausgabe bringen kann, und ich glaube, ich verwende die falsche Terminologie, um bei Google etwas zu finden, da ich kein Glück habe - weiß jemand, wie das geht? mit Bash?
tail -f
Ausgabe und der Eingabeaufforderung sowie der Befehlsausgabe, wenn Sie einen Befehl eingeben, der eine erhebliche Menge an Ausgaben enthält, insbesondere wenn Ihr Hintergrundprozess seine Ausgabe aktiv sendet?