Так что я хочу, чтобы выполнить ш скрипт из Javaвыполнения Exec ш не делает ничего
Код:
String command = "/__data/1.sh";
ProcessBuilder pb = new ProcessBuilder("/bin/bash", "-c", command);
Process p = null;
try {
p = pb.start();
} catch (IOException e) {
System.out.println("Could not execute script");
}
BufferedReader reader = new BufferedReader(new InputStreamReader(
p.getInputStream()));
try {
String line = null;
while ((line = reader.readLine()) != null) {
System.out.println(command + " says: " + line);
}
} catch (IOException e) {
System.out.println("Error reading response");
}
1.sh:
echo Hello
mkdir QWE
echo Hello2
Что я получил:
/__data/1.sh says: Hello
/__data/1.sh says: Hello2
Mkdir не действует
1.sh chmodded to 777
В чем проблема?
UPD: О, моя вина, забыли линию, теперь отредактированную. Но главный вопрос в том, почему другие команды не работают. Да, как mkdir. Когда я звоню/bin/bash -c /__data/1.sh с консоли, он отлично работает
UPD: О, кажется, mkdir не работает должным образом, потому что я не установил полный путь. Сожалею. Решено
Что происходит, когда вы запускаете '/ bin/bash -c/__ data/1.sh'? –