telnet で STP デバイスをイーグルし、そこでコマンドを実行するスクリプトが必要です。
コマンド プロンプトから eagle STP デバイスに telnet しようとすると、
私は以下の出力を得ています:
[root@localhost tmp]# telnet hostname port
Trying hostname...
Connected to hostname hostname).
Escape character is '^]'.
ここでは、perl スクリプトで一致するプロンプトが表示されません。プロンプトを表示するには、control+a を押す必要があります。control+a を押すと、以下の出力が得られます。
[root@localhost tmp]# telnet hostname port
Trying...
Connected to hostname.
Escape character is '^]'.
>
次に、このプロンプトで login:uid を入力する必要があります
> login:uid=dumps
次に、パスワードの入力を求められます
Enter password : password
コマンドを実行するには、もう一度 control+a を押す必要があります。
> rtrv-dstn.
私はここで打たれました.telnetコマンドの後にcontrol+aコマンドを渡すことができません.
私は以下の方法でスクリプトを書きました。しかし、それは機能していません。誰でも私を助けることができます!!!!
#!/usr/bin/perl
use Net::Telnet;
my $host='hostname';
my $port='port';
my $telnet = new Net::Telnet(Host => $host, Port => $port, Timeout => 20)
or die "connect failed: $!";
$telnet->open($host);
print"Hi iii";
$telnet->waitfor('+$/i');');
print"Hello";
$telnet->print("^]");
$telnet->waitfor('/>$/i');
$telnet->print("login:uid=username");
$telnet->waitfor('/Enter Password :\s+$/i');
$telnet->print("password");
$telnet->waitfor('/>$/i');
@res1=$telnet->print("rtrv-dstn");
print"@res1";
Exit;