[英]Executing the Unix script from Java
我正在尝试从java运行unix shell脚本,该脚本可在unix服务器中的特定目录下使用。 该脚本接受参数。 我能够建立SFTP连接,并成功地到达了包含shell脚本的目录。 如何运行此脚本以及如何传递参数? 在https://netjs.blogspot.com/2016/10/how-to-run-shell-script-from-java-program.html上获得了很少的参考,但是这里的脚本在本地系统上可用。 在我的情况下,脚本在服务器上,并且也接受参数。
另一种方法是通过SSH执行命令。 您在本地主机(我的示例是test.sh
)中创建一个新脚本,其内容如下所示,现在您可以像从引用中获取代码一样执行它。
ssh user@server "sh your-shell-script-in-server.sh"
在https://www.cyberciti.biz/faq/unix-linux-execute-command-using-ssh/了解更多
Java来源:
String[] cmd = new String[] { "/bin/sh", "test.sh" };
try {
Process pr = Runtime.getRuntime().exec(cmd);
int rs = pr.waitFor();
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
您的Java函数基于Runtime
对象。 我不确定,但是我认为您无法获得远程计算机的Runtime
对象,因此您需要将CLASS文件放在该远程计算机上并在该计算机上启动它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.