如何启动具有标准bash shell环境的java进程?

时间:2011-09-08 21:13:59

标签: java bash shell process environment

我已经尝试过查看流程构建器,但我不确定如何将bash环境导入流程。

例如,我正在使用以下内容启动我的流程:

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

我希望我的标准shell环境(来自/ etc / profile,.bashrc等)来源于该过程。

很抱歉,如果我没有使用正确的条款 - 仍在学习java。

提前感谢您的帮助!

3 个答案:

答案 0 :(得分:3)

您需要使用ProcessBuilder设置shell调用。执行如下命令:

/bin/bash -l -c "The entire command line that you want to execute"

答案 1 :(得分:0)

转到并获取最新的Beanshell .jar文件并将其放入Javasoft / jre / lib / ext目录中。

然后,您可以像这样运行Java shell脚本:

java bsh.Interpreter myscript.bsh [args]

或者,从像这样的Java程序中:

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

注意:在第二个示例中,需要在命名空间中单独设置args。

答案 2 :(得分:0)

你可以尝试,

bash -i -c "your command"

这里我代表交互式屏幕,它将通过执行~/.bashrc file

中的命令开始