NOTE: This guide is not meant as a substitute for instruction on various scripting tools that are available for automating command-line interfaces. The iLO 2 MP TUI (when used with command-line arguments) and the SMASH command-line interface were created with these types of scripting tools in mind to facilitate powerful automation capabilities.

Expect Script Example

The following provides a simple Expect script example with no timeouts and no error checking using telnet instead of SSH.

#!/usr/local/bin/expect -f

#

#(Portions of) this Expect script (were) was generated by autoexpect on

#Tue Nov 21 08:45:11 2006

#Expect and autoexpect were both written by Don Libes, NIST.

#

#Note that autoexpect does not guarantee a working script. It

#necessarily has to guess about certain things. Two reasons a script

#might fail are:

#

#1) timing - A surprising number of programs (rn, ksh, zsh, telnet,

#etc.) and devices discard or ignore keystrokes that arrive "too

#quickly" after prompts. If you find your new script hanging up at

#one spot, try adding a short sleep just before the previous send.

#Setting "force_conservative" to 1 (see below) makes Expect do this

#automatically - pausing briefly before sending each character. This

#pacifies every program I know of. The -c flag makes the script do

#this in the first place. The -C flag allows you to define a

#character to toggle this mode off and on.

set force_conservative 0 ;# set to 1 to force conservative mode even if ;# script wasn't run conservatively originally

if {$force_conservative} { set send_slow {1 .1} proc send {ignore arg} {

sleep .1

exp_send -s -- $arg

}

}

#2) differing output - Some programs produce different output each time

#they run. The "date" command is an obvious example. Another is

#ftp, if it produces throughput statistics at the end of a file

#transfer. If this causes a problem, delete these patterns or replace

#them with wildcards. An alternative is to use the -p flag (for

#"prompt") which makes Expect only look for the last line of output

#(i.e., the prompt). The -P flag allows you to define a character to

#toggle this mode off and on.

#

#Read the man page for more info.

#-Don

#

#(End of auto-expect generated content)

#######################################################################

#USER

set mp_user "Admin"

#PASSWORD- get password from terminal instead of storing it in the script stty -echo

send_user "For user $mp_user\n"

Text User Interface

65

Page 65
Image 65
HP Integrity iLO 2 MP 5991-6005 manual Expect Script Example, # User