2016-11-10 31 views
2

Im Versuch, einen Bash-Skript durch node.js mit child_processLauf Bash-Skripte mit Argumenten durch node.js

das Teil zu laufen, die in meinem Bash-Skript nicht funktioniert, wenn ich die Linie bin mit

(echo "PASSWORD"; echo "PASSWORD"; echo "NAME"; echo "ORGANIZATION"; echo "ORGANIZATION"; echo "CIUDAD"; echo "REGION"; echo "PAIS"; echo "yes";echo) |keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 

Grundsätzlich versuche ich, verschiedene Optionen zu beantworten, wenn ich die keytool renne aber seine nicht funktioniert (der Prozess stecken für eine Option zu warten)

In Knoten I

012 leite

Gibt es dafür eine Lösung?

Dank

Antwort

1

Dies wird nicht funktionieren, da jedes Echo geschieht und nur das letzte Echo ist zu Ihrem Programm auch verrohrt.

Die Art, wie ich damit umgehen würde, ist wahrscheinlich mit expect.

Siehe https://linux.die.net/man/1/expect

Auch können Sie die -dname Flag verwenden, um diese Felder zu setzen. Das ist viel sauberer als der Umgang mit den interaktiven Aufforderungen.

"cn = Mark Jones, ou = Java, o = Oracle, c = US"

+0

würden Sie ein bisschen mehr etwas dagegen auszuarbeiten, wie die -dname Flagge zu benutzen? –

Verwandte Themen