Java exec viele Argumente

Hallo Leute,

ich steh mal wieder vor einem üblen Problem. Und zwar muss ich es schaffen in einem Javaprogramm folgenden Befehl mittels exec auszuführen:
gpg --batch --passphrase-fd 0 < passbak --yes --sign-key irgendwas@irgendwer.de
Ich bekomms einfach nicht hin. Ich weiß nicht woran es scheitert. Es geht nicht wenn ich ...exec("der ganze befehl") mache. Ich habs auch mal mit einem String-Array mit den Befehlen probiert, also {"gpg", "--batch", ...} probiert, geht auch nicht. Ich weiß schon gar nicht wo die Befehle splitten soll. Bei jedem Leerschritt?!? Kann es sein daß die Eingabeumleitung (<) nicht funktioniert?
Wenn ich nach exec die Befehle per Outputstream hinterherschicke gehts auch nicht, bzw. ich weiß da auch nicht ob jeden Befehl einzeln oder gesammelt oder wie auch immer in den Outputstream schicken soll.
Braucht man eigentlich immer das waitFor() für den Prozess?
Hat irgendwer eine Idee? Ich bin am verzweifeln.

Gruß odigo
 
Kann es sein daß die Eingabeumleitung (<) nicht funktioniert?

Da gehe ich von aus. Die Eingabeumleitung wird doch von der entsprechenden shell durchgeführt denke ich. Auf die schnelle nen dreckiger hack könnte funktionieren:

exec("/bin/sh -s \"gpg --batch --passphrase-fd 0 < passbak --yes --sign-key irgendwas@irgendwer.de\"")

Allerdings nur ne idee, muss in 2 min weg, daher ungepfürft
 
Zurück
Oben