0

ユーザー名とパスワードを使用して 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;
}
~
4

1 に答える 1