日期:2014-05-20  浏览次数:20887 次

java大牛们进来帮忙啊 openfile+extmail整合,用户信息同步
大家有人用过java调用extmail的userctl.pl脚本 往extmail中添加用户吗,我自己写了代码执行了 但是不会向extmail中插入数据.我的代码如下
String comm = "perl /var/www/extsuite/extman/tools/userctl.pl--mod=add -username="+uname +"-password="+pass;
runLinuxCmd(String cmd) //本类调用

public String runLinuxCmd(String cmd) {
BufferedReader bf = null;
try {
Process process = Runtime.getRuntime().exec(cmd);
bf = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = "";
String resutl="";
while ((line = bf.readLine()) != null) {
resutl =resutl+ line.trim()+"\n";
}
System.out.println("---------------try result------------------"+resutl);
return resutl;
} catch (java.io.IOException e) {
e.printStackTrace();
System.out.println("------------error--------------");
return null;
} finally {
if (bf != null) {
try {
bf.close();
bf = null;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

}

单独在shell环境下执行perl命令是没有问题,能够插入数据。 我在网上看到有人讲过把perl命令写进sh脚本就可以了,我也不知道这是为什么按理说java能够调用shell命令也能调用perl脚本命令。非要包装一下的话我也写了一个shell脚本单独运行shell脚本也能添加数据就是java调用又没有添加数据了 我想要的是验证过的结果 大道理就不用讲了直接来真工夫啊 我写的shell脚本代码如下:

#!/bin/sh
perl /var/www/extsuite/extman/tools/userctl.pl--mod=add -username="$1" -password="$2";

这个做了两天都没有做好 如果能有满意的结果我会加分的谢谢大家


------解决方案--------------------
String comm = "perl /var/www/extsuite/extman/tools/userctl.pl --mod=add -username="+uname +" -password="+pass; 
这样?
------解决方案--------------------
String comm = "perl /var/www/extsuite/extman/tools/userctl.pl --mod=add -username="
+uname+" -password="+pass;
------解决方案--------------------
String comm = "perl /var/www/extsuite/extman/tools/userctl.pl--mod=add -username="+uname +"-password="+pass;

perl /var/www/extsuite/extman/tools/userctl.pl--mod=add -username="$1" -password="$2";

明显两个不一样,试试
String comm = "perl /var/www/extsuite/extman/tools/userctl.pl--mod=add -username=\""+uname +"\" -password=\""+pass + "\"";
------解决方案--------------------
探讨
String comm = "perl /var/www/extsuite/extman/tools/userctl.pl--mod=add -username="+uname +"-password="+pass;

perl /var/www/extsuite/extman/tools/userctl.pl--mod=add -username="$1" -password="$2";
……