2014-10-21 2 views
2

자바 프로그램에서 작업하고 있는데, 여기서 문자열을 인수로 사용하는 bash 스크립트를 호출해야합니다. 그래서 코드를 작성했습니다 :그 안에 공간이있는 java에서 터미널로 명령을 보냅니다.

Process p = Runtime.getRuntime().exec("./script \"message send\""); 

을하지만 단말기가 따옴표 (") 인식 따옴표 등을, 용어를 참조"메시지가 전송되지 않는 것처럼 보인다 "두 개의 인수로"메시지 "보내, 그래서 스크립트가 제대로 호출되지 않습니다.

사람이 내가 무엇을 할 수 있는지 어떤 생각을 가지고?

+0

'ProcessBuilder'가와에게 명령 것 더 쉬운 . http://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html#ProcessBuilder (java.lang.String ...) – srkavin

답변

2

당신은 ProcessBuilder를 사용하여이 작업을 수행 할 수 있습니다.

ProcessBuilder processBuilder = new ProcessBuilder(); 
p.command("cmd_to_run", "args_if_any"); 
p.start();