Java 查找匹配项“时的EOF”';错误
在linux终端中执行以下命令时,它的执行非常完美。但是,当我尝试使用java运行时运行相同的程序时,它会出现以下错误:Java 查找匹配项“时的EOF”';错误,java,linux,runtime,eof,Java,Linux,Runtime,Eof,在linux终端中执行以下命令时,它的执行非常完美。但是,当我尝试使用java运行时运行相同的程序时,它会出现以下错误: sh -c "cd /home/dipankar/NetBeansProjects/TransBench/Hindi;./mat" 请帮助我,我是linux新手 ERROR>/home/dipankar/NetBeansProjects/TransBench/Hindi;./mat": -c: line 0: unexpected EOF while looking
sh -c "cd /home/dipankar/NetBeansProjects/TransBench/Hindi;./mat"
请帮助我,我是linux新手
ERROR>/home/dipankar/NetBeansProjects/TransBench/Hindi;./mat": -c: line 0: unexpected EOF while looking for matching `"'
ERROR>/home/dipankar/NetBeansProjects/TransBench/Hindi;./mat": -c: line 1: syntax error: unexpected end of file
给定标记和症状,我希望您使用的是一个
exec
方法,该方法将命令作为单个字符串
那不行。问题在于,该方法使用一个非常简单的方案将命令字符串“解析”为命令名和参数。它只是在有空格的地方分割字符串。。。忽略任何引用和任何其他shell内容
您需要做的是使用重载,该重载接受一个字符串[]
;e、 g
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("sh -c \"cd /home/dipankar/NetBeansProjects/TransBench/Hindi;./mat\"");
proc.waitFor();
你是如何执行命令的?张贴代码。
....exec(new String[]{
"sh",
"-c",
"cd /home/dipankar/NetBeansProjects/TransBench/Hindi;./mat"
});