glfs/general/prog/expect.xml
Manuel Canales Esparcia ff769b8c61 Updated the XML sources to use DocBook XML DTD-4.4.
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@3656 af4574ff-66df-0310-9fd7-8a98e5e911e0
2005-04-03 20:52:42 +00:00

369 lines
12 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY expect-download-http "http://expect.nist.gov/old/expect-&expect-version;.tar.gz">
<!ENTITY expect-download-ftp " ">
<!ENTITY expect-md5sum "230400129630335b3060a42f66fec11d">
<!ENTITY expect-size "525 KB">
<!ENTITY expect-buildsize "4.6 MB">
<!ENTITY expect-time "0.07 SBU">
]>
<sect1 id="expect" xreflabel="Expect-&expect-version;">
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<?dbhtml filename="expect.html"?>
<title>Expect-&expect-version;</title>
<indexterm zone="expect">
<primary sortas="a-Expect">Expect</primary></indexterm>
<sect2>
<title>Introduction to <application>Expect</application></title>
<para>The <application>Expect</application> package contains tools for
automating interactive applications such as <command>telnet</command>,
<command>ftp</command>, <command>passwd</command>, <command>fsck</command>,
<command>rlogin</command>, <command>tip</command>, etc.
<application>Expect</application> is also useful for testing these same
applications as well as easing all sorts of tasks that are prohibitively
difficult with anything else.</para>
<sect3><title>Package information</title>
<itemizedlist spacing="compact">
<listitem><para>Download (HTTP):
<ulink url="&expect-download-http;"/></para></listitem>
<listitem><para>Download (FTP):
<ulink url="&expect-download-ftp;"/></para></listitem>
<listitem><para>Download MD5 Sum: &expect-md5sum;</para></listitem>
<listitem><para>Download size: &expect-size;</para></listitem>
<listitem><para>Estimated disk space required:
&expect-buildsize;</para></listitem>
<listitem><para>Estimated build time: &expect-time;</para></listitem>
</itemizedlist>
</sect3>
<sect3><title>Additional downloads</title>
<itemizedlist spacing="compact">
<listitem><para>Required Patch: <ulink
url="&patch-root;/expect-&expect-version;-spawn-2.patch"/></para>
</listitem></itemizedlist>
</sect3>
<sect3><title><application>Expect</application> dependencies</title>
<sect4><title>Required</title>
<para><xref linkend="tcl"/></para>
</sect4>
<sect4><title>Optional</title>
<para><xref linkend="tk"/></para>
</sect4>
</sect3>
</sect2>
<sect2>
<title>Installation of <application>Expect</application></title>
<para>Install <application>Expect</application> by running the following
commands:</para>
<screen><userinput><command>patch -Np1 -i ../expect-&expect-version;-spawn-2.patch &amp;&amp;
./configure --prefix=/usr --with-tcl=/usr/lib \
--with-tclinclude=/usr/include/tcl8.4 --enable-shared &amp;&amp;
make</command></userinput></screen>
<para>Now, as the root user:</para>
<screen><userinput role='root'><command>make install &amp;&amp;
ln -sf ../libexpect5.43.a /usr/lib/expect5.43</command></userinput></screen>
</sect2>
<sect2>
<title>Command explanations</title>
<para><parameter>--enable-shared</parameter>: This option enables building the
shared library.</para>
<para><option>--with-tk=/usr/lib</option>: Use this option to link in the
<application>Tk</application> library.</para>
<para><command>ln -sf ../libexpect5.43.a /usr/lib/expect5.43</command>: This
command creates a required link to the static library.</para>
</sect2>
<sect2>
<title>Configuring <application>Expect</application></title>
<sect3 id="expect-config"><title>Config files</title>
<para><filename>$exp_library/expect.rc</filename> and
<filename>~/.expect.rc</filename></para>
<indexterm zone="expect expect-config">
<primary sortas="e-AA.expect.rc">~/.expect.rc</primary></indexterm>
<indexterm zone="expect expect-config">
<primary sortas="e-Aexp_library-expect.rc">$exp_library/expect.rc</primary>
</indexterm>
</sect3>
<sect3><title>Configuration Information</title>
<para>Reference the <command>expect</command> man page for information about
utilizing the <filename>expect.rc</filename> configuration files. Additionally,
many of the tools contained in the <application>Expect</application> package
will use their own configuration files. Reference the respective man page, or
examine the script directly for configuration file information.</para>
</sect3>
</sect2>
<sect2>
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Library</segtitle>
<segtitle>Installed Directory</segtitle>
<seglistitem>
<seg>autoexpect, autopasswd, cryptdir, decryptdir, dislocate, expect, ftp-rfc,
kibitz, lpunlock, mkpasswd, passmass, rftp, rlogin-cwd, timed-read, timed-run,
unbuffer, weather and optionally (if <application>Expect</application> was
linked against <application>Tk</application>), expectk, multixterm,
tknewsbiff, tkpasswd, xkibitz and xpstat</seg>
<seg>libexpect5.43.[so,a]</seg>
<seg>/usr/lib/expect5.43</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<varlistentry id="autoexpect">
<term><command>autoexpect</command></term>
<listitem><para>generates an <application>Expect</application> script from
watching a session.</para>
<indexterm zone="expect autoexpect">
<primary sortas="b-autoexpect">autoexpect</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="autopasswd">
<term><command>autopasswd</command></term>
<listitem><para>is a wrapper to make <command>passwd</command>(1) be
non-interactive.</para>
<indexterm zone="expect autopasswd">
<primary sortas="b-autopasswd">autopasswd</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="cryptdir">
<term><command>cryptdir</command></term>
<listitem><para>encrypts all files in a directory.</para>
<indexterm zone="expect cryptdir">
<primary sortas="b-cryptdir">cryptdir</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="decryptdir">
<term><command>decryptdir</command></term>
<listitem><para>decrypts all files in a directory.</para>
<indexterm zone="expect decryptdir">
<primary sortas="b-decryptdir">decryptdir</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="dislocate">
<term><command>dislocate</command></term>
<listitem><para>allows processes to be disconnected and reconnected to a
terminal.</para>
<indexterm zone="expect dislocate">
<primary sortas="b-dislocate">dislocate</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="expect-prog">
<term><command>expect</command></term>
<listitem><para>is a program that <quote>talks</quote> to other interactive
programs according to a script.</para>
<indexterm zone="expect expect-prog">
<primary sortas="b-expect">expect</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="ftp-rfc">
<term><command>ftp-rfc</command></term>
<listitem><para>retrieves an <acronym>RFC</acronym> (or the index) from
<acronym>UUNET</acronym>.</para>
<indexterm zone="expect ftp-rfc">
<primary sortas="b-ftp-rfc">ftp-rfc</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="kibitz">
<term><command>kibitz</command></term>
<listitem><para>allows two (or more) people to interact with one shell
(or any arbitrary program).</para>
<indexterm zone="expect kibitz">
<primary sortas="b-kibitz">kibitz</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="lpunlock">
<term><command>lpunlock</command></term>
<listitem><para>unhangs a printer which claims it is <quote>waiting for
lock</quote>.</para>
<indexterm zone="expect lpunlock">
<primary sortas="b-lpunlock">lpunlock</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="mkpasswd">
<term><command>mkpasswd</command></term>
<listitem><para>generates passwords and can apply them automatically to
users.</para>
<indexterm zone="expect mkpasswd">
<primary sortas="b-mkpasswd">mkpasswd</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="passmass">
<term><command>passmass</command></term>
<listitem><para>changes a password on multiple machines.</para>
<indexterm zone="expect passmass">
<primary sortas="b-passmass">passmass</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="rftp">
<term><command>rftp</command></term>
<listitem><para>is much like <command>ftp</command> except
it uses <userinput>~g</userinput> and <userinput>~p</userinput> instead of
<userinput>mget</userinput> and <userinput>mput</userinput>.</para>
<indexterm zone="expect rftp">
<primary sortas="b-rftp">rftp</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="rlogin-cwd">
<term><command>rlogin-cwd</command></term>
<listitem><para>is <command>rlogin</command> except it uses the local current
directory as the current working directory on the remote machine.</para>
<indexterm zone="expect rlogin-cwd">
<primary sortas="b-rlogin-cwd">rlogin-cwd</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="timed-read">
<term><command>timed-read</command></term>
<listitem><para> reads a complete line from stdin and aborts after a given
number of seconds.</para>
<indexterm zone="expect timed-read">
<primary sortas="b-timed-read">timed-read</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="timed-run">
<term><command>timed-run</command></term>
<listitem><para>runs a program for a given amount of time.</para>
<indexterm zone="expect timed-run">
<primary sortas="b-timed-run">timed-run</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="unbuffer">
<term><command>unbuffer</command></term>
<listitem><para>disables the output buffering that occurs when program output
is redirected.</para>
<indexterm zone="expect unbuffer">
<primary sortas="b-unbuffer">unbuffer</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="weather">
<term><command>weather</command></term>
<listitem><para>retrieves a weather report (courtesy University of Michigan)
for a given city or geographical area.</para>
<indexterm zone="expect weather">
<primary sortas="b-weather">weather</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="expectk">
<term><command>expectk</command></term>
<listitem><para>is a combination of <application>Expect</application> with
<application>Tk</application> and should run any <command>wish</command> or
<application>Expect</application> script.</para>
<indexterm zone="expect expectk">
<primary sortas="b-expectk">expectk</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="multixterm">
<term><command>multixterm</command></term>
<listitem><para>creates multiple <command>xterm</command>s that can be driven
together or separately.</para>
<indexterm zone="expect multixterm">
<primary sortas="b-multixterm">multixterm</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="tknewsbiff">
<term><command>tknewsbiff</command></term>
<listitem><para>pops up a window when there is unread news in your favorite
newsgroups and removes the window after you've read the news.</para>
<indexterm zone="expect tknewsbiff">
<primary sortas="b-tknewsbiff">tknewsbiff</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="tkpasswd">
<term><command>tkpasswd</command></term>
<listitem><para>is a script to change passwords using
<command>expectk</command>.</para>
<indexterm zone="expect tkpasswd">
<primary sortas="b-tkpasswd">tkpasswd</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="xkibitz">
<term><command>xkibitz</command></term>
<listitem><para>allows users in separate <command>xterm</command>s to share
one shell (or any program that runs in an <command>xterm</command>).</para>
<indexterm zone="expect xkibitz">
<primary sortas="b-xkibitz">xkibitz</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="xpstat">
<term><command>xpstat</command></term>
<listitem><para>is a script that acts as a front-end for
<command>xpilot</command>.</para>
<indexterm zone="expect xpstat">
<primary sortas="b-xpstat">xpstat</primary>
</indexterm></listitem>
</varlistentry>
<varlistentry id="libexpect">
<term><filename class='libraryfile'>libexpect5.43.[so,a]</filename></term>
<listitem><para> contains functions that allow
<application>Expect</application> to be used as a
<application>Tcl</application> extension or to be used directly from C or
C++ (without <application>Tcl</application>).</para>
<indexterm zone="expect libexpect">
<primary sortas="c-libexpect5.43">libexpect5.43.[so,a]</primary>
</indexterm></listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>