JSch用exec方式调用Shell脚本
在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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
貌似jsch只能执行shell,不能很好的支持持续的命令,比如解压,查数据这些,因为如果这些命令不是挂起执行的,在用户注销之后就结束了,而连接的时候,命令一执行,马上就拿返回值退出登录了,所以执行以下ls啊,cd啊这样瞬间的命令没有问题,如果是需要时间的,就不好办了,会出现解压解压一般,数据没查出来这些情况,可以睡眠一段时间,就没有问题了