Provided by: expect-lite_4.9.0-0ubuntu1_all bug

NAME

       expect-lite - a quick and easy command line automation tool

SYNOPSIS

       expect-lite [-vv] -c <script> [-r <host>]  [CONSTANT=value] [*DIRECTIVE] [-h|--help]
       or
       script.elt [-vv]  [r=<host>] [CONSTANT=value] [*DIRECTIVE] [-h|--help]

DESCRIPTION

       Written  in Expect, it is designed to directly map an interactive terminal session into an
       automation script. expect-lite scripts use punctuation character(s) at  the  beginning  of
       each  line  to  indicate  the  action.  Basic expect-lite scripts can be created by simply
       cutting and pasting text from a terminal window into a script, and adding > <  characters.
       Knowledge of Expect is not required.

       usage:        expect-lite       remote_host=<remote_host_IP>       cmd_file=<command_file>
       [user_dir=<user_dir>] [const1=value1] [*DIRECTIVE]

       or   short   form:   expect-lite   r=<remote_host_IP>   c=<command_file>    [d=<user_dir>]
       [const1=value1] [*DIRECTIVE]

              eg. ./expect-lite r=host-008  c=pm_alt.elt  d=/local/sw myvar=myvalue *NOCOLOR

       additional login options: user_name=<username> user_password=<password>

              eg. ./expect-lite r=host-008 c=pm_alt.elt u=superuser p=mysecret

       additional debug options: -v|-vv|--verbose

       -v     prints warnings, and infos (i.e. conditionals, dynamic var assignments)

       -vv|--verbose
              prints warnings and debug (i.e. expect match info)

       eg. ./expect-lite -v r=host-008 c=pm_alt.elt

       user defined help options: -h|--help

              displays user defined help text (demarcated by ;;;) and variables defined in script
              which can be overridden by constants on the command line

