gpt4 book ai didi

java - 为什么runtime.exec()没有执行。当我给出 sshpass 命令时

转载 作者:行者123 更新时间:2023-11-30 03:16:00 25 4
gpt4 key购买 nike

为什么runtime.exec()没有执行。当我给出 sshpass 命令时

rt.exec("sshpass -p sbsiz scp '/home/surendra/Desktop/remote_backup.txt' root@192.168.59.115:/home/");

但是当我直接在终端中运行此命令时,它的工作方式如下在终端中

sshpass -p sbsiz scp '/home/surendra/Desktop/remote_backup.txt' root@192.168.59.115:/home/

最佳答案

您可以检查 Process 类中的输入流和错误流(返回 rt.exec),以查看导致命令未执行的实际错误,如下所示:

public static void printStream(InputStream is, String type){
try
{
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line=null;
while ( (line = br.readLine()) != null)
System.out.println(type + ">" + line);
} catch (IOException ioe){
ioe.printStackTrace();
}
}

public static void main(String args[])
{
String cmd = "command to execute";
Process proc = Runtime.getRuntime().exec("sshpass -p sbsiz scp '/home/surendra/Desktop/remote_backup.txt' root@192.168.59.115:/home/");
printStream(proc.getInputStream(), "OUTPUT");
printStream(proc.getErrorStream(), "ERROR");
}

关于java - 为什么runtime.exec()没有执行。当我给出 sshpass 命令时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32565742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com