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

时间:2014-11-25 15:12:13

标签: 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);   

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

1 个答案:

答案 0 :(得分:5)

Java不会神奇地选择bash作为您的可执行文件。你可能想做类似

的事情
"bash -c <your command>"

看到这个问题:

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