ExpectTerm 1.0 beta September 10 1992 Mark D. Weissman Christopher J. Matheus GTE Laboratories Incorporated Don Libe's expect provides automated control of interactive programs. expecTerm adds terminal emulation to expect. expecTerm can emulate any terminal for which terminfo and/or termcap information is available. The details are described in the manpage. The manpage for expect is also included in this distribution. This release requires the installation of tcl version 6.2 or greater. tcl6.4.tar is ftp-able from ceylon.gte.com. This release does NOT require the prior installation of expect. The necessary code from expect (version 3.22.6) is included as part of the expecTerm package. expecTerm has been compiled and tested on: SparcStation 2 (OS 4.1.1) (use Makefile) RS6000 (AIX Version 3.2) (use Makefile.aix) MIPS (Ultrix V4.2) (use Makefile.ultrix) The Makefile has predefined setups for each of these platforms. After customizing the Makefile for your system, type "make install". If you port expecTerm to another platform or define another terminal in ExpectCap please send the diffs to Mark Weissman (weissman@gte.com). It's VERY IMPORTANT either to install ExpectCap in the LIBDIR directory specified in the Makefile or set the environment variable EXPECT_DIR to point to the directory containing ExpectCap. There is a special ExpectCap file named ExpectCap.hp2624 that made be used in the rare event you have an application requiring the local modes of the HP Block Terminal 2624. Two sample expecTerm scripts are provided: felix.exp and web.exp. felix.exp is specific to a program here at GTE Laboratories and will not function elsewhere; it is, however, a simple example of a useful script. web.exp accesses the webster dictionary at Rutgers to look up definitions of words. Limitations: * only guaranteed to work with inter_select and pty_bsd versions (but other pty_*'s *should* work also) * Compilation on a SUN requires use of the system 5 libraries for proper support of curses: /usr/5bin, /usr/5include, /usr/5lib. * some terminal control sequences may not be available in the standard terminfo/termcaps files, and must be added to the ExpectCap file. Additional sequences for xterm are included in the default ExpectCap file. * the ultrix version may not recognize the xterm termcap on some systems. fix: issue a "set term = vt100" or its equivalent before running expecTerm. ** PLEASE DIRECT ALL COMMENTS AND BUG REPORTS TO: ** weissman@gte.com Mark Weissman GTE Laboratories 40 Sylvan Rd. Waltham, MA 02254 =============================================================================== Excerpt from expecTerm.man: =============================================================================== EXPECTERM(1) USER COMMANDS EXPECTERM(1) NAME expecTerm -- expect with terminal emulation SYNOPSIS expecTerm [ expect_options ] INTRODUCTION expecTerm adds terminal emulation to Don Libes' expect pro- gram. The standard expect commands are all supported, mak- ing expecTerm compatible with existing expect scripts. expecTerm introduces five new commands: emulate adds terminal emulation to an existing spawned process screen_info returns information about an emulator's screen and cursor set_master controls which emulator the user is viewing status_line displays a message on expecTerm's status line term_info acceses terminfo capabilities and may issue them to the terminal term_switch provides access to terminal switches such as echo and logging. expecTerm adds several new options to the expect command to support screen-based pattern matching. These are described in the COMMANDS section below. The timeout command has also been changed to accept a decimal argument for time, e.g. set timeout 0.5. The follow- ing simple script illustrates the use of terminal emulation in expecTerm: spawn csh emulate -term vt100 send who\n expect -cols 0:3 jcr2 {puts stdout "jcr2 is logged in"} =============================================================================== Copyright 1992 by GTE Laboratories Incorporated. Portions of this work are in the public domain. Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both the copyright notice and warranty disclaimer appear in supporting documentation, and that the names of GTE Laboratories or any of their entities not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. GTE disclaims all warranties with regard to this software, including all implied warranties of merchantability and fitness for a particular purpose, even if GTE Laboratories Incorporated knows about the purpose. In no event shall GTE be liable for any special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortuous action, arising out of or in connection with the use or performance of this software. This code is based on and may include parts of Don Libes' expect code: expect written by: Don Libes, NIST, 2/6/90 Design and implementation of expect was paid for by U.S. tax dollars. Therefore it is public domain. However, the author and NIST would appreciate credit if this program or parts of it are used.