使java程序返回值来调用shell脚本

前端之家收集整理的这篇文章主要介绍了使java程序返回值来调用shell脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Unix大师!

我有一个Java程序,它将一些参数传递给一个Servlet. Servlet将信息输入到一个数据库中,并返回创建的行ID到调用它的java程序. Java程序在Unix shell脚本中运行,后来再调用另一个Java程序Java Program_2(比如说).

我的问题是这样 – 我需要将Java程序中的ID作为参数传递给同一shell脚本中的Java Program_2.有没有最好的做法呢?

事情我到目前为止工作 –

1)使java程序返回与System.exit()的退出代码.这两个问题 – 我如何捕获壳中的变量中的退出代码?这是正确的做法吗?退出代码实际上是为了返回程序的成功参数…

2)将输出写入java Java_Program> opt.txt文件中.如果我这样做,那么如何再次在shell变量中读取opt.txt的内容

非常感谢!

编辑:我实际上应该提到这些程序在不同的机器.我使用脚本进入另一台机器,然后运行java程序2.因此,我不能管这两个.

解决方法

由于你所说的原因,我不建议使用退出状态来携带数据.捕获退出状态取决于您使用的是什么shell,但在Bash中,特殊的$?变量包含执行的最后一个进程的退出状态.

将数据写入stdout是比较惯用的.在Bash中,您可以如下捕获它:

output=$(java Java_Program)

要么:

output=`java Java_Program`

(你会经常听到第一个语法是首选的参数.)

然后,您可以通过以下方式将其提供给您的下一个进程的标准:

echo $output > java Java_Program_2

更简单地说,您可以简单地将流程一起管理:

java Java_Program | java Java_Program_2
原文链接:https://www.f2er.com/java/122182.html

猜你在找的Java相关文章