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"});
现在,PHP 命令将按预期使用参数 -m 2 执行。
另一个使用选项数组使用 exec() 方法的尝试也失败了:
String[] options = new String[]{"option1", "option2"}; Runtime.getRuntime().exec("command", options);
此代码失败的原因是参数没有正确分隔。命令本身指定为字符串,选项数组包含其他参数。要使用这些参数执行命令,需要将它们连接成单个字符串。
例如,要使用选项“option1”和“option2”执行命令“command”,可以使用以下代码:
Runtime.getRuntime().exec(new String[]{"command", "option1", "option2"});
通过遵循正确的语法和参数分离,可以有效地利用 exec() 方法来执行 Java 中带参数的命令。
以上是Java执行命令时如何有效传递参数?的详细内容。更多信息请关注PHP中文网其他相关文章!