【问题标题】:Execute sudo command in ubuntu from java class从java类在ubuntu中执行sudo命令
【发布时间】:2014-03-20 19:42:55
【问题描述】:

我有一个包含许多 sudo 命令的 sh 文件,比如下面的脚本:

test.sh

#!/bin/sh
sudo apt-get install gedit
sudo date --set="2014/02/20 10:00"

当我从终端执行 test.sh 时,它工作正常。问题是当我尝试从 java 类执行这个文件时。脚本不执行。我试过这个:

Process proc = Runtime.getRuntime().exec("/bin/sh","/home/priyatam/test.sh");

有没有人知道从 java 类执行这个 sudo 命令?请分享。

【问题讨论】:

    标签: java linux ubuntu terminal sudo


    【解决方案1】:

    由于脚本会将提示输出到屏幕上,因此有必要捕获进程输入流

    InputStream stdout = process.getInputStream ();
    

    我也建议使用

    ProcessBuilder builder = new ProcessBuilder("/home/user/test.sh");
    builder.redirectErrorStream(true);
    Process process = builder.start();
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多