java调用带shell,带有一个参数,并且返回打印shel脚本的执行结果
时间: 2024-04-15 18:28:44 浏览: 19
您可以使用Java的`ProcessBuilder`类来调用带有一个参数的shell脚本,并返回其执行结果。以下是示例代码:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ShellCommandExample {
public static void main(String[] args) {
String command = "your_shell_command";
String argument = "arg1";
try {
ProcessBuilder processBuilder = new ProcessBuilder(command, argument);
Process process = processBuilder.start();
// 读取shell脚本的输出结果
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待shell脚本执行完毕
int exitCode = process.waitFor();
System.out.println("Shell命令执行完毕!退出码:" + exitCode);
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}
```
请将`your_shell_command`替换为您要执行的实际shell命令,`arg1`替换为您要传递的参数。在上述代码中,我们通过`ProcessBuilder`启动了一个新的进程,并通过`BufferedReader`读取了shell脚本的输出结果。最后,我们使用`waitFor`方法等待shell脚本执行完毕,并获取其退出码。
希望这个示例能够满足您的需求!如有任何疑问,请随时提问。