Command Line Interface Scripting; Expect Script Example - HP Integrity BL870c Operation Manual

Hp integrity ilo 2 operations guide, eleventh edition
Hide thumbs Also See for Integrity BL870c:
Table of Contents

Advertisement

Command Line Interface Scripting

A command line interface is provided for all commands to assist you in scripting. This section
provides syntax examples used in the iLO 2 MP command-line or scripted interface.
Typically, tools like Expect (see
are used to string together several commands to accomplish a task. These scripting tools enable
you to write a script for one iLO 2, and use it to apply the same commands to additional iLO 2s.
Scripting tools have capabilities that enable you to do the following:
Write scripts that make decisions based on the output of commands
Use variables in the script to customize it for each target automatically
Compensate for delays in output
Scripting tools and the command-line interfaces enable you to carry out commands to multiple
iLO 2s such as setting the IP address on 10 iLO 2s pulled from a list of 10 IP addresses read from
a file local to your script. To automatically administer any part of the system during any stage
of its operation, you can use the scripting tool to log in to iLO 2, access the console, and send
and receive commands in EFI or the OS.
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.
# necessarily has to guess about certain things.
# 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.
# 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.
# pacifies every program I know of.
# this in the first place.
# character to toggle this mode off and on.
set force_conservative 0
;# script wasn't run conservatively originally
if {$force_conservative} {
set send_slow {1 .1}
proc send {ignore arg} {
}
}
#2) differing output - Some programs produce different output each time
# they run.
# ftp, if it produces throughput statistics at the end of a file
"Expect Script Example" (page
If you find your new script hanging up at
The -C flag allows you to define a
;# set to 1 to force conservative mode even if
sleep .1
exp_send -s -- $arg
The "date" command is an obvious example.
91)) and (http://expect.nist.gov/)
Two reasons a script
The -c flag makes the script do
It
This
Another is
Text User Interface
91

Advertisement

Table of Contents
loading

Table of Contents