Как запустить процесс Java, имеющий стандартную среду оболочки bash? - PullRequest
1 голос
/ 09 сентября 2011

Я пытался заглянуть в построитель процессов, но я не уверен, как включить среду bash в процесс.

Например, для запуска процесса я использую следующее:

Process p = new ProcessBuilder(args).start();
InputStream is = p.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);

И я бы хотел, чтобы моя стандартная оболочка (из / etc / profile, .bashrc и т. Д.) Была получена из процесса.

Извините, если я не использую правильные терминывсе еще изучаю Java.

Заранее благодарим за любую помощь!

Ответы [ 3 ]

3 голосов
/ 09 сентября 2011

Вам необходимо настроить вызов оболочки с помощью ProcessBuilder.Выполните команду как:

/bin/bash -l -c "The entire command line that you want to execute"
0 голосов
/ 06 февраля 2014

Вы можете попробовать,

bash -i -c "your command"

Здесь я обозначаю интерактивный экран, который начнется с выполнения команд, представленных в ~/.bashrc file

0 голосов
/ 09 сентября 2011

Перейдите и получите последний Beanshell .jar файл и поместите его в свой каталог Javasoft / jre / lib / ext.

Затем вы можете запустить сценарии оболочки Java следующим образом:

java bsh.Interpreter myscript.bsh [args]

Или из Java-программы, например:

Object result = new bsh.Interpreter().source("myscript.bsh");

ПРИМЕЧАНИЕ: во втором примере аргументы должны быть установлены отдельно в пространстве имен.

...