Java 프로그램에서 cmd를 실행할 수있는 명령을 실행하고 싶습니다. 약간의 연구를 한 후에, 나는 이것을 할 방법을 찾았다 고 생각했습니다. 그러나, 내 코드가 작동하지 않습니다.Java 터미널에서 실행할 수있는 명령을 실행하는 방법
내 코드는 프로그램이 실행되지만 출력을 생성하지
import java.io.*;
public class CmdTest {
public static void main(String[] args) throws Exception {
String[] command = {"ag","startTimes conf.js >> pro.txt"};
ProcessBuilder builder = new ProcessBuilder(command);
builder.directory(new File("./test-java/"));
Process p = builder.start();
}
}
이다. "ls -a"와 같은 다른 명령을 사용해 보았지만 여전히 출력이 없습니다.
누구든지 디버깅하거나 더 좋은 방법을 제안 할 수 있습니까? 고마워요
편집 1 : 저는 이것을 Mac에서 실행하고 있습니다. 디버깅에 필요한 경우
편집 2 : 일반적인 ls 및 다른 명령은 사용자가 제공 한 솔루션을 사용하고 있습니다. 그러나 Java 프로그램에서 ag (the_silver_searcher) 명령을 사용하려고합니다. ProcessBuilder
이 있지만
Exception in thread "main" java.io.IOException: Cannot run program "ag startTimes conf.js >> pro.txt": error=2, No such file or directory
Windows 또는 Linux 환경에서 실행 중이십니까? –
@AustinA, Mac에서 실행 중 – Sid