Я хотел бы, чтобы мой код вызывал один из двух доступных сценариев оболочки и выполнял некоторые команды, выходные данные которых будут напечатаны в файле .txt
.
Пока мне удалось этого добиться(вызывая первый скрипт), но когда я пытаюсь вызвать второй скрипт, терминал не открывается и выходные данные команд не добавляются в файл .txt
.
Мой код выглядит следующим образом:
File file = new File("res/script1.sh");
String absolutePath = file.getAbsolutePath();
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("open -a Terminal "+absolutePath);
После этого выполнения файл .txt
содержит фразу "Hello World".
Моя первая попытка состояла в том, чтобы просто изменить /script1.sh
на /script2.sh
, как я думал во второмдобавит другой "Hellow World" во вторую строку файла .txt
.Это не работает, так как содержимое файла остается неизменным, а терминал даже не открывается в отличие от первого случая.
Я также попытался продублировать код для двух сценариев и выполнить один илидругое основано на вводимом значении i==1
или i==2
, но безуспешно.
Есть мысли, почему я не могу заставить работать второй скрипт, даже если он идентичен первому?
Код моего скрипта
#!/bin/sh
cd "$(dirname "$0")"
echo Hello World >> output.txt
exit