Pipe zur ausführbaren Datei, ohne / EOF in bash zu beenden

8

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?

    
kd88 25.03.2013, 14:27
quelle

4 Antworten

5

Sie können die gekennzeichnet sind, automatisieren. Zum Beispiel:

%Vor%     
pynexj 25.03.2013, 14:50
quelle
5

Sie können cat dafür verwenden:

%Vor%     
chepner 25.03.2013 16:42
quelle
0

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.

    
andy magoon 25.03.2013 15:01
quelle
0

Sie können ein pipe erstellen und mit tail -f

auf Eingaben warten %Vor%

Beispielinhalt von script.sh

%Vor%

Füttern Sie dann mit einem anderen Skript die Pipe

%Vor%

erhalten Sie

%Vor%     
Davide Berra 25.03.2013 14:50
quelle

Tags und Links