gpt4 book ai didi

java - 如何调用 Linux shell 并为其设置 PATH?

转载 作者:太空宇宙 更新时间:2023-11-04 04:11:22 25 4
gpt4 key购买 nike

我想在 LINUX 中打开默认的/或 xterm (任何 Shell),我用 ubuntu 12.xx 做到了这一点,我可以调用 xterm shell,但是当我想设置它的路径时,它说:错误:无法执行/“路径”:没有权限如何设置 xterm 或我在 JAVA 中调用的任何 shell 的路径?

else  {
String path = getCurrentFolderName().toString();
//Runtime r = Runtime.getRuntime();

String[] shellcom = {"xterm", path };
//r.exec(shellcom).waitFor();
Process p ;
ProcessBuilder builder = new ProcessBuilder();
//builder.directory(new File(path));
builder = new Process Builder(shellcom);
p = builder.start();

}
}
catch (IOException e) {
System.err.println(e.toString());
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

最佳答案

您应该在创建ProcessBuilder之后设置目录。以前没有。

        String[] shellcom = {"xterm"};
Process p ;
//builder.directory(new File(path)); // not here.
builder = new ProcessBuilder(shellcom);
builder.directory(new File(path)); // here.
p = builder.start();

另请注意,您不应将路径添加到字符串数组shellcom。如果您这样做,路径将作为参数传递给 xterm,xterm 将假定它是一个应该执行的程序,从而导致错误 xterm: Could not exec/your/path/here: Permission returned

关于java - 如何调用 Linux shell 并为其设置 PATH?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18919291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com