通过Java中的Jsch查找远程操作系统名称

时间:2014-06-24 06:36:21

标签: java ssh jsch remote-connection

我正在使用Jsch连接到我的Java代码中的远程计算机。我想在远程机器上执行命令。在Windows上我需要在要执行的命令之前附加"cmd /c",但是对于linux,这不是必需的。所以我想知道我通过Jsch连接到哪个操作系统。我想到的一种方法是运行一些简单的Windows特定命令,如果它工作,它是Windows。如果它不是一些其他操作系统。然后我会运行我的实际命令。有办法避免这种情况吗?通过Jsch?

通过SSH独立执行命令OS的其他方法

1 个答案:

答案 0 :(得分:3)

没有纯科学的方法来做到这一点。但是你可以找到很多启发式方法。曾几何时,我们使用命令pwd作为第一个命令并解析其输出。它在Unix系统上打印合理的东西,在Windows上打印错误消息。

但是现在我可以建议您使用以下命令:

echo $PATH %PATH%

这适用于所有操作系统。然后,您可以分析它打印的路径。例如,斜杠/\的方向可以告诉您操作系统是什么。