怎样在web项目中通过程序控制shell脚本执行并且向shell脚本中传进参数,实现两个服务器上的文件同步?
2个回答
展开全部
java是可以执行shell脚本的,如下:
//command就是你在linux上执行脚本的字符串命令
StringBuffer command = new StringBuffer();
command.append(SHELL).append(BLANK);
command.append(CREATEUSER_SH).append(BLANK);
command.append(fsi.getFtpIp()).append(BLANK);
command.append(fsi.getRootPasswd()).append(BLANK);
command.append(fsi.getFixHomePath() + ftpInfo.getHomePath()).append(BLANK);
command.append(ftpInfo.getFtpUser()).append(BLANK);
command.append(ftpInfo.getFtpPasswd()).append(BLANK);
command.append(ftpInfo.getFlag());
// 进程p执行脚本
p = Runtime.getRuntime().exec(command.toString());
//command就是你在linux上执行脚本的字符串命令
StringBuffer command = new StringBuffer();
command.append(SHELL).append(BLANK);
command.append(CREATEUSER_SH).append(BLANK);
command.append(fsi.getFtpIp()).append(BLANK);
command.append(fsi.getRootPasswd()).append(BLANK);
command.append(fsi.getFixHomePath() + ftpInfo.getHomePath()).append(BLANK);
command.append(ftpInfo.getFtpUser()).append(BLANK);
command.append(ftpInfo.getFtpPasswd()).append(BLANK);
command.append(ftpInfo.getFlag());
// 进程p执行脚本
p = Runtime.getRuntime().exec(command.toString());
追问
可以在详细点吗?我不太明白 谢谢了。
追答
假设你要创建一个用户,编了个shell脚本"createUser.sh"
在java中执行这个脚本:
String cmd="/bin/sh createUser.sh"
Runtime.getRuntime().exec( Runtime.getRuntime().exec(cmd);
当然我这个cmd字符串比较简单,shell脚本后可能还跟具体的参数等,,总之你在linux上怎么执行shell脚本的把那串拿过来当cmd就OK。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |