jsch并从特定目录运行sudo

时间:2013-04-24 09:20:48

标签: java linux

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

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

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

  

“sudo:没有tty存在且没有指定askpass程序抱歉,试试吧   试“。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

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

使用

获取主目录路径
String path = channelSftp.pwd();

按如下所示编写命令

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

使用以下代码提供密码

out1.write((sudo_pass + "\n").getBytes()); 
out1.flush();