and i want to write an expect script for login in the router, give the command to dislay these stats and then store them in the script variables to use them .
I am able to log-in the router and give the command but not able to use regex for parsing the expect_out buffer.
Any help is appreciated.
Thanks,
ashy_g
Last edited by Scott; 12-17-2012 at 03:53 PM..
Reason: ICODE tags ===> CODE tags
There *has* to be an elegant way to do this in Expect...
I have a command that returns lines of numbers. Like:
prompt% mycommand --loop=5
9 4956 4951 4951 4956
9 4960 4951 4951 4956
9 4956 4951 4951 4956
9 4956 4951 4951 4956
9 4956 4951 4951 4956
prompt%
All numbers must be... (0 Replies)
Hello to all...this is my first post (so please go easy). :)
I feel pretty solid at expect scripting, but I'm running into an issue that I'm not able to wrap my head around. I wrote a script that is a little advanced for logging into a remote Linux machine and changing text in a file using sed.... (2 Replies)
This is my simple expect scritpt:
#!/usr/bin/expect -f
match_max 100000
set timeout -1
spawn telnet $IP
expect "#"
send -- "shell\r"
expect "*Ready*"
send -- "init\r"
expect "*Ready*"
send -- "readsensor \r"
expect -- "*" <<< Output of this is a 2 digit number
set val... (5 Replies)
This Expect script provides expect with a list of IP addresses to Cisco IPS sensors and commands to configure Cisco IPS sensors. The user, password, IP addresses, prompt regex, etc. have been anonymized. In general this script will log into the sensors and send commands successfully but there are... (1 Reply)
I'm using Expect to execute a command on a router and return the output to a file. The output is a list. At the end of the list there's a statement that reads, "Found 165 active connections" (Where "165" could be any number between 0 and 2000.) I'm familiar with using Expect to return data from... (2 Replies)
I am trying to use send and receive using expect. the expect_out(buffer) is working fine while it is running it as foreground. But the same script when it is ran as background, the expect_out(buffer) errored out.
Is there any factor influence when we run script in foreground and in background? ... (0 Replies)
Help with parsing regex in tripwire:
the rule is" This test verifies that exported file systems do not have the "root=<host>" option specified."
regex that does not work is :
^.*-o+(?=root=\S+|\S+,root=\S+).*
the dfstab looks like this :
# cat /etc/dfs/dfstab
# Place... (1 Reply)
Help with parsing regex in tripwire:
the rule is" This test verifies that all exported file systems found in /etc/exports specify a fully qualified domain name containing "thecss.com" or a NIS netgroup.."
regex that does not work is :
... (1 Reply)
We have regex that we use to parse compliance policies in tripwire. can you please help to correct the regex :
policy is "Verify That Exported File Systems Specify the ro (read-only) Option"
the regex is
^.*-o+(?!ro+|ro\S+|\S+,ro\S+|\S+,ro+).*$
this does not work. how do we fix it ?
... (4 Replies)
Hi,
I need some guidance with understanding this Perl script below. I am not the author of the script and the author has not leave any documentation. I supposed it is meant to be 'easy' if you're a Perl or regex guru. I am having problem understanding what regex to use :confused: The script does... (3 Replies)
Discussion started by: newbie_01
3 Replies
LEARN ABOUT DEBIAN
test::script::run
Test::Script::Run(3pm) User Contributed Perl Documentation Test::Script::Run(3pm)NAME
Test::Script::Run - test the script with run
SYNOPSIS
use Test::Script::Run;
# customized names of bin dirs, default is qw/bin sbin script ./;
@Test::Script::Run::BIN_DIRS = qw/bin/;
run_ok( 'app_name', [ app's args ], 'you_app runs ok' );
my ( $return, $stdout, $stderr ) = run_script( 'app_name', [ app's args ] );
run_output_matches(
'app_name', [app's args],
[ 'out line 1', 'out line 2' ],
[ 'err line 1', 'err line 2' ],
'run_output_matches'
);
run_output_matches_unordered(
'app_name', [ app's args ],
[ 'out line 2', 'out line 1' ],
[ 'err line 2', 'err line 1' ],
'run_output_matches_unordered'
);
DESCRIPTION
This module exports some subs to help test and run scripts in your dist's bin/ directory, if the script path is not absolute.
Nearly all the essential code is stolen from Prophet::Test, we think subs like those should live below "Test::" namespace, that's why we
packed them and created this module.
FUNCTIONS
run_script($script, $args, $stdout, $stderr)
Runs the script $script as a perl script, setting the @INC to the same as our caller.
$script is the name of the script to be run (such as 'prophet'). $args is a reference to an array of arguments to pass to the script.
$stdout and $stderr are both optional; if passed in, they will be passed to IPC::Run3's run3 subroutineA as its $stdout and $stderr args.
Otherwise, this subroutine will create scalar references to pass to run3 instead (which are treated as strings for STDOUT/STDERR to be
written to).
Returns run3's return value and, if no $stdout and $stderr were passed in, the STDOUT and STDERR of the script that was run.
run_ok($script, $args, $msg)
Runs the script, checking that it didn't error out.
$script is the name of the script to be run (e.g. 'prophet'). $args is an optional reference to an array of arguments to pass to the script
when it is run. $msg is an optional message to print with the test. If $args is not specified, you can still pass in a $msg.
Returns nothing of interest.
run_not_ok($script, $args, $msg)
opposite of run_ok
get_perl_cmd($script, @ARGS)
Returns a list suitable for passing to "system", "exec", etc. If you pass $script then we will search upwards for it in @BIN_DIRS
is_script_output($scriptname @args, @stdout_match, @stderr_match, $msg)
Runs $scriptname, checking to see that its output matches.
$args is an array reference of args to pass to the script. $stdout_match and $stderr_match are references to arrays of expected lines. $msg
is a string message to display with the test. $stderr_match and $msg are optional. (As is $stdout_match if for some reason you expect your
script to have no output at all. But that would be silly, wouldn't it?)
Allows regex matches as well as string equality (lines in $stdout_match and $stderr_match may be Regexp objects).
run_output_matches($script, $args, $exp_stdout, $exp_stderr, $msg)
A wrapper around is_script_output that also checks to make sure the test runs without throwing an exception.
run_output_matches_unordered($script, $args, $exp_stdout, $exp_stderr, $msg)
This subroutine has exactly the same functionality as run_output_matches, but doesn't impose a line ordering when comparing the expected
and received outputs.
last_script_stdout
return last script's stdout
last_script_stderr
return last script's stderr
last_script_exit_code
return last script's exit code
DEPENDENCIES
Test::More, Test::Exception, IPC::Run3, File::Basename, File::Spec
BUGS AND LIMITATIONS
No bugs have been reported.
AUTHOR
sunnavy "<sunnavy@bestpractical.com>"
LICENCE AND COPYRIGHT
Copyright 2009 Best Practical Solutions.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.10.1 2011-01-07 Test::Script::Run(3pm)