【问题标题】:Running KornShell Script with JSCH [duplicate]使用 JSCH 运行 KornShell 脚本 [重复]
【发布时间】:2018-12-28 22:35:39
【问题描述】:

当我尝试通过 JSCH 运行 shell 脚本时,它在尝试调用“sqlplus”时给了我一个错误。它将运行 shell 命令并且一切正常,但是当脚本尝试使用 sqlplus 时,它会停止并且无法工作。 JSCH有什么原因吗?

脚本将一直运行,直到它调用 sqlplus 命令。它给出的唯一错误是:

sqlplus:未找到

与此发生的行号。这是 JSCH 无法在脚本中运行命令的问题吗?还是我错过了需要在频道中设置的内容?

编辑:进一步测试,它实际上甚至不能在脚本之外运行 sqlplus。

【问题讨论】:

  • 您遇到的实际错误可能非常重要,因此请将其添加到问题中
  • 谢谢朋友。错误只是“sqlplus:未找到”

标签: java sqlplus jsch


【解决方案1】:

您使用 JSCH 登录的用户的路径中没有 sqlplus,因此 shell 无法找到二进制文件。

这不是 Korn Shell 问题,而是环境问题。您必须通过指定磁盘上的完整路径来运行 sqlplus,例如 /path/to/sqlplus <arguments>,或者将 sqlplus 添加到您登录的用户的环境变量 $PATH

如果您的脚本应该是可移植的,那么通常的做法是不对二进制路径进行硬编码,而是通过一系列测试来查看二进制文件的位置,检查二进制文件的所有常见位置并查看如果它在路上。找到后,将该绝对路径设置为某个变量,然后在需要在脚本中运行该二进制文件时使用该变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-20
    • 2018-02-05
    • 1970-01-01
    • 2011-07-16
    • 2014-05-30
    • 2011-10-01
    • 1970-01-01
    • 2012-09-17
    相关资源
    最近更新 更多