【发布时间】:2014-04-07 21:03:09
【问题描述】:
我想从 java 运行一个带有 ssh 的脚本。该脚本将数字作为参数。我启动此代码:
String myKey="/home/my_key.pem";
Runtime runtime = Runtime.getRuntime();
String commande = "ssh -i "
+myKey+" ubuntu@ec2-56-75-88-183.eu-west-1.compute.amazonaws.com './runScript.bash 8000'";
Process p = runtime.exec(commande);
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getErrorStream()));
String line = reader.readLine();
while (line != null) {
System.out.println(line);
line = reader.readLine();
}
p.waitFor();
我收到此错误:
bash: ./runScript.bash 8000: No such file or directory
文件名正确。给 runScript.bash 的 chmod 是 777。
当我直接从 bash 运行命令行时,它可以工作。但在 IDE 中却没有。
请问我该怎么做才能正确运行此命令行?
【问题讨论】:
-
我建议使用本机 Java SSH 库——有几个——而不是尝试通过命令行工具。
-
特别是我在 JSch 方面有很好的经验:jcraft.com/jsch
-
这里有一个使用 JSch 的简单示例:*.com/a/24279641/3315914
标签: java bash command-line ssh