Я запускаю простой сценарий оболочки из java-программы на терминале cygwin, который работает нормально, но когда я передаю другой сценарий оболочки, который принимает 2 аргумента, возвращается с кодом выхода 255. Тот же сценарий оболочки прекрасно выполняется на терминале cygwin без javaprogram.
Команда, используемая на терминале cygwin: /cygdrive/c/Users/MYNAME/Documents/abcScript.sh -u "username" -p "password123"
Java-программа:
Процесс proc = Runtime.getRuntime (). Exec (new String [] {"C: \ cygwin64 \ bin \ bash.exe", "-c", "cd / bin /; abcScript.sh -u 'username'-p' пароль123 '"}, новая строка [] {" PATH = / cygdrive / c / cygwin64 / bin "});
StringBuilder output=new StringBuilder();
BufferedReader reader=new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line;
while((line=reader.readLine())!=null){
output.append(line+"\n");
}
int exitVal=proc.waitFor();
System.out.println(exitVal);
if(exitVal==0){
System.out.println("Success");
System.out.println(output);
System.exit(0);
}
else{
System.out.println("failed");
}
System.out.println(proc);
}