为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Java中使用sudo权限执行bash命令?

如何在Java中使用sudo权限执行bash命令?

Helenr 2019-07-31 10:09:28
如何在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();}


查看完整回答
反对 回复 2019-07-31
  • 3 回答
  • 0 关注
  • 1361 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信