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

Schreibe einen Kommentar