我正在使用Jsch连接到我的Java代码中的远程计算机。我想在远程机器上执行命令。在Windows上我需要在要执行的命令之前附加"cmd /c"
,但是对于linux,这不是必需的。所以我想知道我通过Jsch连接到哪个操作系统。我想到的一种方法是运行一些简单的Windows特定命令,如果它工作,它是Windows。如果它不是一些其他操作系统。然后我会运行我的实际命令。有办法避免这种情况吗?通过Jsch?
答案 0 :(得分:3)
没有纯科学的方法来做到这一点。但是你可以找到很多启发式方法。曾几何时,我们使用命令pwd
作为第一个命令并解析其输出。它在Unix系统上打印合理的东西,在Windows上打印错误消息。
但是现在我可以建议您使用以下命令:
echo $PATH %PATH%
这适用于所有操作系统。然后,您可以分析它打印的路径。例如,斜杠/
或\
的方向可以告诉您操作系统是什么。