Откройте терминал и запустите команду после открытия терминала

Итак, у меня есть сценарий sh, который находится в моей папке «Загрузки». С помощью этого скрипта мне удалось открыть терминал в определенной папке:

String command = "/usr/bin/nome-terminal.wrapper"; 
File workDir = new File("/home/user/Downloads");
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command, null, workDir)

И затем я хотел запустить сценарий после загрузки терминала, поэтому я заменил приведенный выше сценарий следующим образом:

String command= "/usr/bin/nome-terminal.wrapper -e 'myScript.sh; bash'";
File workDir = new File("/home/user/Downloads");
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command, null, workDir)

Но я получаю ошибку: here was an error creating the child process for this terminal. Failed to execute child process “'myScript” (No such file or directory)

Примечание: я не хочу запускать скрипт напрямую. Я хочу, чтобы терминал запускал его

ОБНОВИТЬ

Я пробовал использовать это:

String[] cmdArray = new String[2];
cmdArray[0] = "usr/bin/gnome-terminal.wrapper";
cmdArray[1] = "myScript.sh";

Process process = Runtime.getRuntime().exec(cmdArray, null,new File("/home/user/Downloads"));

но я получаю сообщение об ошибке: java.io.IOException: Cannot run program "usr/bin/gnome-terminal.wrapper" (in directory "/home/user/Downloads"): error=2, No such file or directory, когда он пытается найти исполняемый файл терминала в моей папке загрузок.

ты проверил это stackoverflow.com/questions/15356405/…

pvpkiran 10.08.2018 09:47

@pvpkiran Я пробовал, но все равно не работает. См. Править

plshm 10.08.2018 10:10

@pvpkiran любые идеи, в чем может быть проблема

plshm 10.08.2018 12:07

Вы во всех случаях ошибались при вводе названия /usr/bin/gnome-terminal.wrapper. Вероятно, это не вся проблема, но попробуйте исправить очевидные опечатки. В качестве первого символа используется косая черта, а после последней - g. (Нет необходимости вводить полный путь, если он находится в вашем PATH, как таковой.)

tripleee 25.09.2018 06:27
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
4
376
0

Другие вопросы по теме