Я пытаюсь запустить скрипт оболочки из Java (используя Runtime.getRuntime (). Exec (cmd)).Кажется, что все команды в файле сценария работают нормально, кроме команд angular-cli (ng).
Мой файл Java:
System.out.println("Executing Script...");
final String[] cmd = new String[]{"/bin/bash", "test.sh"};
final Process process = Runtime.getRuntime().exec(cmd);
process.waitFor();
final BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String s;
while ((s = reader.readLine()) != null) {
System.out.println("Script output: " + s);
}
process.destroy();
System.out.println("Script Executed.");
test.sh:
#!/bin/bash
cd ~/ &&
ng new newAngularProject &&
Outout:
Executing Script...
Script Executed.
Нет ошибок.Все остальные команды работают, но по какой-то причине я не могу запустить команды ng.Кроме того, я протестировал файл без запуска из Java - когда я запускаю тот же сценарий непосредственно на консоли, он работает отлично, и все команды (включая команды ng) работают аккуратно.Я работаю на MacOS на случай, если вы захотите узнать.