[英]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.