X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;ds=sidebyside;f=scripts%2Ftcli.pl;h=037b0d1a41ec04590bac86038caa441f844693f6;hb=b5bf342fe1f1110abd2d17fba876afd46da8598c;hp=e3786c3e51caf94248aa4b8c13eff40a408819ab;hpb=8d184cf0123d6cf36bde4043bef6c183ec64b33b;p=perl-cwmp.git diff --git a/scripts/tcli.pl b/scripts/tcli.pl index e3786c3..037b0d1 100755 --- a/scripts/tcli.pl +++ b/scripts/tcli.pl @@ -3,22 +3,43 @@ use strict; use Expect; use Net::Telnet; +use Data::Dump qw/dump/; + +die "usage: $0 [modem] commands\n" unless @ARGV; my $modem = '10.0.0.138'; +$modem = shift @ARGV if $#ARGV >= 1; + my @commands = ( ':system config led=flash', ); +sub ask { + my ( $prompt, $default ) = @_; + warn "## ask $prompt [default]"; + print "$prompt [$default] "; + my $in = ; + chomp($in); + $in = $default unless length($in) > 1; + return $in; +} + while(<>) { chomp; next if (/^#/ || /^\s*$/); - push @commands, $_; + my $l = $_; + warn "--$_--"; + $l =~ s/ask\(([^|\)]+)(?:\|([^\)]+))?\)/ask($1,$2)/eg; + warn "++ $l\n"; + push @commands, $l; } push @commands, ':system config led=off'; my $debug = 0; +warn "## connecting to $modem\n"; + my $telnet = new Net::Telnet( $modem ) or die "Cannot telnet to $modem: $!\n"; my $exp = Expect->exp_init($telnet); $exp->debug( $debug );