簡體   English   中英

將參數從Java程序傳遞到shell腳本

[英]Passing parameters from a Java program to shell script

我正在開發一個Web應用程序,其中我使用JSP作為我的前端和shell腳本作為我的后端。 因此,我將通過Java程序(業務層)將參數從輸入JSP傳遞到shell腳本。 我想知道如何將參數從Java傳遞到shell腳本並執行相同的操作。謝謝。

您可以使用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();

我已經找到了答案,我認為這可能對人們有所幫助。 請參閱代碼

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;

}

這里“Apple”是shell腳本的輸入參數,它將存儲在$ 1(環境變量)中,這可以從shell腳本訪問,當需要從shell腳本發送到Java時,從shell腳本回顯並獲取來自Java中的process.inputStream() ..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM