我正在開發一個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))方法來傳遞參數。 –