我有一个路径,我有shell脚本,我必须使用java程序执行,但我收到错误。
Runtime.java
public class Runtime {
public static void main(String[] args) {
System.out.println("Triggered");
try {
Process p = Runtime.getRuntime().exec("\"http://192.168.1.7/sh_scripts/check_process/2.sh\"");
System.out.println(p);
} catch (IOException e) {
e.printStackTrace();
}
}
}
LOGCAT
http://192.168.1.7/sh_scripts/check_process/2.sh: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at com.howtodoinjava.demo.poi.Runtiime.main(Runtiime.java:15)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 5 more
执行时我是否遗漏了任何内容。该路径不是从java程序中读取来执行shell脚本的,所以请帮助我使用给定的http链接执行jar文件,我可以使用java成功执行2.sh文件
答案 0 :(得分:0)
据我所知,您只能在同一台计算机上执行可执行文件,不支持在http,ftp或其他任何地方从远程服务器下载脚本。
在普通的unix shell中也是如此。
所以,你有几个选择:
source <(curl -s http://192.168.1.7/sh_scripts/check_process/2.sh)