Как запустить терминал 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 " и т. д.
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