如何使用java在不同的机器上执行shell脚本

时间:2010-08-30 08:11:42

标签: java shell

我想在差异机器上从exinst shell脚本(从Windows操作系统到Unix)的java代码示例。请帮助我。

很抱歉我的问题不清楚。我有2个用例来解决这个问题:

案例1:不同的机器

案例2:不同的操作系统(因为第一台机器是Windows 2003服务器操作系统,远程机器是unix)

3 个答案:

答案 0 :(得分:4)

您(可能)想要使用SSH库(我相信JSch很受欢迎)通过Java代码创建到机器的ssh连接,然后只需运行要在其上运行的脚本你正在进入的机器。这假设您要运行的脚本位于远程计算机上。如果它是本地的那么我可能只是在运行它之前先复制它...或者重新编写脚本来自己进行ssh-ing。

答案 1 :(得分:1)

考虑到这类问题,我的参考文献是JavaWorld文章:When runtime.exec won't

答案 2 :(得分:0)

   // Maximize portability by looking up the name of the command to execute
   // in a configuration file. 
   java.util.Properties config;  
   String cmd = config.getProperty("sysloadcmd");
   if (cmd != null) {
  // Execute the command; Process p represents the running command
   Process p = Runtime.getRuntime().exec(cmd);         // Start the command
  InputStream pin = p.getInputStream();               // Read bytes from it
  InputStreamReader cin = new InputStreamReader(pin); // Convert them to chars
  BufferedReader in = new BufferedReader(cin);        // Read lines of chars
  String load = in.readLine();                        // Get the command output
  in.close();                                         // Close the stream

}