Kann nicht starten Sie die shell-Skript mit Argumenten, die mit Java ProcessBuilder
Ich versuche das ausführen einer shell-Skript mit Kommandozeilen-Argumente mit ProcessBuilder, dieses shell-Skript inturn ruft zwei andere shell-Skripte, verwendet dieses argument. Das erste shell-Skript läuft gut, aber wenn die zweite wird gestartet, es gibt exit-code 1.
ProcessBuilder Ausschnitt aus Java-Programm:
//scenario - A string that holds a numerical value like 1 or 2 etc
String[] command2 = {"/bin/bash", "<path to shell script>/runTemporaryTestSuite.sh", scenario};
ProcessBuilder pb2 = new ProcessBuilder(command2);
Process p2 = pb2.start();
BufferedReader br = new BufferedReader(new InputStreamReader(p2.getInputStream()));
String line;
//print - is an object ref of response.getWriter() //
print.println("Output of running "+Arrays.toString(command2)+" is: ");
while ((line = br.readLine()) != null) {
print.println(line);
}
try {
int exitValue = p2.waitFor();
print.println("<br><br>Exit Value of p2 is " + exitValue);
} catch (InterruptedException e) {
e.printStackTrace();
}
runTemporaryTestSuite.sh
#!/bin/bash
sh <path to script>/clearRegressionResult.sh (This runs fine)
sh <path to script>/startRegression.sh $1 (This is where the issue occurs)
startRegression.sh sieht aus wie:
SUITE_PATH="./"
java -DconfigPath=${SUITE_PATH}/config.xml -Dscenario=$1 -Dauto=true -jar test.jar
Meine Ausgabe:
Ausgabe läuft [/bin/bash, /runTemporaryTestSuite.sh in 29] ist:
Exit-Wert von p2 ist 1
Jede Hilfe bei der Lösung dieses sehr schätzen.
InformationsquelleAutor DigitalDyn | 2013-08-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
In denke, das problem ist nicht, dass Sie nicht starten können shell-Skript mit Argumenten, ich war neugierig und ich habe einen test
hier ist die test.sh Skript
Hier die Ausgabe
Was ich denke ist nur, dass Ihr startRegression.sh Ausfahrt mit einem nicht-0-status (aka scheiterte es irgendwo) und es haben Auswirkung runTemporaryTestSuite.sh auch die Ausfahrt mit einem nicht-null-status, und so weiter, daher die Meldung : Exit-Wert von p2 ist 1
Was sehe ich jetzt,
SUITE_PATH="./"
java -DconfigPath=${SUITE_PATH}/config.xml [..] die configPath werden .//config.xml so haben Sie vielleicht eine Klartext-Datei nicht gefunden Problem? Ich mag falsch liegen, hoffe, es half
InformationsquelleAutor drgn