如何在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
提交
取消