0

我已连接到远程 ubuntu 服务器。在连接时,我想执行下面的 shell 命令

String command = "cd "to some directory" ; 
sudo ./i3lsdd"; 
// want to move to a directory and execute sudo ./i3lsdd command.

我使用了下面的代码,但它给出了这个错误:

“sudo:不存在 tty,也没有指定 askpass 程序对不起,再试一次。”

非常感谢任何帮助。

4

1 回答 1

1

将命令“sudo ./i3lsdd”保留在主目录的 .sh 文件中。

使用获取主目录路径

String path = channelSftp.pwd();

编写如下命令

String command = "sudo -S " + path + "/scriptname.sh"; 

使用以下代码提供密码

out1.write((sudo_pass + "\n").getBytes()); 
out1.flush();
于 2014-02-27T06:32:26.100 回答