Java 未能执行子进程“';scriptName.sh”;(无此类文件或目录)
在我执行这行代码之后,我得到了上面的错误。我的脚本位于桌面文件夹中。我已尝试添加./startDemonstrator和完整路径。我总是得到上面的错误。原因可能是什么 打开终端后,我正在尝试打开一个sh脚本。请先尝试以下操作:-Java 未能执行子进程“';scriptName.sh”;(无此类文件或目录),java,shell,terminal,process,runtime,Java,Shell,Terminal,Process,Runtime,在我执行这行代码之后,我得到了上面的错误。我的脚本位于桌面文件夹中。我已尝试添加./startDemonstrator和完整路径。我总是得到上面的错误。原因可能是什么 打开终端后,我正在尝试打开一个sh脚本。请先尝试以下操作:- String command= "/usr/bin/gnome-terminal.wrapper -e 'startDemonstrator.sh; bash'"; File workDir = new File("/home/malju/Desktop"); Proc
String command= "/usr/bin/gnome-terminal.wrapper -e 'startDemonstrator.sh; bash'";
File workDir = new File("/home/malju/Desktop");
Process pr = Runtime.getRuntime().exec(command, null, workDir);
如果仍然无法工作,请使用ProcessBuilder尝试以下方法
String command= "/home/malju/Desktop/startDemonstrator.sh";
Process pr = Runtime.getRuntime().exec(command);
p.waitFor();
请提供您用于手动执行的命令。它是否像
/usr/bin/gnome-terminal.wrapper-e'startDemonstrator.sh;bash'
@AbhijitPritamDutta你是说当我用终端打开它时?我只需转到dekstop文件夹并在那里打开终端,然后输入:./startDemonstrator.shit仍然无法工作。。。。“无法执行子进程”/home/malju/Desktop/startDemonstrator.sh;“(没有这样的文件或目录)”@kokos123,我已经修改了答案。现在try@Abijit我不想直接给scirpt打电话。我想打开终端,在终端打开后,我想在我的工作目录中执行scirpt
String result = "";
String[] command = {"/home/malju/Desktop/startDemonstrator.sh"};
ProcessBuilder process = new ProcessBuilder(command);
Process p ;
try {
p = process.start();
InputStream is = p.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader reader = new BufferedReader(isr);
StringBuilder builder = new StringBuilder();
String line = null;
while ( (line = reader.readLine()) != null) {
builder.append(line);
builder.append(System.getProperty("line.separator"));
}
result = builder.toString();
}
catch (IOException e)
{ System.out.print("error");
e.printStackTrace();
}