gpt4 book ai didi

java - 无法使用 java 进程执行器执行单元脚本

转载 作者:太空宇宙 更新时间:2023-11-04 12:52:31 25 4
gpt4 key购买 nike

我正在尝试使用 java 进程执行器运行 shell 脚本。当我将它用于 PING 命令时它对我来说工作正常,但是无法对 DUMP 命令产生任何影响。这是我正在尝试的代码。

  import java.io.BufferedReader;
import java.io.InputStreamReader;

public class ExecuteShellComand {

public static void main(String[] args) {

ExecuteShellComand obj = new ExecuteShellComand();

String domainName = "www.google.com";
String command1 = "ping -c 3 " + domainName;
String command = "pg_dump -U kalculate Kalculate_4.1_final -f testfinal11.sql";
String output = obj.executeCommand(command1);
obj.executeCommand(command);
System.out.println(output);

}

private String executeCommand(String command) {

StringBuffer output = new StringBuffer();

Process p;
try {
p = Runtime.getRuntime().exec(command);
p.waitFor();
BufferedReader reader =
new BufferedReader(new InputStreamReader(p.getInputStream()));

String line = "";
while ((line = reader.readLine())!= null) {
output.append(line + "\n");
}

} catch (Exception e) {
e.printStackTrace();
}

return output.toString();

}

}

此处 obj.executeCommand(command); 没有产生任何影响。任何帮助都将不胜感激。

最佳答案

我认为您必须将参数分隔成单独的变量或字符串。

例子:

来自:

String command1 = "ping -c 3 " + domainName;  
String command = "pg_dump -U kalculate Kalculate_4.1_final -f testfinal11.sql";
String output = obj.executeCommand(command1);

收件人:

String command1 = "ping";  
String parameter01 = "-c";
String parameter02 = "3";
String output = obj.executeCommand(command1, parameter01, parameter02, domainName);

关于java - 无法使用 java 进程执行器执行单元脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36733764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com