如何正确地将数据从 bash 脚本传递给 java 应用程序



我试图收集一些关于系统的信息,如内存使用情况和CPU使用情况,并将其传递给负责将其存储到数据库中的java应用程序。

好吧,你走在 bash 脚本末尾调用 java 程序的正确道路上。

我 99.9% 确定您需要调用java -jar而不仅仅是在您的 bash 脚本中java

java Program $perName $systemCpuUsage $systemMemoryUsage $readingTime
java -jar Program $perName $systemCpuUsage $systemMemoryUsage $readingTime

同样在您的主 java 类中,我认为您应该为每个语句调用 a 而不是固定循环。

for(String arg : args)            
{   
     System.out.println(arg);            
}

我唯一能想到的另一件事是你的 bash 脚本有问题,没有正确获取变量。您应该尝试echo出结果,以调试 bash 脚本中的变量应该是什么。

编辑

ArrayIndexOutOfBoundsException意味着你的循环两次很多次。将其替换为 for each 将告诉您传递了多少个变量。当您收到该错误时,这意味着您的 args 数组不够大,并且您试图从数组中不存在的部分获取数据。

相关内容

  • 没有找到相关文章

最新更新