504 lines
6.8 KiB
HTML
504 lines
6.8 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Terminal Control Commands</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
|
REL="HOME"
|
|
TITLE="Advanced Bash-Scripting Guide"
|
|
HREF="index.html"><LINK
|
|
REL="UP"
|
|
TITLE="External Filters, Programs and Commands"
|
|
HREF="external.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Communications Commands"
|
|
HREF="communications.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Math Commands"
|
|
HREF="mathc.html"></HEAD
|
|
><BODY
|
|
CLASS="SECT1"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
SUMMARY="Header navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>Advanced Bash-Scripting Guide: </TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="communications.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
>Chapter 16. External Filters, Programs and Commands</TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="mathc.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="SECT1"
|
|
><H1
|
|
CLASS="SECT1"
|
|
><A
|
|
NAME="TERMINALCCMDS"
|
|
></A
|
|
>16.7. Terminal Control Commands</H1
|
|
><P
|
|
></P
|
|
><DIV
|
|
CLASS="VARIABLELIST"
|
|
><P
|
|
><B
|
|
><A
|
|
NAME="TERMCOMMANDLISTING1"
|
|
></A
|
|
>Command affecting the console
|
|
or terminal</B
|
|
></P
|
|
><DL
|
|
><DT
|
|
><A
|
|
NAME="TPUTREF"
|
|
></A
|
|
><B
|
|
CLASS="COMMAND"
|
|
>tput</B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>Initialize terminal and/or fetch information about it from
|
|
<SPAN
|
|
CLASS="DATABASE"
|
|
>terminfo</SPAN
|
|
> data. Various options permit
|
|
certain terminal operations: <B
|
|
CLASS="COMMAND"
|
|
>tput clear</B
|
|
>
|
|
is the equivalent of <A
|
|
HREF="terminalccmds.html#CLEARREF"
|
|
>clear</A
|
|
>;
|
|
<B
|
|
CLASS="COMMAND"
|
|
>tput reset</B
|
|
> is the equivalent
|
|
of <A
|
|
HREF="terminalccmds.html#RESETREF"
|
|
>reset</A
|
|
>.</P
|
|
><P
|
|
> <TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="90%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
><TT
|
|
CLASS="PROMPT"
|
|
>bash$ </TT
|
|
><TT
|
|
CLASS="USERINPUT"
|
|
><B
|
|
>tput longname</B
|
|
></TT
|
|
>
|
|
<TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
>xterm terminal emulator (X Window System)</TT
|
|
>
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
</P
|
|
><P
|
|
>Issuing a <B
|
|
CLASS="COMMAND"
|
|
>tput cup X Y</B
|
|
> moves
|
|
the cursor to the (X,Y) coordinates in the current
|
|
terminal. A <B
|
|
CLASS="COMMAND"
|
|
>clear</B
|
|
> to erase the terminal
|
|
screen would normally precede this.</P
|
|
><P
|
|
> Some interesting options to <I
|
|
CLASS="FIRSTTERM"
|
|
>tput</I
|
|
> are:
|
|
|
|
<P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="OPTION"
|
|
>bold</TT
|
|
>, for high-intensity
|
|
text</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="OPTION"
|
|
>smul</TT
|
|
>, to underline text
|
|
in the terminal</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="OPTION"
|
|
>smso</TT
|
|
>, to render text in
|
|
reverse</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><TT
|
|
CLASS="OPTION"
|
|
>sgr0</TT
|
|
>, to reset the terminal
|
|
parameters (to normal), without clearing the
|
|
screen</P
|
|
></LI
|
|
></UL
|
|
>
|
|
|
|
</P
|
|
><P
|
|
>Example scripts using <I
|
|
CLASS="FIRSTTERM"
|
|
>tput</I
|
|
>:
|
|
<P
|
|
></P
|
|
><OL
|
|
TYPE="1"
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="colorizing.html#COLORECHO"
|
|
>Example 36-15</A
|
|
></P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="colorizing.html#EX30A"
|
|
>Example 36-13</A
|
|
></P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="contributed-scripts.html#HOMEWORK"
|
|
>Example A-44</A
|
|
></P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="contributed-scripts.html#NIM"
|
|
>Example A-42</A
|
|
></P
|
|
></LI
|
|
><LI
|
|
><P
|
|
><A
|
|
HREF="arrays.html#POEM"
|
|
>Example 27-2</A
|
|
></P
|
|
></LI
|
|
></OL
|
|
>
|
|
</P
|
|
><P
|
|
>Note that <A
|
|
HREF="system.html#STTYREF"
|
|
>stty</A
|
|
> offers
|
|
a more powerful command set for controlling a terminal.</P
|
|
></DD
|
|
><DT
|
|
><A
|
|
NAME="INFOCMPREF"
|
|
></A
|
|
><B
|
|
CLASS="COMMAND"
|
|
>infocmp</B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>This command prints out extensive information about the
|
|
current terminal. It references the
|
|
<I
|
|
CLASS="FIRSTTERM"
|
|
>terminfo</I
|
|
> database.</P
|
|
><P
|
|
> <TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="90%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
><TT
|
|
CLASS="PROMPT"
|
|
>bash$ </TT
|
|
><TT
|
|
CLASS="USERINPUT"
|
|
><B
|
|
>infocmp</B
|
|
></TT
|
|
>
|
|
<TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
># Reconstructed via infocmp from file:
|
|
/usr/share/terminfo/r/rxvt
|
|
rxvt|rxvt terminal emulator (X Window System),
|
|
am, bce, eo, km, mir, msgr, xenl, xon,
|
|
colors#8, cols#80, it#8, lines#24, pairs#64,
|
|
acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
|
|
bel=^G, blink=\E[5m, bold=\E[1m,
|
|
civis=\E[?25l,
|
|
clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M,
|
|
...</TT
|
|
>
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
</P
|
|
></DD
|
|
><DT
|
|
><A
|
|
NAME="RESETREF"
|
|
></A
|
|
><B
|
|
CLASS="COMMAND"
|
|
>reset</B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>Reset terminal parameters and clear text screen. As with
|
|
<B
|
|
CLASS="COMMAND"
|
|
>clear</B
|
|
>, the cursor and prompt reappear in the
|
|
upper lefthand corner of the terminal.</P
|
|
></DD
|
|
><DT
|
|
><A
|
|
NAME="CLEARREF"
|
|
></A
|
|
><B
|
|
CLASS="COMMAND"
|
|
>clear</B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>The <B
|
|
CLASS="COMMAND"
|
|
>clear</B
|
|
> command simply clears
|
|
the text screen at the console or in an
|
|
<I
|
|
CLASS="FIRSTTERM"
|
|
>xterm</I
|
|
>. The prompt and cursor
|
|
reappear at the upper lefthand corner of the screen or
|
|
xterm window. This command may be used either at the command
|
|
line or in a script. See <A
|
|
HREF="testbranch.html#EX30"
|
|
>Example 11-26</A
|
|
>.</P
|
|
></DD
|
|
><DT
|
|
><A
|
|
NAME="RESIZEREF"
|
|
></A
|
|
><B
|
|
CLASS="COMMAND"
|
|
>resize</B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>Echoes commands necessary to set <TT
|
|
CLASS="VARNAME"
|
|
>$TERM</TT
|
|
>
|
|
and <TT
|
|
CLASS="VARNAME"
|
|
>$TERMCAP</TT
|
|
> to duplicate the
|
|
<I
|
|
CLASS="FIRSTTERM"
|
|
>size</I
|
|
> (dimensions) of the current
|
|
terminal.</P
|
|
><P
|
|
> <TABLE
|
|
BORDER="1"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="90%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="SCREEN"
|
|
><TT
|
|
CLASS="PROMPT"
|
|
>bash$ </TT
|
|
><TT
|
|
CLASS="USERINPUT"
|
|
><B
|
|
>resize</B
|
|
></TT
|
|
>
|
|
<TT
|
|
CLASS="COMPUTEROUTPUT"
|
|
>set noglob;
|
|
setenv COLUMNS '80';
|
|
setenv LINES '24';
|
|
unset noglob;</TT
|
|
>
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
</P
|
|
></DD
|
|
><DT
|
|
><A
|
|
NAME="SCRIPTREF"
|
|
></A
|
|
><B
|
|
CLASS="COMMAND"
|
|
>script</B
|
|
></DT
|
|
><DD
|
|
><P
|
|
>This utility records (saves to a file) all the user keystrokes at
|
|
the command-line in a console or an xterm window. This, in effect,
|
|
creates a record of a session.</P
|
|
></DD
|
|
></DL
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
SUMMARY="Footer navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="communications.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
ACCESSKEY="H"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="mathc.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Communications Commands</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="external.html"
|
|
ACCESSKEY="U"
|
|
>Up</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Math Commands</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |