Runtime 클래스를 사용하여 Cygwin을 실행하십시오. 이것은 매우 부서지기 쉬운, 당신의 설정에 따라 다릅니다 만, 내 컴퓨터에서 나는 할 것이다 :
Runtime r = Runtime.getRuntime();
Process p = r.exec("C:\\dev\\cygwin\\bin\\mintty.exe --exec /cygpath/to/foo.sh");
Process 완료, 그것은 표준 출력에 전송 된 것을 볼의 InputStream 객체의 핸들을 얻을 때까지 기다립니다와 stderror.
명령의 첫 번째 부분은 cygwin을 실행하고 두 번째 부분은 일부 스크립트 또는 명령 (-e
또는 --exec
사용)을 실행하는 것입니다. DOS 프롬프트에서이 명령을 테스트하여 코드를 자르기 전에 먼저 작동하는지 확인합니다. 또한, 수행하여 사용할 수있는 옵션을 살펴보고 : 또한
C:\dev\cygwin\bin\mintty.exe --help
을 DOS 프롬프트 내에서.
편집 :이 --exec
작업을 얻이 수없는 것 나를 위해 다음 작품은, 불행하게도 버전 정보
public class RuntimeFun {
public static void main(String[] args) throws Exception {
Runtime r = Runtime.getRuntime();
Process p = r.exec("C:\\dev\\cygwin\\bin\\mintty.exe --version");
p.waitFor();
BufferedReader buf = new BufferedReader(
new InputStreamReader(
p.getInputStream()));
String line = buf.readLine();
while (line != null) {
System.out.println(line);
line = buf.readLine();
}
}
}
를 인쇄하려면, 그래서 당신은 거기에 몇 가지 더 많은 연구를해야 할 것입니다.
출처
2012-03-23 15:40:39
Jon
내 cygwin에 mintty.exe가 없습니다 ... – dhroove
그런 다음 해당 버전을 찾으십시오. 바탕 화면에서 Cygwin 바로 가기의 속성을 검사하는 데 1 분이 걸렸습니다. 이것이 내가이 접근법이 "취성"이라고 말한 이유입니다. 개별 기계 설정에 크게 의존합니다. – Jon