是否有可能从java文件执行shell脚本?

是否有可能从java文件执行shell脚本?

我有一个名为 的 Java 文件app.java,它提取我的应用程序中的服务器。
我需要连接到该列表中的每个服务器并提取日志。在循环中,我必须调用脚本来连接到每台机器。是否可以从java文件调用shell脚本?有什么建议请。

我在这里添加示例:

for (int m = 0; m < AppDetailsN.length(); ++m)
{
    JSONObject AppUsernIP=AppDetailsN.getJSONObject(m));
    Iterator keys = AppUsernIP.keys();

    while(keys.hasNext()) {
        String key = (String)keys.next();
        System.out.println("key:"+key);
        String value = (String)AppUsernIP.get(key);
        System.out.println("value "+value);
        if(key == "user")
            // Store value to user variable
            // [..]  
        if (key == "ip")
            //store value to IP variable 
            // [..]          
    }

    //Here I want to call the script with that username and IP and password 
}

答案1

你可以使用Runtime.exec().这是一个非常简单的例子:

import java.io.*;
import java.util.*;

class Foo {
    public static void main(String[] args) throws Exception {
        // Run command and wait till it's done
        Process p = Runtime.getRuntime().exec("ping -n 3 www.google.de");
        p.waitFor();

        // Grab output and print to display
        BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));

        String line = "";
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
    }
}

相关内容