package test_cmd_command;import java.io.BufferedReader;import java.io.IOException; import java.io.InputStreamReader;import java.time.LocalDateTime;public class CommandLine {public static String executeCommand(String cliCommand) { String s = null; BufferedReader stdInput = null; BufferedReader stdError = null; String error = ""; String output = ""; try { ProcessBuilder pb1 = new ProcessBuilder( "bash", "-c", cliCommand); pb1.redirectErrorStream(true); Process p = pb1.start(); stdInput = new BufferedReader(new InputStreamReader(p.getInputStream())); stdError = new BufferedReader(new InputStreamReader(p.getErrorStream())); while ((s = stdInput.readLine()) != null) { output += "\n" + s; } //System.out.println("Here is the standard error of the command (if any):\n"); while ((s = stdError.readLine()) != null) { //System.out.println(">> "+s.toString()); error += "\n" + s; } } catch (IOException e) { System.out.println("exception happened - here's what I know: \n" + e.getMessage()); } finally { try { stdInput.close(); stdError.close(); } catch (IOException e) { } } String returnValue = null; if (output != null && error != null) { returnValue = output + "\n" + ": " + error; } else if (output != null) { returnValue = output; } return returnValue;}}“csc -version”正在终端中运行,但不是来自我在 MAC 上的 java 程序。它给出输出"bash Command Not Found"。有什么办法可以解决这个问题....这个程序可以正确运行其他命令,比如javac -version等。我在MAC 上运行这个程序而不是在 windows 上。
1 回答
慕哥9229398
TA贡献1877条经验 获得超6个赞
这对我有用
export PATH=/Library/Frameworks/Mono.framework/Versions/Versions/bin/:${PATH}
我运行这样的命令“export PATH=/Library/Frameworks/Mono.framework/Versions/Versions/bin/:${PATH}; csc -version”并且它工作并返回csc的版本。
添加回答
举报
0/150
提交
取消