Java에서는 Runtime.getRuntime().exec() 메서드를 통해 매개변수가 있는 명령을 실행할 수 있습니다. 그러나 매개변수를 효과적으로 지정할 때 고려해야 할 몇 가지 미묘한 차이가 있습니다.
다음 코드는 매개변수를 사용하여 PHP 명령을 실행하려고 시도하지만 작동하지 않습니다.
Process p = Runtime.getRuntime().exec(new String[]{"php","/var/www/script.php -m 2"});
여기서 문제는 매개변수가 명령에 전달되는 방식에 있습니다. -m 매개변수는 아래와 같이 별도의 인수로 지정해야 합니다.
Runtime.getRuntime().exec(new String[]{"php","/var/www/script.php", "-m", "2"});
이제 의도한 대로 -m 2 매개변수를 사용하여 PHP 명령이 실행됩니다.
옵션 배열과 함께 exec() 메소드를 사용하려는 또 다른 시도도 실패했습니다.
String[] options = new String[]{"option1", "option2"}; Runtime.getRuntime().exec("command", options);
이 코드가 실패한 이유는 매개변수가 제대로 분리되지 않았기 때문입니다. 명령 자체는 문자열로 지정되며 옵션 배열에는 추가 매개변수가 포함됩니다. 이러한 매개변수를 사용하여 명령을 실행하려면 단일 문자열로 연결해야 합니다.
예를 들어 "option1" 및 "option2" 옵션을 사용하여 "command" 명령을 실행하려면 다음 코드를 사용할 수 있습니다. :
Runtime.getRuntime().exec(new String[]{"command", "option1", "option2"});
적절한 구문을 준수하고 매개변수를 분리함으로써 Java에서 매개변수가 포함된 명령을 실행하는 데 exec() 메소드를 효과적으로 활용할 수 있습니다.
위 내용은 Java에서 명령을 실행할 때 매개변수를 효과적으로 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!