加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:32:51 所属栏目:Java 来源:网络整理
导读:Unix大师! 我有一个Java程序,它将一些参数传递给一个Servlet. Servlet将信息输入到一个数据库中,并返回创建的行ID到调用它的java程序. Java程序在Unix shell脚本中运行,后来再调用另一个Java程序Java Program_2(比如说). 我的问题是这样 – 我需要将Java程
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读