Ich habe ein Befehlszeilen-Dienstprogramm von einer dritten Partei (es ist groß und in Java geschrieben), die ich verwendet habe, um mir zu helfen, einige Daten zu verarbeiten. Dieses Dienstprogramm erwartet Informationen in einer Datei mit Zeilenbegrenzung und gibt dann verarbeitete Daten an STDOUT aus.Gibt es eine Möglichkeit, stdin/out anstelle einer Datei zu einem Programm in Unix zu liefern?
In meinen Testphasen ging es mir gut, etwas Perl zu schreiben, um eine Datei voller Informationen zu erstellen und diese Datei an dieses Drittanbieter-Dienstprogramm zu senden, aber als ich diesen Code in Produktion bringe, würde ich würde es wirklich bevorzugen, Daten direkt an dieses Dienstprogramm zu leiten, anstatt zuerst diese Daten in eine Datei zu schreiben, da dies mir den Aufwand ersparen würde, nicht benötigte Informationen auf die Festplatte zu schreiben. Gibt es eine Möglichkeit, dies in Unix zu tun?
Zur Zeit nenne ich das Dienstprogramm wie folgt:
bin/someapp do-action --option1 some_value --input some_file
ich, wie etwas tun möchte:
bin/someapp do-action --option1 some_value --input $piped_in_data
alles ist wie das möglich, ohne meine den Dritten zu modifizieren App?
Es gibt eine viel umfassendere Antwort auf StackExchange, siehe. –
weynhamz