2012-03-23 6 views
0

Windows에서 cygwin까지 실행되는 많은 스크립트가 있습니다.자바에서 스크립트 실행

이 스크립트 파일은 새로운 샌드 박스를 만들 때마다 수동으로 편집해야합니다.

따라서 사용자 UI 설정에 따라 자동으로 스크립트를 편집하는 UI 응용 프로그램 인 Java을 작성하려고합니다.

Java에서 스크립트 파일을 실행하는 것과 관련하여 몇 가지 다른 게시물을 읽었지만 Windows에서 cygwin까지 실행하는 방법에 대해서는 전혀 알지 못했습니다.

나를 대신 할 수있는 이전 게시물에 대해 다른 사람이이 작업을 수행 했습니까?

+0

파일을 편집하거나 스크립트를 실행 하시겠습니까? – Maxpm

+0

스크립트를 실행하려고하는데 UI에서 사용자가 입력 한 설정에 따라 Java 내에서 파일을 편집 할 수 있다고 가정합니다. – user25029

답변

0

경로에 cygwin이 있으면 Java의 다른 외부 프로그램처럼 실행할 수 있습니다.

참고 : 당신은 에있는 실제 코드에서 병렬 스레드에서 스트림을 읽어! 이것은 windows에서 cygwin을 통해 bash 스크립트를 실행하기위한 개념 증명입니다!

Process process = Runtime.getRuntime().exec("bash -c ./script.sh"); 
InputStream inputStream = process.getInputStream(); 
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); 
String line; 
while ((line = bufferedReader.readLine()) != null) { 
    System.out.println(line); 
} 
+0

"Java의 다른 외부 프로그램처럼 실행할 수 있습니다"라고 제안합니다. Windows에서 리눅스 스크립트를 실행할 때 : 1) Cygwin 세션 2)에서 cygwin을 실행하십시오. 2) .cgi/cygdrive/d/....에서 스크립트 파일이있는 곳으로 3) 스크립트를 실행하십시오 ./script ... Windows에서이 명령이 다른 명령처럼 실행되는 것을 볼 수 없습니다. 예 : .exec ("./ script.sh"); 감사합니다. 그레이엄 – user25029

0

당신이 당신의 세션이 Cygwin에서 세션으로 전환 볼 수 있습니다 당신은 다음 Cygwin에서 세션에서 당신이 할 수있는 모든 명령을 실행할 수 있습니다 설치 디렉토리의 Cygwin에서 발견 된 Cygwin.bat 파일을 실행합니다.

경로에 cygwin/bin 디렉토리를 추가하면 Linux 환경과 같은 명령을 직접 실행할 수 있습니다.

제 경우에는 PATH 시스템 변수 C:\cygwin64\bin의 끝에 다음을 추가 했으므로 이제 bash 및 다른 명령을 일반 세션과 직접적으로 실행할 수 있습니다.