从java/Child Shell执行mount命令无法访问已装入的目录

从java/Child Shell执行mount命令无法访问已装入的目录,java,shell,centos,mount,Java,Shell,Centos,Mount,我有一个需要从java代码执行的python脚本。我使用以下命令: ScriptResult result = executor.executeCommand(Script, params.getParams(), false); 但是executeCommand()派生了一个新的shell。我之前运行过mount命令,/mnt/folder1的内容可以从父shell访问,但不能从新分叉的子shell访问 我尝试在executor.executeCommand()步骤

我有一个需要从java代码执行的python脚本。我使用以下命令:

 ScriptResult result = executor.executeCommand(Script,
            params.getParams(), false);
但是executeCommand()派生了一个新的shell。我之前运行过mount命令,/mnt/folder1的内容可以从父shell访问,但不能从新分叉的子shell访问

我尝试在executor.executeCommand()步骤之前使用以下命令执行mount命令:

     String cmd = new String("/bin/mount ip:/folder1 /mnt/folder1");
     Process p = new ProcessBuilder(cmd).start();
而且

    String cmd = new String("mount"); String[] arg = new
    String[]{" ip:/folder1 ,"/mnt/folder1"}; Process pr =
 Runtime.getRuntime().exec(cmd); 
这两者都会导致以下错误:

    java.io.IOException: Cannot run program "mount ip:/folder1 /mnt/folder1":
    error=2, No such file or directory                      
   at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)                      
   at Caused by: java.io.IOException: error=2, No such file or directory
我制作了一个myscript.sh,并将mount命令和python脚本命令复制到myscript中。我通过java代码调用了myscript,它成功了。但是我应该从java代码中调用mount命令,而不是通过单独的脚本。有没有什么办法让我错过了。提前谢谢。

试试换衣服

 String cmd = new String("/bin/mount ip:/folder1 /mnt/folder1");

 Process p = new ProcessBuilder(cmd).start();


谢谢,但我做到了。仍然收到相同的错误。@user3559849格式有点不正确。您能在这里再次检查您是否尝试了后者吗?复制代码和错误时请小心。您的第二个示例没有编译,您得到的错误消息可能看起来很相似,但它们包含非常重要的小差异。在这种情况下,可以看出,这个确切的错误只会是第一次尝试的结果,而不是第二次尝试的结果。
String[] cmd = new String[]{"/bin/mount", "ip:/folder1", "/mnt/folder1"};

Process p = new ProcessBuilder(cmd).start();