重新整理下java调用shell脚本的知识点,有问题留言即可~
获取.sh文件的路径和启动shell脚本命令:(我的.sh 文件在项目的resources下,根据自己的实际位置获取即可)
String classpath = ResourceUtils.getURL("classpath:").getPath().substring(1);
string commands=启动脚本命令+参数 (例如:bash 1.sh 127.0.0.1 8080 userName /home/zyj/download)多个参数之间用空格分隔
linux环境下:
String[] reqcommands = {"/bin/sh", "-c", classpath + commands};
Process process = Runtime.getRuntime().exec(reqcommands);
process.destroy();
log.info("返回执行结果:" + process.exitValue());//返回子进程的出口值,值 0 表示正常终止
windows环境下:
String[] reqcommands = {"cmd", "/c", classpath + commands};
Process process = Runtime.getRuntime().exec(reqcommands);
process.destroy();
log.info("返回执行结果:" + process.exitValue());//返回子进程的出口值,值 0 表示正常终止