当前位置: 首页 > 知识库问答 >
问题:

如何在JSch中执行以下命令

欧君之
2023-03-14

我能够使用Jsch连接shell通道,然后我必须执行后续命令,我已经阅读了下面的帖子通过Jsch Shell执行多个命令

我已经试过了,如下所示

cmd1 ; cmd2 ; cmd3,
cmd1 && cmd2 && cmd3

但是cmd1是UNIX服务器登录脚本,所以即使我用putty给出下面的命令

cmd1 ; cmd2 ; cmd3,

我无法在一个实例中执行所有三个,只有cmd1正在执行,因此也不能使用Jsch。

因为cmd1是用于登录的,所以通常我会在puty中执行cmd1,然后一旦登录到unix服务器,我就会执行cmd2; cmd3;

因此,首先我想执行cmd1,在完成unix服务器登录后,我必须执行所有剩余的脚本/命令。

 First execution :cmd1-Login,
 second execution cmd2;cmd3;

请给我任何解决这个问题的建议。

注意:我也试过下面的方法。

cmd1\ncmd2\ncmd3"

共有1个答案

费凯康
2023-03-14
shellStream.println(command); 
           shellStream.flush();
Thread.sleep(10*4000)

解决了问题,在冲水后添加睡眠后

 类似资料:
  • 我有一个带有两个按钮的swing应用程序,用于运行和停止执行JSch命令。所以我有下一个方法,当我们点击开始按钮时调用: 正如你上面看到的,我们有is取消变量,它是布尔变量,当点击停止按钮时,我们将其设置为false。所以我的问题是当用户点击停止按钮和通道与会话成为断开,zgrep表达式继续工作在服务器上。我认为channel.disconnect()应该停止我在服务器上运行的所有命令,有人能建议

  • 问题内容: 我如何在Java URLConnection中实现以下curl命令 提前致谢 问题答案: 使用URLConnection的派生类(即HttpURLConnection),您可以轻松地做到这一点。 对于

  • 为什么/我的目标: 我有一个由pi组成的小型网状网络,每天大部分时间都在运行脚本。我想取消停机时间,但是代码有时会在连续循环3-4天后停止工作,(有时长达一周,代码才会出现错误并停止)。 每个节点上运行的脚本用“最后签入”字段更新mySQL数据库。 我希望用Java编写一个小型后台程序,它将在我的服务器上无限期运行,时不时地检查每个站点的“最后签入”,如果它注意到一个节点宕机,远程ssh进入该节点

  • 我试图在unix中使用JSCHSSH类(com.jcraft.jsch)执行一些工具。我的工具有一个选择菜单。我需要转到工具所在的文件夹,执行它并选择请求的选项。在每个命令之后,(cd,execute,…)我希望检查输出并检查状态代码(0/1)。我有下面的代码按预期执行它,但在这段代码中,我找不到一种方法来检查每个命令后的输出。 我无法找到一种方法,但我怎么能分开的命令,并打印他们一个接一个(在同

  • 我正在从事一个项目,其中我打算制作一个JavaGUI应用程序,该应用程序连接到ssh服务器并在服务器上执行远程命令。我愿意使用JSch库。我的目标是制作按钮和文本字段,让用户能够轻松发送命令和获得回复。我的意思是,用户不会打开xShell并提示“grep”hi“/usr/file.txt”,而是从列表中选择路径,在文本字段中输入“hi”,然后按下grep按钮。 问题是,我找不到一个在一个会话中执行