JSch在一个会话中执行多个linux命令

问题描述:

我正在研究一个项目,我打算创建一个连接到ssh服务器并在服务器上执行远程命令的Java GUI应用程序。我愿意使用JSch库。我的目标是制作按钮和文本框,这些按钮和文本框将为用户提供发送命令和轻松获得回复的能力。我的意思是,不是打开xShell并提示“grep”hi“/usr/file.txt”,用户将从列表中选择路径并在文本字段中输入“hi”,并按下grep按钮。JSch在一个会话中执行多个linux命令

问题是,我找不到解决方案在一个会话中执行多个linux命令(我不想shell如果我不能重定向它的输入和输出流)(我也不想要解决方案“cd .. \ n dir \ n ls -l“,它可以正常工作,但不能解决我的问题)将这些参数从相关的GUI组件中发送出去。

因为我没有在JSch的示例代码做了这么多的修改,但是,你可以在这里看到的代码:从现在开始http://www.jcraft.com/jsch/examples/Exec.java.html

感谢。

+0

'shell'是要走的路。 –

+0

@ScaryWombat嗨,我可以重定向shell的输入和输出流到我的GUI组件,然后?如果是的话,怎么样?从现在开始感谢。 – orhan7

+0

我不确定是否可以直接执行,但重定向到字符串,然后从字符串更新GUI很容易 –

如果使用exec型通道可以用& &结合命令:

channel.setCommand(". ./.profile && env");