我正在开发一个web应用程序,其中我使用JSP作为我的前端和shell脚本作为我的后端。因此,我将通过Java程序(业务层)将输入JSP中的参数传递给shell脚本。我想知道如何能够将参数从Java传递到shell脚本并执行相同的操作。谢谢。将参数从Java程序传递到shell脚本
0
A
回答
1
您可以使用ProcessBuilder
将参数传递给shell脚本。
ProcessBuilder pb = new ProcessBuilder("shellscript", "myArg1", "myArg2");
Map<String, String> env = pb.environment();
env.put("VAR1", "myValue");
env.remove("OTHERVAR");
env.put("VAR2", env.get("VAR1") + "suffix");
pb.directory("myDir");
Process p = pb.start();
1
我已经想出了答案,我认为这可能对人有帮助。 请参阅代码
public static BufferedReader process() throws IOException
{
ProcessBuilder pb = new ProcessBuilder("/home/XXXX/Desktop/request.sh","Apple");
String line;
Process process=pb.start();
java.io.InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
while ((line = br.readLine()) != null)
{
System.out.println(line);
}
return br;
}
这里的“苹果”是shell脚本的输入参数,将存储在$ 1(环境变量),这可从shell脚本访问,当有什么需要是从shell脚本发送到Java,从shell脚本回显并从Java中获得process.inputStream()
..
相关问题
- 1. 从Shell脚本传递参数到Python
- 2. 从java程序调用shell脚本并将参数从java传递给shell脚本循环
- 3. 将参数从shell脚本传递到SQL脚本
- 4. 将参数从PHP传递到远程shell脚本
- 5. 将第二个参数从shell脚本传递给Java
- 6. 将参数传递给shell脚本
- 7. 从shell脚本传递参数到java代码
- 8. 从IDL脚本将参数传递给shell脚本
- 9. 传递两个参数到shell脚本
- 10. 如何传递参数到shell脚本
- 11. 将多个参数从shell脚本传递到mysql查询
- 12. 如何使用shell脚本将参数传递给java代码
- 13. 从java代码运行shell脚本并传递参数
- 14. 将图像作为参数从java程序传递到php脚本
- 15. 将命令行参数传递给从C++程序调用的bash shell脚本
- 16. 将shell脚本的参数传递给jython脚本
- 17. 传递参数的shell脚本命令
- 18. shell脚本传递参数的子集
- 19. 如何从shell脚本将参数传递给.sql文件
- 20. 将参数传递给来自C#进程的shell脚本
- 21. 如何将变量从shell脚本传递到期望脚本?
- 22. 无法将变量从shell脚本传递到perl脚本
- 23. 在Unix中将变量从perl脚本传递到shell脚本
- 24. 将命令行参数从powershell脚本传递到python脚本
- 25. 从python传递变量到shell脚本
- 26. 从shell脚本传递变量到applescript
- 27. 从bash传递参数到mysql脚本
- 28. 将参数从本地脚本传递到远程脚本,使用除了
- 29. 如何将整数参数传递给shell脚本,然后将其传递给程序?
- 30. 将参数从shell脚本传递到Python脚本,而无需在命令行上指定参数
与此类似? http://stackoverflow.com/questions/5711084/java-runtime-getruntime-getting-output-from-executing-a-command-line-program – tjg184
使用ProcessBuilder与[命令](http://docs.oracle。 com/javase/1.5.0/docs/api/java/lang/ProcessBuilder.html#command(java.util.List))方法来传递参数。 –