有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

并非所有unix shell的java命令都在运行

我正在编写一个向unix shell发送命令的应用程序

我从来没有在发出cp和chmod命令(据我所知)时遇到过任何问题,但出于某种原因,mv命令实际上不会移动我指定的文件

我的代码可以按如下方式显示:

    import java.io.IOException;
    public class ExecuteCommand {   
        public static void main(String[] args){
            ExecuteCommand exec = new ExecuteCommand("cp /some/directory/file.txt /some/directory/of/mine/");
            ExecuteCommand exec2 = new ExecuteCommand("chmod 666 /some/directory/of/mine/file.txt");
            ExecuteCommand exec3 = new ExecuteCommand("mv /some/directory/of/mine/file.txt /some/directory/of/mine/subDirectory/");
        }
        public ExecuteCommand(String command) {
            try {
                    System.out.println("EXECUTING!::" + command);       
                    Process child = Runtime.getRuntime().exec(command);             
            } catch (IOException e) {
            }
        }

    }

我尝试在命令之间放置计时器,但没有取得任何进展,以确保处理了我的100%命令

请注意,我的代码包含示例信息,如果某些unix文件系统语法不正确,请原谅,请不要将问题归咎于此

如果您需要任何进一步的信息,请询问,我会尽快提供

谢谢大家=)


共 (1) 个答案

  1. # 1 楼答案

    示例代码的一个问题是,您正在挤压异常。如果有任何问题,你就扔掉证据

    第二个问题是,在启动下一个命令之前,您没有等待一个命令完成。如果后一个依赖于前一个,它将失败

    第三个问题是,您没有检查命令返回/退出代码,也没有查看它们可能产生的任何错误消息。错误消息可能会告诉您命令不起作用的原因。。。如果你费心去拿和打印它们

    最后一个(元)问题是,这不是您真正的代码。。。所以我们不知道我们看到的问题是否只是你问题的产物。请提供真实的代码,而不是一些糟糕的版本