我试图在gitbash上一个接一个地获取一系列命令。我可以通过代码打开终端,但在那之后没有成功地输入任何东西。例如,这是我尝试的代码
String [] args = new String[] {"C:\\Program Files\\Git\\git-bash.exe"};
String something="hi how are you doing";
try {
ProcessBuilder p = new ProcessBuilder();
var proc = p.command(args).start();
var w = new BufferedWriter(new OutputStreamWriter(proc.getOutputStream()));
w.write(something);
} catch (IOException ioException){
System.out.println(ioException);
}
请让我们知道如何通过代码将一系列命令输入gitbash。
1条答案
按热度按时间4jb9z9bj1#
问题是命令
git-bash.exe
打开终端窗口,但窗口的输入仍然是键盘,因此尝试写入OutputStream
方法返回的getOutputStream()
,在课堂上Process
什么都不做。参考这个问题。作为替代,我建议使用
ProcessBuilder
执行一系列单独的git
命令。当您这样做时,您的java代码将获得命令输出。下面是一个简单的示例,显示
git
版本。当您运行上述代码时
git
版本详细信息将写入System.out
.另外,如果
git
命令失败,错误详细信息将写入System.err
.你需要为每个人重复上面的代码
git
你需要发出的命令。