JSch中的“ shell”通道和“ exec”通道有什么区别
我希望能够将Java应用程序中以字符串表示的许多连续命令发送到SSH服务器以执行。我应该使用:
Channel channel = session.openChannel("shell");
-要么-
Channel channel = session.openChannel("exec");
回答:
使用shell通道启动外壳(在Unix上为sh或bash或类似的东西,在Windows上通常为cmd.exe)并创建控制台(如果在本地运行它们,则在屏幕上看到的内容)。您有一个提示,您可以将其解析或用于检测命令是否完成。
使用命令通道,将为每个命令启动一个shell实例(实际上为每个命令打开一个通道),然后将一个命令作为shell的参数传递(在Windows上看起来像“
cmd.exe / c”)。
使用命令通道更容易,因为您不需要处理命令提示符。
以上是 JSch中的“ shell”通道和“ exec”通道有什么区别 的全部内容, 来源链接: utcz.com/qa/422143.html