我有一个执行 sqlplus 命令的 shell 脚本 (bash),当我从终端(或 PuTTY 或 Xshell 等 SSH 客户端)运行它时,它运行良好,这意味着我可以读取它的输出。现在我创建了一个 Web 界面,用户可以在其中启动此脚本,但执行失败,因为似乎没有执行相同的 sqlplus。看看我创建的以下简化示例:
测试外壳脚本(test.sh):
echo 1
sqlplus -s SIEBEL/SIEBEL@SBLQA02 @select.sql
echo 2
选择.sql:
select 'a' from dual;
exit;
在终端中生成的输出:
1
'
-
a
2
在 Web 客户端上生成的输出(到目前为止,我尝试将 Ganymed SSH-2 用于 Java 和 sshj,产生相同的结果):
1
2
如您所见,只有简单的 echo 命令生成了输出。sqlplus 输出发生了什么?有什么遗漏吗?
提前感谢您的帮助!