JSch用exec方式调用Shell脚本

发布于 2021-11-28 02:58:07 字数 694 浏览 749 评论 1

在xshell中测试脚本执行没有问题,之后用JSch的exec方式调用shell脚本,发现脚本里面查询Oracle数据库里的数据执行不出来结果了,查询语句如下:

OPENDAY=`sqlplus -s /nolog<<EOF

    conn user/pwd@202.108.22.5:1521/sid;

    set heading off

    set feedback off

    set pagesize 0

    set verify off

    set echo off

    set trimout on

    select to_char(openday,'yyyymmdd') from sys_info;

    exit;

EOF`

exho  "--openday=$OPENDAY--">>$LOGPATH

xshell执行log输出为:--openday=20150520--

JSch调用log输出为:--openday=--

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

千笙结 2021-11-28 04:24:03

貌似jsch只能执行shell,不能很好的支持持续的命令,比如解压,查数据这些,因为如果这些命令不是挂起执行的,在用户注销之后就结束了,而连接的时候,命令一执行,马上就拿返回值退出登录了,所以执行以下ls啊,cd啊这样瞬间的命令没有问题,如果是需要时间的,就不好办了,会出现解压解压一般,数据没查出来这些情况,可以睡眠一段时间,就没有问题了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文