如何在Java中使用sudo权限执行bash命令?我正在使用ProcessBuilder来执行bash命令:import java.io.IOException;public class Main {
public static void main(String[] args) {
try {
Process pb = new ProcessBuilder("gedit").start();
} catch (IOException e) {
e.printStackTrace();
}
}}但我想做这样的事情:Process pb = new ProcessBuilder("sudo", "gedit").start();如何将超级用户密码传递给bash?("gksudo", "gedit") 不会这样做,因为它已经被删除,因为Ubuntu 13.04并且我需要使用默认命令可用。编辑gksudo在最后一次更新时回到了Ubuntu 13.04。
3 回答
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
我想你可以使用它,但我有点犹豫要发布它。所以我只想说:
使用此风险自负,不推荐,不要起诉我等等......
public static void main(String[] args) throws IOException { String[] cmd = {"/bin/bash","-c","echo password| sudo -S ls"}; Process pb = Runtime.getRuntime().exec(cmd); String line; BufferedReader input = new BufferedReader(new InputStreamReader(pb.getInputStream())); while ((line = input.readLine()) != null) { System.out.println(line); } input.close();}
添加回答
举报
0/150
提交
取消