Как запустить терминал UNIX с Java и отправить на него команды?



Что касается темы, то ниже приведен код





    Process proc = null;
try {
String[] cmdss= {"gnome-terminal"};


proc = Runtime.getRuntime().exec(cmdss, null, wd);
} catch (IOException e) {
e.printStackTrace();
}




Запускает терминальную форму Ubuntu.



Как я могу выдавать команды в терминал после запуска termnal?



Например: запуск терминала и выполнение команды, такой как" ls " и т. д.

611   1  

1 ответ:

Вы можете дать gnome-terminal некоторые параметры в командной строке, что он должен выполнить.

gnome-terminal -e /my/fortran/program

Опция -x дает вам примерно такое же преимущество, но вы можете разделить командную строку на отдельные слова.

И -e, и -x запускают программу с дополнительными аргументами, подключая стандартный вход и выход программы к терминалу. Таким образом, пользователь может правильно взаимодействовать с терминалом.

Пример:

gnome-terminal -x bash -c "ls; echo '<enter>'; read"

Это откроет терминал и запустит "программа" bash. bash получит два аргумента: -c и ls; echo ....; read. Опция -c делает bash разбором и выполнением следующего аргумента. Это вызовет ls, затем echo ..., затем read, который ожидает ключ возврата.

В Java вы должны разбить аргументы соответствующим образом в массив следующим образом:

String cmd[] = {"gnome-terminal", "-x", "bash", "-c", "ls; echo '<enter>'; read" };

Comments

    Ничего не найдено.