ユーザー名とパスワードを使用して telnet セッションを開いています。読み取り用にファイルを開こうとしましたが、「そのようなファイルまたはディレクトリはありません」というエラーが表示されましたが、印刷コマンドでファイルがパスにあることを確認しました。telnet セッション中にファイルを開いて読み取ることはできますか? または、telnet セッション中にファイルを開くにはどうすればよいですか? これが私のコードで、ファイルはab.txtです:
use Net::Telnet;
$t = new Net::Telnet (Timeout => undef, Dump_log=>"dump.log");
$username="sqa";
$password="4q2013";
$t->open("xx.xx.xxxx.com");
$t->login($username, $password);
$cmd='cd '.'/projects/74/android-rfs/sys
tem/app';
my $ldir="/projects/74/Android";
ipadd();
print $ip_add=@ipadd[2];
print "Value of \$t is:$t\n";
@lines=$t->cmd($cmd) or die "Cannot perform cmd:$!";
print @lines;
$t->cmd("cp $nmn.apklist.txt $ldir\n");
$cmd1='cd '.'/projects/74/Android';
@lines1=$t->cmd($cmd1);
print @lines1;
$req_apks="/projects/74/Android/ab.txt";
print "Value of \$req_apks is: $req_apks\n";
######### Installating APKs ################################
$path="$ldir/latest_apks";
@b= $t->cmd("cd $path\n");
print "cd:@b\n";
$t->cmd("./adb kill-server\n") or die "Cannot kill adb servers:$!";
sleep(10);
$t->cmd("./adb start-server\n") or die "Cannot start adb servers:$!";
sleep(10);
@line=$t->cmd("./adb devices\n");
print "adb:@line\n";
sleep(10);
@cnt=$t->cmd("./adb connect $ip_add\n") or die "Cannot connect adb to bo
ard IP Address:$!";
print @cnt;
sleep(5);
open(F2, "$req_apks") or die "Cannot open APK Filelist file $req_apks:$!";
while (my $req = <F2>)
{
print "Installing new package $req\n";
@b= $t->cmd("./adb install $req \n") or die "Cannot install:$!";
print @b;
print @b;
sleep(3);
}
#$t->close;
$t->cmd("./adb disconnect $ip_add\n");
sleep(6);
$t->cmd("./adb kill-server\n") or die "Cannot kill adb servers after install:$!"
;
sleep(10);
close(F2);
print "Listapk function ended\n";
sub ipadd
{
$ip='xx.xxx.xx.xx';
$ip_port='10005';
$port = new Net::Telnet->new( Host=>$ip,Port=>$ip_port);
$port->write("ifconfig eth0\n");
while (my $line = $port->getline())
{
if ($line=~/flags/)
{
@ipadd= split(" ",$line);
#print $line;
#print @ipadd[2];
goto ln;
}
else
{}
}
ln:
$port->close;
}
~