Ich habe eine (schreibgeschützte) ausführbare Datei "myexec", die ich immer ausführe, gefolgt von der Eingabe "input1" (eine Zeichenfolge), und dann komme ich mit meinem Geschäft "" und "exit", wenn mir danach ist :
%Vor%Was ich gerne tun würde, ist automatisch führe "myexec" mit der Eingabe "input1" aus und dann kann ich "etwas anderes machen, solange ich möchte". Von dem, was ich sehen kann, sind meine Optionen:
%Vor%oder
%Vor%oder
%Vor%ABER das Problem mit diesen Methoden ist, dass sie "myexec" nach dem Lesen von "input1" beenden. Wie kann ich die EOF vermeiden / beenden / beenden?
Es klingt fast so, als ob Sie einen Fifo wollen, der ein Named Pipe ist, der in Ihrem Dateisystem gespeichert ist. Jeder Ausgang, den Sie dorthin umleiten, wird auf der anderen Seite herauskommen, in das was gehört wird. Versuchen Sie Folgendes:
%Vor%Sie können dies testen, indem Sie bash verwenden und Befehle ausführen, die an den FIFO gesendet werden, im folgenden Beispiel:
%Vor%Das kaufmännische Und-Zeichen trennt den Prozess in den Hintergrund. Solange myexec weiter zuhört, wird er weiterhin Befehle ausführen.
Wenn myexec beendet wird, können Sie es in eine while-Schleife einfügen:
%Vor%Nachdem myexec den Inhalt dessen, was im FIFO wartet, konsumiert, wird die Schleife wiederholt. Wenn der Fifo leer ist, wird er warten.
Sie können ein pipe
erstellen und mit tail -f
Beispielinhalt von script.sh
%Vor%Füttern Sie dann mit einem anderen Skript die Pipe
%Vor%erhalten Sie
%Vor%