我正在尝试在我的 java 代码中执行 linux 命令。它需要更改某些目录的权限。
这是我的尝试:
String Cmd = "echo myPassword | sudo -S chmod 777 -R /home/somePath";
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec(Cmd);
String Cmd
中的命令在终端中使用时运行良好。但是当我在我的代码中使用它时,什么也没有发生。没有错误或警告反馈可以帮助我理解我的错误。可能是什么问题?
最佳答案
Java 不会神奇地选择 bash
作为您的可执行文件。你可能想做类似的事情
"bash -c <your command>"
看到这个问题:
(|
也是一个 bash 东西。Java 不会神奇地在进程之间创建管道。)
关于java - Java 中的 Linux 终端命令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27130282/