Java 无法读取由使用JSch执行的脚本创建的输出文件
脚本文件(GettingMacandipad.sh)-获取ipaddress和HardwareAddress并将其存储在output786.txt文件中Java 无法读取由使用JSch执行的脚本创建的输出文件,java,jsch,Java,Jsch,脚本文件(GettingMacandipad.sh)-获取ipaddress和HardwareAddress并将其存储在output786.txt文件中 public String getMacAndServerIp(Dataset ds){ TestLogger.info(logger,"************* Started test method for getMacAndServerIp *****************"); String macaddserv
public String getMacAndServerIp(Dataset ds){
TestLogger.info(logger,"************* Started test method for getMacAndServerIp *****************");
String macaddserverip="";
String user=admin;
String host=10.121.172.9;
String pswd=admin;
int port=22;
String path= "/opt/conf/files/";
TestLogger.info(logger,"values "+"User value::"+user+ ", "+ "Host value:"+host + "Password value:"+pswd + "Port Num'" +port);
String command= "cd "+path+ "; ./gettingMacAndIPadd.sh &";
TestLogger.info(logger,"Command ::"+command);
try{
JSch jsch = new JSch();
com.jcraft.jsch.Session session = jsch.getSession(user, host, port);
session.setPassword(pswd);
session.setConfig("StrictHostKeyChecking", "no");
TestLogger.info(logger,"Establishing Connection...");
session.connect();
TestLogger.info(logger,"Connected");
Channel channel=session.openChannel("exec");
TestLogger.info(logger,"Channel Opened");
((ChannelExec) channel).setCommand(command);
TestLogger.info(logger,"Command Set");
channel.setInputStream(null);
((ChannelExec) channel).setErrStream(System.err);
InputStream in = channel.getInputStream();
channel.connect();
TestLogger.info(logger,"Channel connected");
try{
Thread.sleep(1000);
}
catch(Exception ee){
ee.printStackTrace();
}
BufferedReader reader=new BufferedReader(new FileReader("/opt/conf/files//output786.txt"));
TestLogger.info(logger,"Reading data from file"+reader);
while((macaddserverip=reader.readLine()) !=null){
TestLogger.info(logger,"Mac Address and ServerIp value"+macaddserverip);
}
TestLogger.info(logger,"Value read from the output of script::"+macaddserverip);
}
catch(Exception e){
e.printStackTrace();
}
TestLogger.info(logger,"************* Test passed for getMacAndServerIp *****************");
return macaddserverip;
}
我的场景与上面的脚本类似,需要执行脚本,这些值应该使用JSCH存储在文件中,并使用FileReader访问这些值
我面临的问题是,当我运行上述程序时,output786.txt文件并没有创建,也没有在/opt/conf/files/位置创建
请帮我解决这个问题。任何人都可以建议如何执行此方案。脚本将输出存储到服务器上的文件中。无法使用
文件读取器
从远程服务器读取文件
你应:
- );或
- 不要将输出存储到文件中,而是
ipaddress=`ifconfig | grep -A1 eth0 | grep "inet addr:" | awk '{print $2}' | cut -d":" -f2`
hwadd=`ifconfig | grep eth0 | awk '{print $5}'`
echo $ipaddress $hwadd > output786.txt