2012-07-12 7 views
2

java에서 여러 개의 셸을 실행하는 방법을 찾고있었습니다. I에 유래에서 이것을 발견하지만, 세션 당 하나의 명령 셸 실행 만하는 데 도움이 :자바에서 다중 명령 셸 실행

try { 
     // Execute command 
     String command = "ls -la"; 
     StringBuffer ret=new StringBuffer(); 
     Process p = Runtime.getRuntime().exec(command); 

     // Get the input stream and read from it 
     InputStream in = child.getInputStream(); 
     int c; 
     while ((c = in.read()) != -1) { 
     ret.append((char)c); 
     } 
     in.close(); 
     System.out.println(ret.toString()); 
    } catch (IOException e) { 
    e.printStackTrace(); 
    } 

위의 코드를 사용하여 동일한 세션에서 여러 명령을 실행하는 어쨌든 거기를?

+0

당신이 의미하는 어떤 세션? – adranale

답변

0

for-loop 안에이 코드를 쉽게 쓸 수 있습니다.

0

아마도 쉘 스크립트에서 명령을 그룹화하고 실행할 수 있습니다.

0

일련의 명령과 함께 실행 가능한 셸 스크립트 또는 bat 파일을 작성하고 하나의 명령으로 실행할 수 있습니다.

0

첫 번째로 Runtime.exec()을 사용하는 방법이 아닙니다. 첫 번째 매개 변수는 이고 다른 매개 변수는 해당 실행 파일의 매개 변수입니다.

지금 당장 귀하의 코드는 문자 그대로 "ls -la"이라는 파일을 실행하려고 시도하고 있습니다. 물론 이것은 존재하지 않습니다.

이에 코드를 변경

:

String[] command = {"ls", "-la"}; // Use an array 
Runtime.getRuntime().exec(command); 
+0

답장을 보내 주셔서 감사합니다. 어쨌든 몇 가지 셸 명령 호출을 사용합니까? – Mas