COMMAND SYNOPSIS

       This  is  just a brief synopsis of expect-lite commands to serve as a  reminder  to  those
       who already know expect-lite;  other  documentation  (such  as  the  html  document)  must
       be  consulted  for more complete descriptions.

   Special Characters
       >      wait for a prompt, then send string to the remote host

       >>     send string to remote host, without waiting for prompt

       <      string/regex MUST be received from the remote host in the allotted timeout  or  the
              script will FAIL!

       <<     literal string MUST be received (similar to '<' without regex evaluation)

       -<     NOT expect, if string/regex IS received from the remote host the script will FAIL!

       ~<     fuzzy expect, expect an approximate number (decimal or hex)

       #      used to indicate comment lines, and have no effect

       ;      are also used to indicate comment lines, but are printed to stdout (for logging)

       ;<colour> comment
              add  custom  colour  comment lines, colour may be blue, ltblue, gray, ltgray, cyan,
              black, pink, purple, red, green, yellow

       ;;     similar to above, but no extra newlines are printed  (useful  for  printing  script
              help)

       ;;;    marks  beginning and ending of a block of help text. Help Text is user defined help
              for a script and is printed when -h or --help is on the command line

       @num   changes the expect timeout to num of seconds

       :num   sleeps for num seconds. Mili-seconds also  supported  e.g.  :1.005  is  1005  mili-
              seconds

       $var=  static variable assignment at script invocation. Variable names limited to letters,
              numbers, and underscore

       +$var= dynamic variable assignment

       +$var  increment value of $var by 1 decimal

       -$var  decrement value of $var by 1 decimal

       =$var  math functions, perform bitwise and arithmetic operations:  << >> & | ^ * / %  +  -
              (see math functions)

       =$str  string   math   functions,   if  $str  is  a  string,  perform  string  operations:
              //search/replace/ + - (see string math functions in documentation)

       !      indicates an embedded expect line

       ?      c-style if/then/else in the format ?cond?action::else_action. code block  are  also
              supported in the action and else_action statements. e.g.
                 ?if $i < $n ? [
                    >send string
                    <expect string
                 ]::[
                   >send else string
                   <expect else string
                 ]

       [      While Loop, using code blocks e.g.
                 [ $i < $n
                    +$i
                 ]

              Foreach  Loop, using code blocks, each iteration $item is assigned the next item in
              the list. List must be space delimited e.g.
                 $thelist=ab cd ef
                 [ $item=$thelist
                     >echo $item
                 ]

       %      label - used for jumping to labels

       ~filename [constant=value] [constant=value with spaces]
              includes a expect-lite script file, useful for creation of common  variable  files,
              or  'subprograms/subroutines'. Can pass optional parameters which will override (as
              constants) the variables in the include  file.  Constant  values  passed  may  have
              spaces, no quotes are required

   Directives
       *~filename
              Include a fail script, which expect-lite runs only if the main script fails

       */prompt/
              Set a user defined prompt (defined in regex)

       *TERM <N>
              Immediately  terminates  script,  and returns the value of N, if N is not specified
              returns 0

       *PASS  Immediately terminates script, and returns 0 (pass)

       *FAIL  Immediately fails script, and returns 1 (fail), unless *NOFAIL is set, then  script
              will run to completion, and return 1

       *NOFAIL
              Script will run to completion, and returns 1, if failure occurred during execution,
              or 0, if pass (it is a sticky flag, and can not be unset)

       **SHELL=<shell>
              Configuration directive which sets the shell immediately after automatic  login  to
              remote host (see setting the shell)

       *INTERACT
              A  breakpoint  which  places user in interact mode, and pauses the script and turns
              control of the keyboard over to the user

       *NOINTERACT
              Once set, will ignore all succeeding breakpoints (*INTERACT). This permits  running
              a   script  or  scripts in an unattended regression. This can not be unset (it is a
              sticky flag)

       *FORK <session>
              Multiple session support. Directs expect-lite to open a new session  and  spawns  a
              new shell

       *SHOW VARS
              Debug  information,  displays  all  expect-lite  variables. Can be used in interact
              mode.

       *SHOW ENV
              Debug information, displays expect-lite environment, including state of directives,
              infinite  loop  counter, log file name (if used), and environment variables. Can be
              used in interact mode.

       *INFINITE_LOOP N
              Infinite loop protection value, sets N as new value

       *EOLS LF|*EOLS CRLF
              Controls end of line sequence sent to remote host, either line  feed,  or  carriage
              return + line feed.

       *DVPROMPT|*NODVPROMPT
              Enable/disable  the  Dynamic  Variable  capture method to require a trailing prompt
              (default=*DVPROMPT).

       *NOINCLUDE
              Once set, will ignore all succeeding include files (lines starting  with  ~).  This
              was  the  default behaviour in Library mode (introduced in v4.1). This behaviour is
              no longer default, and this directive provides a method to previous behavior.

   Logging
       Logging encompasses two operations: 1) writing script output to  a  file,  2)  controlling
       additional  messages,  such as info, exp_info and warnings. All logging commands when used
       on the CLI will override those inside the script

       *LOG|*NOLOG
              Enable/disable logging of standard out and messages to a file. The  log  file  name
              will  be  <script_name>.log saved in the script directory.(see Environment Variable
              EL_LOG_EXT below)

       *LOG <file_name>|*LOGAPPEND <file_name>
              Enable logging to a user specified path/file_name. When invoked  on  the  CLI,  the
              specified  file_name  must  end  in  ".log"  (or as defined by EL_LOG_EXT) to avoid
              ambiguity

       *INFO|*NOINFO
              Enable/disable informational messages

       *EXP_INFO|*NOEXP_INFO
              Enable/disable "expected" messages (additionally use -V flag to enable)

       *WARN|*NOWARN
              Enable/disable warning messages

       *DEBUG|*NODEBUG
              Enable/disable debug messages

       *NOCOLOR
              Disables color on stdout

       *TIMESTAMP <ISO|YMD|DMY|MDY>
              Prints Date and Timestamp with milisecond accuracy, for each command sent,  ISO  is
              default. Timestamps will be written to log file when *LOG is used.

       *NOTIMESTAMP
              Disables timestamp printing

   Environment Variables
       It  is no longer necessary to hand edit the expect-lite script itself. All parameters such
       as connect_method, login name and password are controlled via shell environment variables.
       This  permits  individual  customization in a multi user environment. It is recommended to
       save these values in .expect-literc and source it from .bashrc  or  .cshrc.  If  set,  the
       following environment variables will be used:

       EL_CONNECT_METHOD
              The  method  expect-lite  uses  to  connect  to  remote  host.  Valid  options are:
              none|telnet|ssh|ssh_key Default is none

       EL_CONNECT_USER
              User name to use for login on remote host (telnet|ssh)

       EL_CONNECT_PASS
              Password to use for login on remote host (telnet|ssh)

       EL_INFINITE_LOOP=N
              Infinite loop protection value, sets N to user's default value

       EL_DELAY_WAIT_FOR_HOST
              Delay (in ms) to wait for host in Not Expect, and Dynamic Var Capture. 100 ms is  a
              good value for a local LAN, 200 ms if running across high speed internet

       EL_REMOTE_HOST
              Name or IP of remote host

       EL_CMD_FILE
              Name of expect-lite script to run

       EL_USER_DIR
              Change to this directory upon login before executing script

       EL_SHELL
              Start this shell (default bash) when using EL_CONNECT_METHOD=none

       EL_DYN_VAR_PROMPT
              Set the Dynamic Variable capture method to require a prompt (default=1). Disable by
              setting to 0.

       EL_LOG_EXT
              Set the log file name extension string (default=".log") which is  appended  to  the
              script name when using *LOG without file name argument or used to detect a log file
              name on the command line.

       EL_*   Any other shell environment variables starting with EL_ will become constants

   Debugger (IDE)
       The debugger performs three primary functions: 1) connecting the user to the  remote  host
       or  device  under  test,  2)  monitoring special commands prefaced with the escape key for
       stepping, and other functions, and 3) the debugger will allow expect-lite script lines  to
       be executed by either typing directly or pasting them into the IDE.

       The debugger is invoked at a breakpoint by placing the *INTERACT command in the script, or
       using  by  instant-interact  at  anytime  during  the   script   execution   by   pressing
       ctrl+backslash ^\

       <esc>s Step, execute next step in script

       <esc>k sKip next step in script

       <esc>c Continue execution of the script

       <esc>v show Vars, display expect-lite variables and values

       <esc>e show Environment, display expect-lite environment

       <esc>0to9
              display next N lines of script

       <esc>-1to-9
              display last N lines of script

       ctrl+d Quit & Exit expect-lite

       <esc>h display Help

       [pasted line(s)]
              execute any pasted line(s) from a script into the IDE

       [type any expect-lite line]
              execute any typed expect-lite script line

AUTHOR

       Written by Craig Miller

REPORTING BUGS

       Report bugs to <cvmiller at gmail dot com>.

COPYRIGHT

       Copyright © 2008-2015 Craig Miller
       Copyright © 2005-2007 FreeScale Semiconductor and Craig Miller
       License  BSD-Style:  This  is  free  software: you are free to change and redistribute it.
       There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

       The full documentation for expect-lite  is  maintained  as  an  HTML  manual.  Please  see
       http://expect-lite.sf.net/ for complete documentation.