2014-06-24 4 views
1

Jsch을 사용하여 Java 코드에서 원격 시스템에 연결합니다. 원격 컴퓨터에서 명령을 실행하고 싶습니다. Windows에서 명령을 실행하기 전에 "cmd /c"을 추가해야하지만 Linux에서는이 작업이 필요하지 않습니다. 그래서 나는 Jsch를 통해 어느 OS에 접속했는지 알고 싶다. 내 마음에 오는 한 가지 방법은 몇 가지 간단한 Windows 특정 명령을 실행하는 경우 그것이 창문입니다. 그렇지 않은 경우 다른 OS입니다. 그리고 나서 나는 실제 명령을 실행할 것입니다. 이것을 피할 수있는 방법이 있습니까? Jsch를 통해 SSH를 통해 독립적으로 OS 명령을 실행하는 다른 방법은 있습니까?Java의 Jsch를 통해 원격 OS 이름 찾기

+1

나는'/ bin/uname'을 실행하려고합니다. 분명히 원격 Windows 컴퓨터에서 작동하지 않을 수도 있습니다. 로컬에서는'System.getProperty ("os.name")' –

답변

3

이렇게하는 순수한 과학적 방법은 없습니다. 그러나 당신은 많은 경험을 발견 할 수 있습니다. 옛날 옛날에는 명령 pwd을 첫 번째 명령으로 사용하여 출력을 분석했습니다. Unix 시스템에서는 합리적인 것을, Windows에서는 에러 메시지를 출력합니다.

그러나 지금은 다음과 같은 명령을 사용하여 제안 할 수 있습니다 :이 모든 운영 체제에서 작동합니다

echo $PATH %PATH%

. 그런 다음 인쇄하는 경로를 분석 할 수 있습니다. 예를 들어, 슬래시 방향 / 또는 \은 어떤 OS인지 알려줍니다.