我正在开发一个项目,我打算在其中创建一个Java GUI应用程序,该应用程序连接到ssh服务器并在服务器上执行远程命令。我愿意使用JSch Library。我的目标是制作按钮和文本字段,使用户能够轻松发送命令和获得回复。我的意思是,用户不是打开xShell并提示“grep”hi“/usr/file.txt”,而是从列表中选择路径并在文本字段中输入“hi”并按下grep按钮。
问题是,我找不到在一个会话中执行多个linux命令的解决方案(如果我不能重定向其输入和输出流,我不想要shell)(我也不希望解决方案“cd。 。\ n dir \ n ls -l“哪个工作正常但没有解决我的问题”发送那些应从相关GUI组件中获取的参数。
由于我没有对JSch的示例代码进行过如此多的修改,你可以在这里看到代码:http://www.jcraft.com/jsch/examples/Exec.java.html
谢谢你们。
答案 0 :(得分:0)
如果使用exec
类型的频道,您可以将命令与&&组合使用:
channel.setCommand(". ./.profile && env");