Java中的Linux终端命令不起作用

şir*_*çin 1 java linux bash

我正在尝试在我的java代码中执行linux命令.它需要更改某些目录的权限.

这是我的尝试:

String  Cmd = "echo myPassword | sudo -S chmod 777 -R /home/somePath";
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec(Cmd);   
Run Code Online (Sandbox Code Playgroud)

String Cmd当我在终端中使用它时,保持的命令工作正常.但是当我在我的代码中使用它时,没有任何反应.没有错误或警告反馈可以帮助我理解我的错误.可能是什么问题?

aio*_*obe 5

Java不会神奇地选择bash您的可执行文件.你可能想做类似的事情

"bash -c <your command>"
Run Code Online (Sandbox Code Playgroud)

看到这个问题:

(也是|一个bash-thing.Java不会在进程之间神奇地创建管道.)