Wie spuckt man die Ausgabe in Backticks in Perl?

7

Wenn ich diese Perl-App habe:

%Vor%

druckt einen Haufen Zeug und dauert sehr lange. Wie kann ich diese Ausgabe mitten in der Ausführung des Shell-Skripts drucken?

Sieht aus wie Perl nur das someshellscript.sh Ergebnis drucken, wenn es abgeschlossen ist, ist es eine Möglichkeit, Ausgang bündig in der Mitte der Ausführung zu machen?

    
Ville M 17.04.2009, 00:40
quelle

2 Antworten

16

Was Sie wahrscheinlich tun möchten, ist ungefähr so:

%Vor%

Dies führt someshellscript.sh aus und öffnet eine Pipe, die ihre Ausgabe liest. Die while -Schleife liest jede vom Skript erzeugte Ausgabezeile und gibt sie aus. Weitere Informationen finden Sie auf der Dokumentationsseite .

    
Greg Hewgill 17.04.2009, 00:47
quelle
3

Das Problem hierbei ist, dass beim Entkommen mit Backticks das Skript in einem String gespeichert wird, den Sie dann ausdrucken. Aus diesem Grund gibt es keine Möglichkeit, mit dem Drucken zu "flushen".

Wenn Sie den Befehl system () verwenden, sollte die Ausgabe fortlaufend gedruckt werden, aber Sie können die Ausgabe nicht erfassen:

%Vor%     
Stefan Kendall 17.04.2009 00:46
quelle

Tags und Links