我已经尝试过查看流程构建器,但我不确定如何将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。
提前感谢您的帮助!
答案 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