簡體   English   中英

並非所有運行unix shell的Java命令都在運行

[英]Not all java commands to unix shell are running

我正在編寫一個將命令發送到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文件系統語法不正確,請原諒我,請不要將問題歸咎於此。

如果您需要任何其他信息,請詢問,我將盡快提供

謝謝你們=)

示例代碼的一個問題是您正在壓縮異常。 如果有任何問題,您將丟棄證據。

第二個問題是您在啟動下一個命令之前沒有等待一個命令完成。 如果較晚的依賴較早的完成,則它將失敗。

第三個問題是您沒有檢查命令返回/退出代碼,也沒有查看它們可能產生的任何錯誤消息。 錯誤消息可能會告訴您為什么命令不起作用……如果您不願意提取並打印它們。

最后一個(元)問題是這不是您的真實代碼……因此我們不知道我們看到的問題是否只是您的問題的偽造品。 請提供REAL代碼,而不是一些糟糕的版本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM