Expect-5.45

Introduction to Expect

The Expect package was installed in the LFS temporary tools directory for testing other packages. These procedures install it in a prmanent location. It contains tools for automating interactive applications such as telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect is also useful for testing these same applications as well as easing all sorts of tasks that are prohibitively difficult with anything else.

This package is known to build and work properly using an LFS-7.4 platform.

Package Information

Expect Dependencies

Required

Tcl-8.6.0

Optional

Tk-8.6.0

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/expect

Installation of Expect

Install Expect by running the following commands:

./configure --prefix=/usr       \
            --with-tcl=/usr/lib \
            --enable-shared     \
            --with-tclinclude=/usr/include &&
make

To test the results, issue: make test.

Now, as the root user:

make install &&
ln -svf expect5.45/libexpect5.45.so /usr/lib

Command Explanations

-with-tcl=/usr/lib: This parameter is used to tell the configure script where the tclConfig.sh is located.

--enable-shared: This option enables building the shared library.

ln -sf ...: This command creates a required link to the shared library.

Configuring Expect

Config Files

$exp_library/expect.rc and ~/.expect.rc

Configuration Information

Reference the expect man page for information about utilizing the expect.rc configuration files. Additionally, many of the tools contained in the Expect package will use their own configuration files. Reference the respective man page, or examine the script directly for configuration file information.

Contents

Installed Programs: autoexpect, autopasswd, cryptdir, decryptdir, dislocate, expect, ftp-rfc, kibitz, lpunlock, mkpasswd, passmass, rftp, rlogin-cwd, timed-read, timed-run, unbuffer, weather, and optionally (if Expect was linked against Tk), multixterm, tknewsbiff, tkpasswd, xkibitz, and xpstat
Installed Library: libexpect5.45.so
Installed Directory: /usr/lib/expect5.45

Short Descriptions

autoexpect

generates an Expect script from watching a session.

autopasswd

is a wrapper to make passwd(1) be non-interactive.

cryptdir

encrypts all files in a directory.

decryptdir

decrypts all files in a directory.

dislocate

allows processes to be disconnected and reconnected to a terminal.

expect

is a program that “talks” to other interactive programs according to a script.

ftp-rfc

retrieves an RFC (or the index) from UUNET.

kibitz

allows two (or more) people to interact with one shell (or any arbitrary program).

lpunlock

unhangs a printer which claims it is “waiting for lock”.

mkpasswd

generates passwords and can apply them automatically to users.

passmass

changes a password on multiple machines.

rftp

is much like ftp except it uses ~g and ~p instead of mget and mput.

rlogin-cwd

is rlogin except it uses the local current directory as the current working directory on the remote machine.

timed-read

reads a complete line from stdin and aborts after a given number of seconds.

timed-run

runs a program for a given amount of time.

unbuffer

disables the output buffering that occurs when program output is redirected.

weather

retrieves a weather report (courtesy University of Michigan) for a given city or geographical area.

multixterm

creates multiple xterms that can be driven together or separately.

tknewsbiff

pops up a window when there is unread news in your favorite newsgroups and removes the window after you've read the news.

tkpasswd

is a script to change passwords using expect and Tk.

xkibitz

allows users in separate xterms to share one shell (or any program that runs in an xterm).

xpstat

is a script that acts as a front-end for xpilot.

libexpect5.45.so

contains functions that allow Expect to be used as a Tcl extension or to be used directly from C or C++ (without Tcl).

Last updated on 2013-08-20 13:51:02 -0700