Java 为什么runtime.exec()未执行。当我发出sshpass命令时
为什么runtime.exec()未执行。当我发出sshpass命令时Java 为什么runtime.exec()未执行。当我发出sshpass命令时,java,runtime.exec,sshpass,Java,Runtime.exec,Sshpass,为什么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
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类(return for 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");
}
是否可以更改远程系统上的文件名?当它存储file@SurendrakumarKadiri .. 为什么不在提供目标主机时尝试提供文件名呢。如果您有问题,请用linux/scp标签发布另一个问题。