我正在尝试从java运行此脚本shell,但它无效。
我收到此错误消息:
Process exited with an error: 1 (Exit value: 1)
有人可以帮忙吗?
String pwd = "blabla";
String s_key = "0000";
String path = "C:/Files/scripts";
CommandLine commandLine = CommandLine.parse("C:\\Program Files (x86)\\Git\\bin\\git.exe");
commandLine.addArgument("fileName.sh");
commandLine.addArgument(password);
commandLine.addArgument(s_key);
DefaultExecutor defaultExecutor = new DefaultExecutor();
ByteArrayOutputStream sdtout = new ByteArrayOutputStream();
ByteArrayOutputStream sdterr = new ByteArrayOutputStream();
PumpStreamHandler streamHandler = new PumpStreamHandler(sdtout, sdterr);
defaultExecutor.setStreamHandler(streamHandler);
defaultExecutor.execute(commandLine);
这是脚本
#!/bin/sh
pwd=$1
s_key=$2
....
echo $pwd
它适用于git bash
$ ./fileName.sh blabla 0000
nkfjWmiG7dDnYUmjr6VD0A==
答案 0 :(得分:1)
有一些要注意的地方。
%windir%\system32\cmd.exe /c ""C:\Program Files\Git\git-bash.exe" --login -i -- D:\temp\test.sh param1"
public static void main(String[] args) throws IOException { String[] command = {"C:\\\\Program Files\\\\Git\\\\git-bash.exe", "D:\\temp\\test.sh", "param1"}; ProcessBuilder processBuilder = new ProcessBuilder(command); processBuilder.redirectErrorStream(true); processBuilder.start(); }
答案 1 :(得分:0)
您的代码存在一些问题:
git-bash.exe
而不是git.exe