Java processbuilder运行cygiwn命令
尝试使用processbuilder从java代码编写代码以运行cygwin命令。不知道怎么了。请帮帮我,提前谢谢 以下代码Java processbuilder运行cygiwn命令,java,cmd,cygwin,sh,processbuilder,Java,Cmd,Cygwin,Sh,Processbuilder,尝试使用processbuilder从java代码编写代码以运行cygwin命令。不知道怎么了。请帮帮我,提前谢谢 以下代码 import java.io.*; public class test_6 { public static void main(String[] args) throws Exception { ProcessBuilder buildercmd = new ProcessBuilder( "cmd.exe", "/c",
import java.io.*;
public class test_6 {
public static void main(String[] args) throws Exception {
ProcessBuilder buildercmd = new ProcessBuilder(
"cmd.exe", "/c", "cd \"D:\\csi\" && dir" +
"&& dir");
ProcessBuilder buildercygwin = new ProcessBuilder(
"D:/app/Cygwin/bin/bash", "-c", "cd /cygdrive/D/csi/ && dir" +
"&& ls -l");
buildercygwin.redirectErrorStream(true);
Process p = buildercygwin.start();
BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while (true) {
line = r.readLine();
if (line == null) { break; }
System.out.println(line);
}
}
}
正如您在我的代码中看到的,它使用cmd工作,但由于某些原因,它不能使用cygwin
我得到以下输出:
/usr/bin/bash: dir: command not found
尝试使用
dir
=>D:/app/Cygwin/bin/dir
cygwin有一个dir.exe,对于windows版本,它是一个内部命令。资料来源:
可能是相关的:你认为我必须为cygwin home设置环境变量吗?它不起作用,我添加了环境变量…我尝试了,'D:/app/cygwin/bin/dir',但仍然得到相同的错误'/usr/bin/dir:无法访问cd/cygdrive/D/csi/&dir&&ls-l:没有这样的文件或目录'谢谢你的帮助..嗨,这是一条不同的错误消息:
usr/bin/dir:无法访问cd/cygdrive/D/csi/
,因此您的dir
命令正常/已找到,这是路径的另一个问题