aboutsummaryrefslogtreecommitdiffstats
path: root/documentation/bash.1
diff options
context:
space:
mode:
authorJari Aalto <jari.aalto@cante.net>1996-12-23 17:02:34 +0000
committerJari Aalto <jari.aalto@cante.net>2009-09-12 16:46:49 +0000
commitccc6cda312fea9f0468ee65b8f368e9653e1380b (patch)
treeb059878adcfd876c4acb8030deda1eeb918c7e75 /documentation/bash.1
parent726f63884db0132f01745f1fb4465e6621088ccf (diff)
downloadandroid_external_bash-ccc6cda312fea9f0468ee65b8f368e9653e1380b.tar.gz
android_external_bash-ccc6cda312fea9f0468ee65b8f368e9653e1380b.tar.bz2
android_external_bash-ccc6cda312fea9f0468ee65b8f368e9653e1380b.zip
Imported from ../bash-2.0.tar.gz.
Diffstat (limited to 'documentation/bash.1')
-rw-r--r--documentation/bash.15371
1 files changed, 0 insertions, 5371 deletions
diff --git a/documentation/bash.1 b/documentation/bash.1
deleted file mode 100644
index 9a04b1a..0000000
--- a/documentation/bash.1
+++ /dev/null
@@ -1,5371 +0,0 @@
-.\"
-.\" MAN PAGE COMMENTS to
-.\"
-.\" Chet Ramey
-.\" Information Network Services
-.\" Case Western Reserve University
-.\" chet@ins.CWRU.Edu
-.\"
-.\" Last Change: Fri May 5 10:44:39 EDT 1995
-.\"
-.\" bash_builtins, strip all but Built-Ins section
-.if \n(zZ=1 .ig zZ
-.TH BASH 1 "1995 May 5" GNU
-.\"
-.\" There's some problem with having a `@'
-.\" in a tagged paragraph with the BSD man macros.
-.\" It has to do with `@' appearing in the }1 macro.
-.\" This is a problem on 4.3 BSD and Ultrix, but Sun
-.\" appears to have fixed it.
-.\" If you're seeing the characters
-.\" `@u-3p' appearing before the lines reading
-.\" `possible-hostname-completions
-.\" and `complete-hostname' down in READLINE,
-.\" then uncomment this redefinition.
-.\"
-.de }1
-.ds ]X \&\\*(]B\\
-.nr )E 0
-.if !"\\$1"" .nr )I \\$1n
-.}f
-.ll \\n(LLu
-.in \\n()Ru+\\n(INu+\\n()Iu
-.ti \\n(INu
-.ie !\\n()Iu+\\n()Ru-\w\\*(]Xu-3p \{\\*(]X
-.br\}
-.el \\*(]X\h|\\n()Iu+\\n()Ru\c
-.}f
-..
-.\"
-.\" File Name macro. This used to be `.PN', for Path Name,
-.\" but Sun doesn't seem to like that very much.
-.\"
-.de FN
-\fI\|\\$1\|\fP
-..
-.SH NAME
-bash \- GNU Bourne\-Again SHell
-.SH SYNOPSIS
-.B bash
-[options]
-[file]
-.SH COPYRIGHT
-.if n Bash is Copyright (C) 1989, 1991 by the Free Software Foundation, Inc.
-.if t Bash is Copyright \(co 1989, 1991 by the Free Software Foundation, Inc.
-.SH DESCRIPTION
-.B Bash
-is an \fBsh\fR\-compatible command language interpreter that
-executes commands read from the standard input or from a file.
-.B Bash
-also incorporates useful features from the \fIKorn\fP and \fIC\fP
-shells (\fBksh\fP and \fBcsh\fP).
-.PP
-.B Bash
-is ultimately intended to be a conformant implementation of the IEEE
-Posix Shell and Tools specification (IEEE Working Group 1003\.2).
-.SH OPTIONS
-In addition to the single\-character shell options documented in the
-description of the \fBset\fR builtin command, \fBbash\fR
-interprets the following flags when it is invoked:
-.PP
-.PD 0
-.TP 10
-.BI \-c "\| string\^"
-If the
-.B \-c
-flag is present, then commands are read from
-.IR string .
-If there are arguments after the
-.IR string ,
-they are assigned to the positional parameters, starting with
-.BR $0 .
-.TP
-.B \-i
-If the
-.B \-i
-flag is present, the shell is
-.IR interactive .
-.TP
-.B \-s
-If the
-.B \-s
-flag is present, or if no arguments remain after option
-processing, then commands are read from the standard input.
-This option allows the positional parameters to be set
-when invoking an interactive shell.
-.TP
-.B \-
-A single
-.B \-
-signals the end of options and disables further option processing.
-Any arguments after the
-.B \-
-are treated as filenames and arguments. An argument of
-.B \-\-
-is equivalent to an argument of \fB\-\fP.
-.PD
-.PP
-.B Bash
-also interprets a number of multi\-character options. These options must
-appear on the command line before the single\-character options to be
-recognized.
-.PP
-.PD 0
-.TP 10
-.B \-norc
-Do not read and execute the personal initialization file
-.I ~/.bashrc
-if the shell is interactive.
-This option is on by default if the shell is invoked as
-.BR sh .
-.TP
-.B \-noprofile
-Do not read either the system\-wide startup file
-.FN /etc/profile
-or any of the personal initialization files
-.IR ~/.bash_profile ,
-.IR ~/.bash_login ,
-or
-.IR ~/.profile .
-By default,
-.B bash
-normally reads these files when it is invoked as a login shell (see
-.SM
-.B INVOCATION
-below).
-.TP
-\fB\-rcfile\fP \fIfile\fP
-Execute commands from
-.I file
-instead of the standard personal initialization file
-.IR ~/.bashrc ,
-if the shell is interactive (see
-.SM
-.B INVOCATION
-below).
-.TP
-.B \-version
-Show the version number of this instance of
-.B bash
-when starting.
-.TP
-.B \-quiet
-Do not be verbose when starting up (do not show the shell version or any
-other information). This is the default.
-.TP
-.B \-login
-Make
-.B bash
-act as if it had been invoked as a login shell.
-.TP
-.B \-nobraceexpansion
-Do not perform curly brace expansion (see
-.B Brace Expansion
-below).
-.TP
-.B \-nolineediting
-Do not use the GNU
-.I readline
-library to read command lines if interactive.
-.TP
-.B \-posix
-Change the behavior of bash where the default operation differs
-from the Posix 1003.2 standard to match the standard
-.PD
-.SH ARGUMENTS
-If arguments remain after option processing, and neither the
-.B \-c
-nor the
-.B \-s
-option has been supplied, the first argument is assumed to
-be the name of a file containing shell commands. If
-.B bash
-is invoked in this fashion,
-.B $0
-is set to the name of the file, and the positional parameters
-are set to the remaining arguments.
-.B Bash
-reads and executes commands from this file, then exits.
-.B Bash's
-exit status is the exit status of the last command executed
-in the script.
-.SH DEFINITIONS
-.PD 0
-.TP
-.B blank
-A space or tab.
-.TP
-.B word
-A sequence of characters considered as a single unit by the shell.
-Also known as a
-.BR token .
-.TP
-.B name
-A
-.I word
-consisting only of alphanumeric characters and underscores, and
-beginning with an alphabetic character or an underscore. Also
-referred to as an
-.BR identifier .
-.TP
-.B metacharacter
-A character that, when unquoted, separates words. One of the following:
-.br
-.RS
-.PP
-.if t \fB| & ; ( ) < > space tab\fP
-.if n \fB| & ; ( ) < > space tab\fP
-.RE
-.PP
-.TP
-.B control operator
-A \fItoken\fP that performs a control function. It is one of the following
-symbols:
-.RS
-.PP
-.if t \fB\(bv\|\(bv & && ; ;; ( ) | <newline>\fP
-.if n \fB|| & && ; ;; ( ) | <newline>\fP
-.RE
-.PD
-.SH "RESERVED WORDS"
-\fIReserved words\fP are words that have a special meaning to the shell.
-The following words are recognized as reserved when unquoted and either
-the first word of a simple command (see
-.SM
-.B SHELL GRAMMAR
-below) or the third word of a
-.B case
-or
-.B for
-command:
-.if t .RS
-.PP
-.B
-.if n ! case do done elif else esac fi for function if in select then until while { }
-.if t ! case do done elif else esac fi for function if in select then until while { }
-.if t .RE
-.RE
-.SH "SHELL GRAMMAR"
-.SS Simple Commands
-.PP
-A \fIsimple command\fP is a sequence of optional variable assignments
-followed by \fIblank\fP\-separated words and redirections, and
-terminated by a \fIcontrol operator\fP. The first word
-specifies the command to be executed. The remaining words are
-passed as arguments to the invoked command.
-.PP
-The return value of a \fIsimple command\fP is its exit status, or
-128+\fIn\^\fP if the command is terminated by signal
-.IR n .
-.SS Pipelines
-.PP
-A \fIpipeline\fP is a sequence of one or more commands separated by
-the character
-.BR | .
-The format for a pipeline is:
-.RS
-.PP
-[ ! ] \fIcommand\fP [ \fB|\fP \fIcommand2\fP ... ]
-.RE
-.PP
-The standard output of
-.I command
-is connected to the standard input of
-.IR command2 .
-This connection is performed before any redirections specified by the
-command (see
-.SM
-.B REDIRECTION
-below).
-.PP
-If the reserved word
-.B !
-precedes a pipeline, the exit status of that
-pipeline is the logical NOT of the exit status of the last command.
-Otherwise, the status of the pipeline is the exit status of the last
-command. The shell waits for all commands in the pipeline to
-terminate before returning a value.
-.PP
-Each command in a pipeline is executed as a separate process (i.e., in a
-subshell).
-.SS Lists
-.PP
-A \fIlist\fP is a sequence of one or more pipelines separated by one
-of the operators
-.BR ; ,
-.BR & ,
-.BR && ,
-or
-.BR \(bv\|\(bv ,
-and terminated by one of
-.BR ; ,
-.BR & ,
-or
-.BR <newline> .
-.PP
-Of these list operators,
-.B &&
-and
-.B \(bv\|\(bv
-have equal precedence, followed by
-.B ;
-and
-.BR &,
-which have equal precedence.
-.PP
-If a command is terminated by the control operator
-.BR & ,
-the shell executes the command in the \fIbackground\fP
-in a subshell. The shell does not wait for the command to
-finish, and the return status is 0. Commands separated by a
-.B ;
-are executed sequentially; the shell waits for each
-command to terminate in turn. The return status is the
-exit status of the last command executed.
-.PP
-The control operators
-.B &&
-and
-.B \(bv\|\(bv
-denote AND lists and OR lists, respectively.
-An AND list has the form
-.RS
-.PP
-\fIcommand\fP \fB&&\fP \fIcommand2\fP
-.RE
-.PP
-.I command2
-is executed if, and only if,
-.I command
-returns an exit status of zero.
-.PP
-An OR list has the form
-.RS
-.PP
-\fIcommand\fP \fB\(bv\|\(bv\fP \fIcommand2\fP
-.PP
-.RE
-.PP
-.I command2
-is executed if and only if
-.I command
-returns a non\-zero exit status. The return status of
-AND and OR lists is the exit status of the last command
-executed in the list.
-.SS Compound Commands
-.PP
-A \fIcompound command\fP is one of the following:
-.TP
-(\fIlist\fP)
-\fIlist\fP is executed in a subshell. Variable assignments and builtin
-commands that affect the shell's environment do not remain in effect
-after the command completes. The return status is the exit status of
-\fIlist\fP.
-.TP
-{ \fIlist\fP; }
-\fIlist\fP is simply executed in the current shell environment. This is
-known as a \fIgroup command\fP. The return status is the exit status of
-\fIlist\fP.
-.TP
-\fBfor\fP \fIname\fP [ \fBin\fP \fIword\fP; ] \fBdo\fP \fIlist\fP ; \fBdone\fP
-The list of words following \fBin\fP is expanded, generating a list
-of items. The variable \fIname\fP is set to each element of this list
-in turn, and \fIlist\fP is executed each time. If the \fBin\fP
-\fIword\fP is omitted, the \fBfor\fP command executes \fIlist\fP
-once for each positional parameter that is set (see
-.SM
-.B PARAMETERS
-below).
-.TP
-\fBselect\fP \fIname\fP [ \fBin\fP \fIword\fP; ] \fBdo\fP \fIlist\fP ; \fBdone\fP
-The list of words following \fBin\fP is expanded, generating a list
-of items. The set of expanded words is printed on the standard
-error, each preceded by a number. If the \fBin\fP
-\fIword\fP is omitted, the positional parameters are printed (see
-.SM
-.B PARAMETERS
-below). The
-.B PS3
-prompt is then displayed and a line read from the standard input.
-If the line consists of the number corresponding to one of
-the displayed words, then the value of
-.I name
-is set to that word. If the line is empty, the words and prompt
-are displayed again. If EOF is read, the command completes. Any
-other value read causes
-.I name
-to be set to null. The line read is saved in the variable
-.BR REPLY .
-The
-.I list
-is executed after each selection until a
-.B break
-or
-.B return
-command is executed.
-The exit status of
-.B select
-is the exit status of the last command executed in
-.IR list ,
-or zero if no commands were executed.
-.TP
-\fBcase\fP \fIword\fP \fBin\fP [ \fIpattern\fP [ \fB|\fP \fIpattern\fP ] \
-... ) \fIlist\fP ;; ] ... \fBesac\fP
-A \fBcase\fP command first expands \fIword\fP, and tries to match
-it against each \fIpattern\fP in turn, using the same matching rules
-as for pathname expansion (see
-.B Pathname Expansion
-below). When a match is found, the
-corresponding \fIlist\fP is executed. After the first match, no
-subsequent matches are attempted. The exit status is zero if no
-patterns are matches. Otherwise, it is the exit status of the
-last command executed in \fIlist\fP.
-.TP
-\fBif\fP \fIlist\fP \fBthen\fP \fIlist\fP \
-[ \fBelif\fP \fIlist\fP \fBthen\fP \fIlist\fP ] ... \
-[ \fBelse\fP \fIlist\fP ] \fBfi\fP
-The
-.B if
-.I list
-is executed. If its exit status is zero, the
-\fBthen\fP \fIlist\fP is executed. Otherwise, each \fBelif\fP
-\fIlist\fP is executed in turn, and if its exit status is zero,
-the corresponding \fBthen\fP \fIlist\fP is executed and the
-command completes. Otherwise, the \fBelse\fP \fIlist\fP is
-executed, if present. The exit status is the exit status of the
-last command executed, or zero if no condition tested true.
-.TP
-.PD 0
-\fBwhile\fP \fIlist\fP \fBdo\fP \fIlist\fP \fBdone\fP
-.TP
-\fBuntil\fP \fIlist\fP \fBdo\fP \fIlist\fP \fBdone\fP
-.PD
-The \fBwhile\fP command continuously executes the \fBdo\fP
-\fIlist\fP as long as the last command in \fIlist\fP returns
-an exit status of zero. The \fBuntil\fP command is identical
-to the \fBwhile\fP command, except that the test is negated;
-the
-.B do
-.I list
-is executed as long as the last command in
-.I list
-returns a non\-zero exit status.
-The exit status of the \fBwhile\fP and \fBuntil\fP commands
-is the exit status
-of the last \fBdo\fP \fIlist\fP command executed, or zero if
-none was executed.
-.TP
-[ \fBfunction\fP ] \fIname\fP () { \fIlist\fP; }
-This defines a function named \fIname\fP. The \fIbody\fP of the
-function is the
-.I list
-of commands between { and }. This list
-is executed whenever \fIname\fP is specified as the
-name of a simple command. The exit status of a function is
-the exit status of the last command executed in the body. (See
-.SM
-.B FUNCTIONS
-below.)
-.SH COMMENTS
-In a non\-interactive shell, or an interactive shell in which the
-.B -o interactive\-comments
-option to the \fBset\fP builtin is enabled, a word beginning with
-.B #
-causes that word and all remaining characters on that line to
-be ignored. An interactive shell without the
-.B -o interactive\-comments
-option enabled does not allow comments.
-.SH QUOTING
-\fIQuoting\fP is used to remove the special meaning of certain
-characters or words to the shell. Quoting can be used to
-disable special treatment for special characters, to prevent
-reserved words from being recognized as such, and to prevent
-parameter expansion.
-.PP
-Each of the \fImetacharacters\fP listed above under
-.SM
-.B DEFINITIONS
-has special meaning to the shell and must be quoted if they are to
-represent themselves. There are three quoting mechanisms: the
-.IR "escape character" ,
-single quotes, and double quotes.
-.PP
-A non-quoted backslash (\fB\e\fP) is the
-.IR "escape character" .
-It preserves the literal value of the next character that follows,
-with the exception of <newline>. If a \fB\e\fP<newline> pair
-appears, and the backslash is not quoted, the \fB\e\fP<newline>
-is treated as a line continuation (that is, it is effectively ignored).
-.PP
-Enclosing characters in single quotes preserves the literal value
-of each character within the quotes. A single quote may not occur
-between single quotes, even when preceded by a backslash.
-.PP
-Enclosing characters in double quotes preserves the literal value
-of all characters within the quotes, with the exception of
-.BR $ ,
-.BR ` ,
-and
-.BR \e .
-The characters
-.B $
-and
-.B `
-retain their special meaning within double quotes. The backslash
-retains its special meaning only when followed by one of the following
-characters:
-.BR $ ,
-.BR ` ,
-\^\fB"\fP\^,
-.BR \e ,
-or
-.BR <newline> .
-A double quote may be quoted within double quotes by preceding it with
-a backslash.
-.PP
-The special parameters
-.B *
-and
-.B @
-have special meaning when in double
-quotes (see
-.SM
-.B PARAMETERS
-below).
-.SH PARAMETERS
-A
-.I parameter
-is an entity that stores values, somewhat like a
-variable in a conventional programming language. It can be a
-.IR name ,
-a number, or one of the special characters listed below under
-.BR "Special Parameters" .
-For the shell's purposes, a
-.I variable
-is a parameter denoted by a
-.IR name .
-.PP
-A parameter is set if it has been assigned a value. The null string is
-a valid value. Once a variable is set, it may be unset only by using
-the
-.B unset
-builtin command (see
-.SM
-.B SHELL BUILTIN COMMANDS
-below).
-.PP
-A
-.I variable
-may be assigned to by a statement of the form
-.RS
-.PP
-\fIname\fP=[\fIvalue\fP]
-.RE
-.PP
-If
-.I value
-is not given, the variable is assigned the null string. All
-.I values
-undergo tilde expansion, parameter and variable expansion, command
-substitution, arithmetic expansion, and quote removal. If
-the variable has its
-.B \-i
-attribute set (see
-.B declare
-below in
-.SM
-.BR "SHELL BUILTIN COMMANDS" )
-then
-.I value
-is subject to arithmetic expansion even if the $[...] syntax does
-not appear. Word splitting is not performed, with the exception
-of \fB"$@"\fP as explained below under
-.BR "Special Parameters" .
-Pathname expansion is not performed.
-.SS Positional Parameters
-.PP
-A
-.I positional parameter
-is a parameter denoted by one or more
-digits, other than the single digit 0. Positional parameters are
-assigned from the shell's arguments when it is invoked,
-and may be reassigned using the
-.B set
-builtin command. Positional parameters may not be assigned to
-with assignment statements. The positional parameters are
-temporarily replaced when a shell function is executed (see
-.SM
-.B FUNCTIONS
-below).
-.PP
-When a positional parameter consisting of more than a single
-digit is expanded, it must be enclosed in braces (see
-.SM
-.B EXPANSION
-below).
-.SS Special Parameters
-.PP
-The shell treats several parameters specially. These parameters may
-only be referenced; assignment to them is not allowed.
-.PD 0
-.TP
-.B *
-Expands to the positional parameters, starting from one. When the
-expansion occurs within double quotes, it expands to a single word
-with the value of each parameter separated by the first character
-of the
-.SM
-.B IFS
-special variable. That is, ``\fB$*\fP'' is equivalent
-to ``\fB$1\fP\fIc\fP\fB$2\fP\fIc\fP\fB...\fP'', where
-.I c
-is the first character of the value of the
-.SM
-.B IFS
-variable. If
-.SM
-.B IFS
-is null or unset, the parameters are separated by spaces.
-.TP
-.B @
-Expands to the positional parameters, starting from one. When the
-expansion occurs within double quotes, each parameter expands as a
-separate word. That is, ``
-.BR $@ ''
-is equivalent to
-``\fB$1\fP'' ``\fB$2\fP'' ...
-When there are no positional parameters, ``\fB$@\fP'' and
-.B $@
-expand to nothing (i.e., they are removed).
-.TP
-.B #
-Expands to the number of positional parameters in decimal.
-.TP
-.B ?
-Expands to the status of the most recently executed foreground
-pipeline.
-.TP
-.B \-
-Expands to the current option flags as specified upon invocation,
-by the
-.B set
-builtin command, or those set by the shell itself
-(such as the
-.B \-i
-flag).
-.TP
-.B $
-Expands to the process ID of the shell. In a () subshell, it
-expands to the process ID of the current shell, not the
-subshell.
-.TP
-.B !
-Expands to the process ID of the most recently executed background
-(asynchronous) command.
-.TP
-.B 0
-Expands to the name of the shell or shell script. This is set at
-shell initialization. If
-.B bash
-is invoked with a file of commands,
-.B $0
-is set to the name of that file. If
-.B bash
-is started with the
-.B \-c
-option, then
-.B $0
-is set to the first argument after the string to be
-executed, if one is present. Otherwise, it is set
-to the pathname used to invoke
-.BR bash ,
-as given by argument zero.
-.TP
-.B _
-Expands to the last argument to the previous command, after expansion.
-Also set to the full pathname of each command executed and placed in
-the environment exported to that command.
-.PD
-.SS Shell Variables
-.PP
-The following variables are set by the shell:
-.PP
-.PD 0
-.TP
-.B PPID
-The process ID of the shell's parent.
-.TP
-.B PWD
-The current working directory as set by the
-.B cd
-command.
-.TP
-.B OLDPWD
-The previous working directory as set by the
-.B cd
-command.
-.TP
-.B REPLY
-Set to the line of input read by the
-.B read
-builtin command when no arguments are supplied.
-.TP
-.B UID
-Expands to the user ID of the current user, initialized at shell startup.
-.TP
-.B EUID
-Expands to the effective user ID of the current user, initialized at
-shell startup.
-.TP
-.B BASH
-Expands to the full pathname used to invoke this instance of
-.BR bash .
-.TP
-.B BASH_VERSION
-Expands to the version number of this instance of
-.BR bash .
-.TP
-.B SHLVL
-Incremented by one each time an instance of
-.B bash
-is started.
-.TP
-.B RANDOM
-Each time this parameter is referenced, a random integer is
-generated. The sequence of random numbers may be initialized by assigning
-a value to
-.SM
-.BR RANDOM .
-If
-.SM
-.B RANDOM
-is unset, it loses its special properties, even if it is
-subsequently reset.
-.TP
-.B SECONDS
-Each time this parameter is
-referenced, the number of seconds since shell invocation is returned. If a
-value is assigned to
-.SM
-.BR SECONDS ,
-the value returned upon subsequent
-references is
-the number of seconds since the assignment plus the value assigned.
-If
-.SM
-.B SECONDS
-is unset, it loses its special properties, even if it is
-subsequently reset.
-.TP
-.B LINENO
-Each time this parameter is referenced, the shell substitutes
-a decimal number representing the current sequential line number
-(starting with 1) within a script or function. When not in a
-script or function, the value substituted is not guaranteed to
-be meaningful. When in a function, the value is not
-the number of the source line that the command appears
-on (that information has been lost by the time the function is
-executed), but is an approximation of the number of
-.I simple commands
-executed in the current function.
-If
-.SM
-.B LINENO
-is unset, it loses its special properties, even if it is
-subsequently reset.
-.TP
-.B HISTCMD
-The history number, or index in the history list, of the current
-command. If
-.SM
-.B HISTCMD
-is unset, it loses its special properties, even if it is
-subsequently reset.
-.TP
-.B OPTARG
-The value of the last option argument processed by the
-.B getopts
-builtin command (see
-.SM
-.B SHELL BUILTIN COMMANDS
-below).
-.TP
-.B OPTIND
-The index of the next argument to be processed by the
-.B getopts
-builtin command (see
-.SM
-.B SHELL BUILTIN COMMANDS
-below).
-.TP
-.B HOSTTYPE
-Automatically set to a string that uniquely
-describes the type of machine on which
-.B bash
-is executing. The default is system-dependent.
-.TP
-.B OSTYPE
-Automatically set to a string that
-describes the operating system on which
-.B bash
-is executing. The default is system-dependent.
-.PD
-.PP
-The following variables are used by the shell. In some cases,
-.B bash
-assigns a default value to a variable; these cases are noted
-below.
-.PP
-.PD 0
-.TP
-.B IFS
-The
-.I Internal Field Separator
-that is used
-for word splitting after expansion and to
-split lines into words with the
-.B read
-builtin command. The default value is
-``<space><tab><newline>''.
-.TP
-.B PATH
-The search path for commands. It
-is a colon-separated list of directories in which
-the shell looks for commands (see
-.SM
-.B COMMAND EXECUTION
-below). The default path is system\-dependent,
-and is set by the administrator who installs
-.BR bash .
-A common value is ``/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin:.''.
-.TP
-.B HOME
-The home directory of the current user; the default argument for the
-\fBcd\fP builtin command.
-.TP
-.B CDPATH
-The search path for the
-.B cd
-command. This is a colon-separated
-list of directories in which the shell looks for destination directories
-specified by the
-.B cd
-command. A sample value is
-``.:~:/usr''.
-.TP
-.B ENV
-If this parameter is set when \fBbash\fP is executing a shell script,
-its value is interpreted as a filename containing commands to
-initialize the shell, as in
-.IR .bashrc .
-The value of
-.SM
-.B ENV
-is subjected to parameter expansion, command substitution, and arithmetic
-expansion before being interpreted as a pathname.
-.SM
-.B PATH
-is not used to search for the resultant pathname.
-.TP
-.B MAIL
-If this parameter is set to a filename and the
-.SM
-.B MAILPATH
-variable is not set,
-.B bash
-informs the user of the arrival of mail in the specified file.
-.TP
-.B MAILCHECK
-Specifies how
-often (in seconds)
-.B bash
-checks for mail. The default is 60 seconds. When it is time to check
-for mail, the shell does so before prompting.
-If this variable is unset, the shell disables mail checking.
-.TP
-.B MAILPATH
-A colon-separated list of pathnames to be checked for mail.
-The message to be printed may be specified by separating the pathname from
-the message with a `?'. $_ stands for the name of the current mailfile.
-Example:
-.RS
-.PP
-\fBMAILPATH\fP='/usr/spool/mail/bfox?"You have mail":~/shell-mail?"$_ has mail!"'
-.PP
-.B Bash
-supplies a default value for this variable, but the location of the user
-mail files that it uses is system dependent (e.g., /usr/spool/mail/\fB$USER\fP).
-.RE
-.TP
-.B MAIL_WARNING
-If set, and a file that \fBbash\fP is checking for mail has been
-accessed since the last time it was checked, the message ``The mail in
-\fImailfile\fP has been read'' is printed.
-.TP
-.B PS1
-The value of this parameter is expanded (see
-.SM
-.B PROMPTING
-below) and used as the primary prompt string. The default value is
-``\fBbash\e$ \fP''.
-.TP
-.B PS2
-The value of this parameter is expanded
-and used as the secondary prompt string. The default is
-``\fB> \fP''.
-.TP
-.B PS3
-The value of this parameter is used as the prompt for the
-.I select
-command (see
-.SM
-.B SHELL GRAMMAR
-above).
-.TP
-.B PS4
-The value of this parameter is expanded
-and the value is printed before each command
-.B bash
-displays during an execution trace. The first character of
-.SM
-.B PS4
-is replicated multiple times, as necessary, to indicate multiple
-levels of indirection. The default is ``\fB+ \fP''.
-.TP
-.B HISTSIZE
-The number of commands to remember in the command history (see
-.SM
-.B HISTORY
-below). The default value is 500.
-.TP
-.B HISTFILE
-The name of the file in which command history is saved. (See
-.SM
-.B HISTORY
-below.) The default value is \fI~/.bash_history\fP. If unset, the
-command history is not saved when an interactive shell exits.
-.TP
-.B HISTFILESIZE
-The maximum number of lines contained in the history file. When this
-variable is assigned a value, the history file is truncated, if
-necessary, to contain no more than that number of lines. The default
-value is 500.
-.TP
-.B OPTERR
-If set to the value 1,
-.B bash
-displays error messages generated by the
-.B getopts
-builtin command (see
-.SM
-.B SHELL BUILTIN COMMANDS
-below).
-.SM
-.B OPTERR
-is initialized to 1 each time the shell is invoked or a shell
-script is executed.
-.TP
-.B PROMPT_COMMAND
-If set, the value is executed as a command prior to issuing each primary
-prompt.
-.TP
-.B IGNOREEOF
-Controls the
-action of the shell on receipt of an
-.SM
-.B EOF
-character as the sole input. If set, the value is the number of
-consecutive
-.SM
-.B EOF
-characters typed as the first characters on an input line before
-.B bash
-exits. If the variable exists but does not have a numeric value, or
-has no value, the default value is 10. If it does not exist,
-.SM
-.B EOF
-signifies the end of input to the shell. This is only in effect for
-interactive shells.
-.TP
-.B TMOUT
-If set to a value greater than zero, the value is interpreted as the
-number of seconds to wait for input after issuing the primary prompt.
-.B Bash
-terminates after waiting for that number of seconds if input does
-not arrive.
-.TP
-.B FCEDIT
-The default editor for the
-.B fc
-builtin command.
-.TP
-.B FIGNORE
-A colon-separated list of suffixes to ignore when performing
-filename completion (see
-.SM
-.B READLINE
-below). A filename whose suffix matches one of the entries in
-.SM
-.B FIGNORE
-is excluded from the list of matched filenames. A sample
-value is ``.o:~''.
-.TP
-.B INPUTRC
-The filename for the readline startup file, overriding the default
-of
-.FN ~/.inputrc
-(see
-.SM
-.B READLINE
-below).
-.TP
-.B notify
-If set,
-.B bash
-reports terminated background jobs immediately, rather than waiting
-until before printing the next primary prompt (see also the
-.B \-b
-option to the
-.B set
-builtin command).
-.PD 0
-.TP
-.B history_control
-.TP
-.B HISTCONTROL
-.PD
-If set to a value of
-.IR ignorespace ,
-lines which begin with a
-.B space
-character are not entered on the history list. If set to
-a value of
-.IR ignoredups ,
-lines matching the last history line are not entered.
-A value of
-.I ignoreboth
-combines the two options.
-If unset, or if set to any other value than those above,
-all lines read
-by the parser are saved on the history list.
-.TP
-.B command_oriented_history
-If set,
-.B bash
-attempts to save all lines of a multiple\-line
-command in the same history entry. This allows
-easy re\-editing of multi\-line commands.
-.TP
-.B glob_dot_filenames
-If set,
-.B bash
-includes filenames beginning with a `.' in the results of pathname
-expansion.
-.TP
-.B allow_null_glob_expansion
-If set,
-.B bash
-allows pathname patterns which match no
-files (see
-.B Pathname Expansion
-below)
-to expand to a null string, rather than themselves.
-.TP
-.B histchars
-The two or three characters which control history expansion
-and tokenization (see
-.SM
-.B HISTORY EXPANSION
-below). The first character is the
-.IR "history expansion character" ,
-that is, the character which signals the start of a history
-expansion, normally `\fB!\fP'.
-The second character is the
-.IR "quick substitution"
-character, which is used as shorthand for re-running the previous
-command entered, substituting one string for another in the command.
-The default is `\fB^\fP'.
-The optional third character is the character
-which signifies that the remainder of the line is a comment, when found
-as the first character of a word, normally `\fB#\fP'. The history
-comment character causes history substitution to be skipped for the
-remaining words on the line. It does not necessarily cause the shell
-parser to treat the rest of the line as a comment.
-.TP
-.B nolinks
-If set, the shell does not follow symbolic links when executing
-commands that change the current working directory. It uses the
-physical directory structure instead. By default,
-.B bash
-follows the logical chain of directories when performing commands
-which change the current directory, such as
-.BR cd .
-See also the description of the \fB\-P\fP option to the \fBset\fP
-builtin (
-.SM
-.B SHELL BUILTIN COMMANDS
-below).
-.PD 0
-.TP
-.B hostname_completion_file
-.TP
-.B HOSTFILE
-.PD
-Contains the name of a file in the same format as
-.FN /etc/hosts
-that should be read when the shell needs to complete a
-hostname. The file may be changed interactively; the next
-time hostname completion is attempted
-.B bash
-adds the contents of the new file to the already existing database.
-.TP
-.B noclobber
-If set,
-.B bash
-does not overwrite an existing file with the
-.BR > ,
-.BR >& ,
-and
-.B <>
-redirection operators. This variable may be overridden when
-creating output files by using the redirection operator
-.B >|
-instead of
-.B >
-(see also the \fB\-C\fP option to the
-.B set
-builtin command).
-.TP
-.B auto_resume
-This variable controls how the shell interacts with the user and
-job control. If this variable is set, single word simple
-commands without redirections are treated as candidates for resumption
-of an existing stopped job. There is no ambiguity allowed; if there is
-more than one job beginning with the string typed, the job most recently
-accessed is selected. The
-.I name
-of a stopped job, in this context, is the command line used to
-start it.
-If set to the value
-.IR exact ,
-the string supplied must match the name of a stopped job exactly;
-if set to
-.IR substring ,
-the string supplied needs to match a substring of the name of a
-stopped job. The
-.I substring
-value provides functionality analogous to the
-.B %?
-job id (see
-.SM
-.B JOB CONTROL
-below). If set to any other value, the supplied string must
-be a prefix of a stopped job's name; this provides functionality
-analogous to the
-.B %
-job id.
-.TP
-.B no_exit_on_failed_exec
-If this variable exists, a non-interactive shell will not exit if
-it cannot execute the file specified in the
-.B exec
-builtin command. An interactive shell does not exit if
-.B exec
-fails.
-.TP
-.B cdable_vars
-If this is set, an argument to the
-.B cd
-builtin command that
-is not a directory is assumed to be the name of a variable whose
-value is the directory to change to.
-.PD
-.SH EXPANSION
-Expansion is performed on the command line after it has been split into
-words. There are seven kinds of expansion performed:
-.IR "brace expansion" ,
-.IR "tilde expansion" ,
-.IR "parameter and variable expansion" ,
-.IR "command substitution" ,
-.IR "arithmetic expansion" ,
-.IR "word splitting" ,
-and
-.IR "pathname expansion" .
-.PP
-The order of expansions is: brace expansion, tilde expansion,
-parameter, variable, command, and arithmetic substitution (done
-in a left\-to\-right fashion), word splitting, and pathname
-expansion.
-.PP
-On systems that can support it, there is an additional expansion
-available: \fIprocess substitution\fP.
-.PP
-Only brace expansion, word splitting, and pathname expansion
-can change the number of words of the expansion; other expansions
-expand a single word to a single word.
-The single exception to this is the expansion of
-``\fB$@\fP'' as explained above (see
-.SM
-.BR PARAMETERS ).
-.SS Brace Expansion
-.PP
-.I "Brace expansion"
-is a mechanism by which arbitrary strings
-may be generated. This mechanism is similar to
-\fIpathname expansion\fP, but the filenames generated
-need not exist. Patterns to be brace expanded take
-the form of an optional
-.IR preamble ,
-followed by a series of comma-separated strings
-between a pair of braces, followed by an optional
-.IR postamble .
-The preamble is prepended to each string contained
-within the braces, and the postamble is then appended
-to each resulting string, expanding left to right.
-.PP
-Brace expansions may be nested. The results of each expanded
-string are not sorted; left to right order is preserved.
-For example, a\fB{\fPd,c,b\fB}\fPe expands into `ade ace abe'.
-.PP
-Brace expansion is performed before any other expansions,
-and any characters special to other expansions are preserved
-in the result. It is strictly textual.
-.B Bash
-does not apply any syntactic interpretation to the context of the
-expansion or the text between the braces.
-.PP
-A correctly-formed brace expansion must contain unquoted opening
-and closing braces, and at least one unquoted comma.
-Any incorrectly formed brace expansion is left unchanged.
-.PP
-This construct is typically used as shorthand when the common
-prefix of the strings to be generated is longer than in the
-above example:
-.RS
-.PP
-mkdir /usr/local/src/bash/{old,new,dist,bugs}
-.RE
-or
-.RS
-chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}
-.RE
-.PP
-Brace expansion introduces a slight incompatibility with
-traditional versions of
-.BR sh ,
-the Bourne shell.
-.B sh
-does not treat opening or closing braces specially when they
-appear as part of a word, and preserves them in the output.
-.B Bash
-removes braces from words as a consequence of brace
-expansion. For example, a word entered to
-.B sh
-as \fIfile{1,2}\fP
-appears identically in the output. The same word is
-output as
-.I file1 file2
-after expansion by
-.BR bash .
-If strict compatibility with
-.B sh
-is desired, start
-.B bash
-with the
-.B \-nobraceexpansion
-flag (see
-.SM
-.B OPTIONS
-above)
-or disable brace expansion with the
-.B +o braceexpand
-option to the
-.B set
-command (see
-.SM
-.B SHELL BUILTIN COMMANDS
-below).
-.SS Tilde Expansion
-.PP
-If a word begins with a tilde character (`\fB~\fP'), all of the characters
-preceding the first slash (or all characters, if there is no slash)
-are treated as a possible \fIlogin name\fP. If this \fIlogin name\fP
-is the null string, the tilde is replaced with the value of the
-parameter
-.SM
-.BR HOME .
-If
-.SM
-.B HOME
-is unset, the home directory of
-the user executing the shell is substituted instead.
-.PP
-If a `+' follows the tilde, the value of
-.SM
-.B PWD
-replaces the tilde and `+'. If
-a `\-' follows, the value of
-.SM
-.B OLDPWD
-is substituted.
-If the value following the tilde is a valid \fIlogin name\fP,
-the tilde and \fIlogin name\fP are replaced with the home directory
-associated with that name. If the name is invalid, or the tilde
-expansion fails, the word is unchanged.
-.PP
-Each variable assignment is checked for unquoted
-instances of tildes following a
-.B :
-or
-.BR = .
-In these cases, tilde substitution is also performed. Consequently, one
-may use pathnames with tildes in assignments to
-.SM
-.BR PATH ,
-.SM
-.BR MAILPATH ,
-and
-.SM
-.BR CDPATH ,
-and the shell assigns the expanded value.
-.SS Parameter Expansion
-.PP
-The `\fB$\fP' character introduces parameter expansion,
-command substitution, or arithmetic expansion. The parameter name
-or symbol to be expanded may be enclosed in braces, which
-are optional but serve to protect the variable to be expanded from
-characters immediately following it which could be
-interpreted as part of the name.
-.PP
-.PD 0
-.TP
-${\fIparameter\fP}
-The value of \fIparameter\fP is substituted. The braces are required
-when
-.I parameter
-is a positional parameter with more than one digit,
-or when
-.I parameter
-is followed by a character which is not to be
-interpreted as part of its name.
-.PD
-.PP
-In each of the cases below, \fIword\fP is subject to tilde expansion,
-parameter expansion, command substitution, and arithmetic expansion.
-\fBBash\fP tests for a parameter that is unset or null; omitting the
-colon results in a test only for a parameter that is unset.
-.PP
-.PD 0
-.TP
-${\fIparameter\fP\fB:\-\fP\fIword\fP}
-\fBUse Default Values\fP. If
-.I parameter
-is unset or null, the expansion of
-.I word
-is substituted. Otherwise, the value of
-.I parameter
-is substituted.
-.TP
-${\fIparameter\fP\fB:=\fP\fIword\fP}
-\fBAssign Default Values\fP.
-If
-.I parameter
-is unset or null, the expansion of
-.I word
-is assigned to
-.IR parameter .
-The value of
-.I parameter
-is then substituted. Positional parameters and special parameters may
-not be assigned to in this way.
-.TP
-${\fIparameter\fP\fB:?\fP\fIword\fP}
-\fBDisplay Error if Null or Unset\fP.
-If
-.I parameter
-is null or unset, the expansion of \fIword\fP (or a message to that effect
-if
-.I word
-is not present) is written to the standard error and the shell, if it
-is not interactive, exits. Otherwise, the value of \fIparameter\fP is
-substituted.
-.TP
-${\fIparameter\fP\fB:+\fP\fIword\fP}
-\fBUse Alternate Value\fP.
-If
-.I parameter
-is null or unset, nothing is substituted, otherwise the expansion of
-.I word
-is substituted.
-.TP
-${\fB#\fP\fIparameter\fP}
-The length in characters of the value of \fIparameter\fP is substituted.
-If \fIparameter\fP is
-.B *
-or
-.BR @ ,
-the length substituted is the length of
-.B *
-expanded within double quotes.
-.TP
-.PD 0
-${\fIparameter\fP\fB#\fP\fIword\fP}
-.TP
-${\fIparameter\fP\fB##\fP\fIword\fP}
-.PD
-The
-.I word
-is expanded to produce a pattern just as in pathname
-expansion. If the pattern matches the beginning of
-the value of
-.IR parameter ,
-then the expansion is the value of
-.I parameter
-with the shortest matching pattern deleted (the ``\fB#\fP''
-case) or the longest
-matching pattern deleted (the ``\fB##\fP'' case).
-.TP
-.PD 0
-${\fIparameter\fP\fB%\fP\fIword\fP}
-.TP
-${\fIparameter\fP\fB%%\fP\fIword\fP}
-.PD
-The \fIword\fP is expanded to produce a pattern just as in
-pathname expansion. If the pattern matches a
-trailing portion of the value of
-.IR parameter ,
-then the expansion is the value of
-.I parameter
-with the shortest matching pattern deleted
-(the ``\fB%\fP'' case) or the longest
-matching pattern deleted (the ``\fB%%\fP'' case).
-.SS Command Substitution
-.PP
-\fICommand substitution\fP allows the output of a command to replace
-the command name. There are two forms:
-.PP
-.RS
-.PP
-\fB$(\fP\fIcommand\fP\|\fB)\fP
-.RE
-or
-.RS
-\fB`\fP\fIcommand\fP\fB`\fP
-.RE
-.PP
-. B Bash
-performs the expansion by executing \fIcommand\fP and
-replacing the command substitution with the standard output of the
-command, with any trailing newlines deleted.
-.PP
-When the old\-style backquote form of substitution is used,
-backslash retains its literal meaning except when followed by
-.BR $ ,
-.BR ` ,
-or
-.BR \e .
-When using the $(\^\fIcommand\fP\|) form, all characters between the
-parentheses make up the command; none are treated specially.
-.PP
-Command substitutions may be nested. To nest when using the old form,
-escape the inner backquotes with backslashes.
-.PP
-If the substitution appears within double quotes, word splitting and
-pathname expansion are not performed on the results.
-.SS Arithmetic Expansion
-.PP
-Arithmetic expansion allows the evaluation of an arithmetic expression
-and the substitution of the result. There are two formats for
-arithmetic expansion:
-.RS
-.PP
-\fB$[\fP\fIexpression\fP\fB]\fP
-.PP
-\fB$((\fP\fIexpression\fP\fB))\fP
-.RE
-.PP
-The
-.I expression
-is treated as if it were within double quotes, but a double quote
-inside the braces or parentheses
-is not treated specially. All tokens in the
-expression undergo parameter expansion, command substitution,
-and quote removal. Arithmetic substitutions may be nested.
-.PP
-The evaluation is performed according to the rules listed below under
-.SM
-.BR "ARITHMETIC EVALUATION" .
-If
-.I expression
-is invalid,
-.B bash
-prints a message indicating failure and no substitution occurs.
-.SS Process Substitution
-.PP
-\fIProcess substitution\fP is supported on systems that support named
-pipes (\fIFIFOs\fP) or the \fB/dev/fd\fP method of naming open files.
-It takes the form of
-\fB<(\fP\fIlist\^\fP\fB)\fP
-or
-\fB>(\fP\fIlist\^\fP\fB)\fP.
-The process \fIlist\fP is run with its input or output connected to a
-\fIFIFO\fP or some file in \fB/dev/fd\fP. The name of this file is
-passed as an argument to the current command as the result of the
-expansion. If the \fB>(\fP\fIlist\^\fP\fB)\fP form is used, writing to
-the file will provide input for \fIlist\fP. If the
-\fB<(\fP\fIlist\^\fP\fB)\fP form is used, the file passed as an
-argument should be read to obtain the output of \fIlist\fP.
-.PP
-On systems that support it, \fIprocess substitution\fP is performed
-simultaneously with
-.IR "parameter and variable expansion" ,
-.IR "command substitution" ,
-and
-.IR "arithmetic expansion" .
-.SS Word Splitting
-.PP
-The shell scans the results of
-parameter expansion,
-command substitution,
-and
-arithmetic expansion
-that did not occur within double quotes for
-.IR "word splitting" .
-.PP
-The shell treats each character of
-.SM
-.B IFS
-as a delimiter, and splits the results of the other
-expansions into words on these characters. If the
-value of
-.SM
-.B IFS
-is exactly
-.BR <space><tab><newline> ,
-the default, then
-any sequence of
-.SM
-.B IFS
-characters serves to delimit words. If
-.SM
-.B IFS
-has a value other than the default, then sequences of
-the whitespace characters
-.B space
-and
-.B tab
-are ignored at the beginning and end of the
-word, as long as the whitespace character is in the
-value of
-.SM
-.BR IFS
-(an
-.SM
-.B IFS
-whitespace character).
-Any character in
-.SM
-.B IFS
-that is not
-.SM
-.B IFS
-whitespace, along with any adjacent
-.SM
-.B IFS
-whitespace characters, delimits a field.
-A sequence of
-.SM
-.B IFS
-whitespace characters is also treated as a delimiter.
-If the value of
-.SM
-.B IFS
-is null, no word splitting occurs.
-.SM
-.B IFS
-cannot be unset.
-.PP
-Explicit null arguments (\^\f3"\^"\fP or \^\f3'\^'\fP\^)
-are retained. Implicit null arguments, resulting from the expansion
-of
-.I parameters
-that have no values, are removed.
-.PP
-Note that if no expansion occurs, no splitting
-is performed.
-.SS Pathname Expansion
-.PP
-After word splitting,
-unless the
-.B \-f
-option has been set,
-.B bash
-scans each
-.I word
-for the characters
-.BR * ,
-.BR ? ,
-and
-.BR [ .
-If one of these characters appears, then the word is
-regarded as a
-.IR pattern ,
-and replaced with an alphabetically sorted list of
-pathnames matching the pattern.
-If no matching pathnames are found,
-and the shell variable
-.B allow_null_glob_expansion
-is unset, the word is left unchanged.
-If the variable is set, and no matches are found,
-the word is removed.
-When a pattern is used for pathname generation,
-the character
-.B ``.''
-at the start of a name or immediately following a slash
-must be matched explicitly, unless the shell variable
-.B glob_dot_filenames
-is set. The slash character must always be matched
-explicitly. In other cases, the
-.B ``.''
-character is not treated specially.
-.PP
-The special pattern characters have the following meanings:
-.PP
-.PD 0
-.TP
-.B *
-Matches any string, including the null string.
-.TP
-.B ?
-Matches any single character.
-.TP
-.B [...]
-Matches any one of the enclosed characters. A pair of characters
-separated by a minus sign denotes a
-.IR range ;
-any character lexically between those two characters, inclusive,
-is matched. If the first character following the
-.B [
-is a
-.B !
-or a
-.B ^
-then any character not enclosed is matched. A
-.B \-
-or
-.B ]
-may be matched by including it as the first or last character
-in the set.
-.PD
-.SS Quote Removal
-.PP
-After the preceding expansions, all unquoted occurrences of the
-characters
-.BR \e ,
-.BR ` ,
-and \^\f3"\fP\^ are removed.
-.SH REDIRECTION
-Before a command is executed, its input and output
-may be
-.I redirected
-using a special notation interpreted by the shell.
-Redirection may also be used to open and close files for the
-current shell execution environment. The following redirection
-operators may precede or appear anywhere within a
-.I simple command
-or may follow a
-.IR command .
-Redirections are processed in the order they appear, from
-left to right.
-.PP
-In the following descriptions, if the file descriptor number is
-omitted, and the first character of the redirection operator is
-.BR < ,
-the redirection refers to the standard input (file descriptor
-0). If the first character of the redirection operator is
-.BR > ,
-the redirection refers to the standard output (file descriptor
-1).
-.PP
-The word that follows the redirection operator in the following
-descriptions is subjected to brace expansion, tilde expansion,
-parameter expansion, command substitution, arithmetic expansion,
-quote removal, and pathname expansion. If it expands to more
-than one word,
-.B bash
-reports an error.
-.PP
-Note that the order of redirections is significant. For example,
-the command
-.RS
-.PP
-ls \fB>\fP dirlist 2\fB>&\fP1
-.RE
-.PP
-directs both standard output and standard error to the file
-.IR dirlist ,
-while the command
-.RS
-.PP
-ls 2\fB>&\fP1 \fB>\fP dirlist
-.RE
-.PP
-directs only the standard output to file
-.IR dirlist ,
-because the standard error was duplicated as standard output
-before the standard output was redirected to
-.IR dirlist .
-.SS Redirecting Input
-.PP
-Redirection of input causes the file whose name results from
-the expansion of
-.I word
-to be opened for reading on file descriptor
-.IR n ,
-or the standard input (file descriptor 0) if
-.I n
-is not specified.
-.PP
-The general format for redirecting input is:
-.RS
-.PP
-[\fIn\fP]\fB<\fP\fIword\fP
-.RE
-.SS Redirecting Output
-.PP
-Redirection of output causes the file whose name results from
-the expansion of
-.I word
-to be opened for writing on file descriptor
-.IR n ,
-or the standard output (file descriptor 1) if
-.I n
-is not specified. If the file does not exist it is created;
-if it does exist it is truncated to zero size.
-.PP
-The general format for redirecting output is:
-.RS
-.PP
-[\fIn\fP]\fB>\fP\fIword\fP
-.RE
-.PP
-If the redirection operator is
-.BR >| ,
-then the value of the
-.B -C
-option to the
-.B set
-builtin command is not tested, and file creation is attempted.
-(See also the description of
-.B noclobber
-under
-.B "Shell Variables"
-above.)
-.SS Appending Redirected Output
-.PP
-Redirection of output in this fashion
-causes the file whose name results from
-the expansion of
-.I word
-to be opened for appending on file descriptor
-.IR n ,
-or the standard output (file descriptor 1) if
-.I n
-is not specified. If the file does not exist it is created.
-.PP
-The general format for appending output is:
-.RS
-.PP
-[\fIn\fP]\fB>>\fP\fIword\fP
-.RE
-.PP
-.SS Redirecting Standard Output and Standard Error
-.PP
-.B Bash
-allows both the
-standard output (file descriptor 1) and
-the standard error output (file descriptor 2)
-to be redirected to the file whose name is the
-expansion of
-.I word
-with this construct.
-.PP
-There are two formats for redirecting standard output and
-standard error:
-.RS
-.PP
-\fB&>\fP\fIword\fP
-.RE
-and
-.RS
-\fB>&\fP\fIword\fP
-.RE
-.PP
-Of the two forms, the first is preferred.
-This is semantically equivalent to
-.RS
-.PP
-\fB>\fP\fIword\fP 2\fB>&\fP1
-.RE
-.SS Here Documents
-.PP
-This type of redirection instructs the shell to read input from the
-current source until a line containing only
-.I word
-(with no trailing blanks)
-is seen. All of
-the lines read up to that point are then used as the standard
-input for a command.
-.PP
-The format of here-documents is as follows:
-.RS
-.PP
-.nf
-\fB<<\fP[\fB\-\fP]\fIword\fP
- \fIhere-document\fP
-\fIdelimiter\fP
-.fi
-.RE
-.PP
-No parameter expansion, command substitution, pathname
-expansion, or arithmetic expansion is performed on
-.IR word .
-If any characters in
-.I word
-are quoted, the
-.I delimiter
-is the result of quote removal on
-.IR word ,
-and the lines in the here-document are not expanded. Otherwise,
-all lines of the here-document are subjected to parameter expansion,
-command substitution, and arithmetic expansion. In the latter
-case, the pair
-.B \e<newline>
-is ignored, and
-.B \e
-must be used to quote the characters
-.BR \e ,
-.BR $ ,
-and
-.BR ` .
-.PP
-If the redirection operator is
-.BR <<\- ,
-then all leading tab characters are stripped from input lines and the
-line containing
-.IR delimiter .
-This allows
-here-documents within shell scripts to be indented in a
-natural fashion.
-.SS "Duplicating File Descriptors"
-.PP
-The redirection operator
-.RS
-.PP
-[\fIn\fP]\fB<&\fP\fIword\fP
-.RE
-.PP
-is used to duplicate input file descriptors.
-If
-.I word
-expands to one or more digits, the file descriptor denoted by
-.I n
-is made to be a copy of that file descriptor. If
-.I word
-evaluates to
-.BR \- ,
-file descriptor
-.I n
-is closed. If
-.I n
-is not specified, the standard input (file descriptor 0) is used.
-.PP
-The operator
-.RS
-.PP
-[\fIn\fP]\fB>&\fP\fIword\fP
-.RE
-.PP
-is used similarly to duplicate output file descriptors. If
-.I n
-is not specified, the standard output (file descriptor 1) is used.
-As a special case, if \fIn\fP is omitted, and \fIword\fP does not
-expand to one or more digits, the standard output and standard
-error are redirected as described previously.
-.SS "Opening File Descriptors for Reading and Writing"
-.PP
-The redirection operator
-.RS
-.PP
-[\fIn\fP]\fB<>\fP\fIword\fP
-.RE
-.PP
-causes the file whose name is the expansion of
-.I word
-to be opened for both reading and writing on file descriptor
-.IR n ,
-or as the standard input and standard output if
-.I n
-is not specified. If the file does not exist, it is created.
-.SH FUNCTIONS
-A shell function, defined as described above under
-.SM
-.BR "SHELL GRAMMAR" ,
-stores a series of commands for later execution.
-Functions are executed in the context of the
-current shell; no new process is created to interpret
-them (contrast this with the execution of a shell script).
-When a function is executed, the arguments to the
-function become the positional parameters
-during its execution. The special parameter
-.B #
-is updated to reflect the change. Positional parameter 0
-is unchanged.
-.PP
-Variables local to the function may be declared with the
-.B local
-builtin command. Ordinarily, variables and their values
-are shared between the function and its caller.
-.PP
-If the builtin command
-.B return
-is executed in a function, the function completes and
-execution resumes with the next command after the function
-call. When a function completes, the values of the
-positional parameters and the special parameter
-.B #
-are restored to the values they had prior to function
-execution.
-.PP
-Function names and definitions may be listed with the
-.B \-f
-option to the
-.B declare
-or
-.B typeset
-builtin commands. Functions may be exported so that subshells
-automatically have them defined with the
-.B \-f
-option to the
-.B export
-builtin.
-.PP
-Functions may be recursive. No limit is imposed on the number
-of recursive calls.
-.SH ALIASES
-The shell maintains a list of
-.I aliases
-that may be set and unset with the
-.B alias
-and
-.B unalias
-builtin commands (see
-.SM
-.B SHELL BUILTIN COMMANDS
-below).
-The first word of each command, if unquoted,
-is checked to see if it has an
-alias. If so, that word is replaced by the text of the alias.
-The alias name and the replacement text may contain any valid
-shell input, including the
-.I metacharacters
-listed above, with the exception that the alias name may not
-contain \fI=\fP. The first word of the replacement text is tested
-for aliases, but a word that is identical to an alias being expanded
-is not expanded a second time. This means that one may alias
-.B ls
-to
-.BR "ls \-F" ,
-for instance, and
-.B bash
-does not try to recursively expand the replacement text.
-If the last character of the alias value is a
-.IR blank ,
-then the next command
-word following the alias is also checked for alias expansion.
-.PP
-Aliases are created and listed with the
-.B alias
-command, and removed with the
-.B unalias
-command.
-.PP
-There is no mechanism for using arguments in the replacement text,
-as in
-.BR csh .
-If arguments are needed, a shell function should be used.
-.PP
-Aliases are not expanded when the shell is not interactive.
-.PP
-The rules concerning the definition and use of aliases are
-somewhat confusing.
-.B Bash
-always reads at least one complete line
-of input before executing any
-of the commands on that line. Aliases are expanded when a
-command is read, not when it is executed. Therefore, an
-alias definition appearing on the same line as another
-command does not take effect until the next line of input is read.
-This means that the commands following the alias definition
-on that line are not affected by the new alias.
-This behavior is also an issue when functions are executed.
-Aliases are expanded when the function definition is read,
-not when the function is executed, because a function definition
-is itself a compound command. As a consequence, aliases
-defined in a function are not available until after that
-function is executed. To be safe, always put
-alias definitions on a separate line, and do not use
-.B alias
-in compound commands.
-.PP
-Note that for almost every purpose, aliases are superseded by
-shell functions.
-.SH "JOB CONTROL"
-.I Job control
-refers to the ability to selectively stop (\fIsuspend\fP)
-the execution of processes and continue (\fIresume\fP)
-their execution at a later point. A user typically employs
-this facility via an interactive interface supplied jointly
-by the system's terminal driver and
-.BR bash .
-.PP
-The shell associates a
-.I job
-with each pipeline. It keeps a table of currently executing
-jobs, which may be listed with the
-.B jobs
-command. When
-.B bash
-starts a job asynchronously (in the
-.IR background ),
-it prints a line that looks like:
-.RS
-.PP
-[1] 25647
-.RE
-.PP
-indicating that this job is job number 1 and that the process ID
-of the last process in the pipeline associated with this job is 25647.
-All of the processes in a single pipeline are members of the same job.
-.B Bash
-uses the
-.I job
-abstraction as the basis for job control.
-.PP
-To facilitate the implementation of the user interface to job
-control, the system maintains the notion of a \fIcurrent terminal
-process group ID\fP. Members of this process group (processes whose
-process group ID is equal to the current terminal process group ID)
-receive keyboard-generated signals such as
-.SM
-.BR SIGINT .
-These processes are said to be in the
-.IR foreground .
-.I Background
-processes are those whose process group ID differs from the terminal's;
-such processes are immune to keyboard-generated signals.
-Only foreground processes are allowed to read from or write to the
-terminal. Background processes which attempt to read from (write to) the
-terminal are sent a
-.SM
-.B SIGTTIN (SIGTTOU)
-signal by the terminal driver,
-which, unless caught, suspends the process.
-.PP
-If the operating system on which
-.B bash
-is running supports
-job control,
-.B bash
-allows you to use it.
-Typing the
-.I suspend
-character (typically
-.BR ^Z ,
-Control-Z) while a process is running
-causes that process to be stopped and returns you to
-.BR bash .
-Typing the
-.I "delayed suspend"
-character (typically
-.BR ^Y ,
-Control-Y) causes the process to be stopped when it
-attempts to read input from the terminal, and control to
-be returned to
-.BR bash .
-You may then manipulate the state of this job, using the
-.B bg
-command to continue it in the background, the
-.B fg
-command to continue it in the foreground, or
-the
-.B kill
-command to kill it. A \fB^Z\fP takes effect immediately,
-and has the additional side effect of causing pending output
-and typeahead to be discarded.
-.PP
-There are a number of ways to refer to a job in the shell.
-The character
-.B %
-introduces a job name. Job number
-.I n
-may be referred to as
-.BR %n .
-A job may also be referred to using a prefix of the name used to
-start it, or using a substring that appears in its command line.
-For example,
-.B %ce
-refers to a stopped
-.B ce
-job. If a prefix matches more than one job,
-.B bash
-reports an error. Using
-.BR %?ce ,
-on the other hand, refers to any job containing the string
-.B ce
-in its command line. If the substring matches more than one job,
-.B bash
-reports an error. The symbols
-.B %%
-and
-.B %+
-refer to the shell's notion of the
-.IR "current job" ,
-which is the last job stopped while it was in
-the foreground.
-The
-.I "previous job"
-may be referenced using
-.BR %\- .
-In output pertaining to jobs (e.g., the output of the
-.B jobs
-command), the current job is always flagged with a
-.BR + ,
-and the previous job with a
-.BR \- .
-.PP
-Simply naming a job can be used to bring it into the
-foreground:
-.B %1
-is a synonym for
-\fB``fg %1''\fP,
-bringing job 1 from the background into the foreground.
-Similarly,
-.B ``%1 &''
-resumes job 1 in the background, equivalent to
-\fB``bg %1''\fP.
-.PP
-The shell learns immediately whenever a job changes state.
-Normally,
-.B bash
-waits until it is about to print a prompt before reporting
-changes in a job's status so as to not interrupt
-any other output. If the
-.B -b
-option to the
-.B set
-builtin command
-is set,
-.B bash
-reports such changes immediately. (See also the description of
-.B notify
-variable under
-.B "Shell Variables"
-above.)
-.PP
-If you attempt to exit
-.B bash
-while jobs are stopped, the shell prints a message warning you. You
-may then use the
-.B jobs
-command to inspect their status. If you do this, or try to exit
-again immediately, you are not warned again, and the stopped
-jobs are terminated.
-.SH SIGNALS
-When \fBbash\fP is interactive, it ignores
-.SM
-.B SIGTERM
-(so that \fBkill 0\fP does not kill an interactive shell),
-and
-.SM
-.B SIGINT
-is caught and handled (so that the \fBwait\fP builtin is interruptible).
-In all cases, \fBbash\fP ignores
-.SM
-.BR SIGQUIT .
-If job control is in effect,
-.B bash
-ignores
-.SM
-.BR SIGTTIN ,
-.SM
-.BR SIGTTOU ,
-and
-.SM
-.BR SIGTSTP .
-.PP
-Synchronous jobs started by \fBbash\fP have signals set to the
-values inherited by the shell from its parent. When job control
-is not in effect, background jobs (jobs started with
-.BR & )
-ignore
-.SM
-.B SIGINT
-and
-.SM
-.BR SIGQUIT .
-Commands run as a result of command substitution ignore the
-keyboard-generated job control signals
-.SM
-.BR SIGTTIN ,
-.SM
-.BR SIGTTOU ,
-and
-.SM
-.BR SIGTSTP .
-.SH "COMMAND EXECUTION"
-After a command has been split into words, if it results in a
-simple command and an optional list of arguments, the following
-actions are taken.
-.PP
-If the command name contains no slashes, the shell attempts to
-locate it. If there exists a shell function by that name, that
-function is invoked as described above in
-.SM
-.BR FUNCTIONS .
-If the name does not match a function, the shell searches for
-it in the list of shell builtins. If a match is found, that
-builtin is invoked.
-.PP
-If the name is neither a shell function nor a builtin,
-and contains no slashes,
-.B bash
-searches each element of the
-.SM
-.B PATH
-for a directory containing an executable file by that name.
-If the search is unsuccessful, the shell prints an error
-message and returns a nonzero exit status.
-.PP
-If the search is successful, or if the command name contains
-one or more slashes, the shell executes the named program.
-Argument 0 is set to the name given, and the remaining arguments
-to the command are set to the arguments given, if any.
-.PP
-If this execution fails because the file is not in executable
-format, and the file is not a directory, it is assumed to be
-a \fIshell script\fP, a file
-containing shell commands. A subshell is spawned to execute
-it. This subshell reinitializes itself, so
-that the effect is as if a new shell had been invoked
-to handle the script, with the exception that the locations of
-commands remembered by the parent (see
-.B hash
-below under
-.SM
-\fBSHELL BUILTIN COMMANDS\fP)
-are retained by the child.
-.PP
-If the program is a file beginning with
-.BR #! ,
-the remainder of the first line specifies an interpreter
-for the program. The shell executes the
-specified interpreter on operating systems that do not
-handle this executable format themselves. The arguments to the
-interpreter consist of a single optional argument following the
-interpreter name on the first line of the program, followed
-by the name of the program, followed by the command
-arguments, if any.
-.SH ENVIRONMENT
-When a program is invoked it is given an array of strings
-called the
-.IR environment .
-This is a list of
-\fIname\fP\-\fIvalue\fP pairs, of the form
-.IR "name\fR=\fPvalue" .
-.PP
-The shell allows you to manipulate the environment in several
-ways. On invocation, the shell scans its own environment and
-creates a parameter for each name found, automatically marking
-it for
-.I export
-to child processes. Executed commands inherit the environment.
-The
-.B export
-and
-.B declare \-x
-commands allow parameters and functions to be added to and
-deleted from the environment. If the value of a parameter
-in the environment is modified, the new value becomes part
-of the environment, replacing the old. The environment
-inherited by any executed command consists of the shell's
-initial environment, whose values may be modified in the shell,
-less any pairs removed by the
-.B unset
-command, plus any additions via the
-.B export
-and
-.B declare \-x
-commands.
-.PP
-The environment for any
-.I simple command
-or function may be augmented temporarily by prefixing it with
-parameter assignments, as described above in
-.SM
-.BR PARAMETERS .
-These assignment statements affect only the environment seen
-by that command.
-.PP
-If the
-.B \-k
-flag is set (see the
-.B set
-builtin command below), then
-.I all
-parameter assignments are placed in the environment for a command,
-not just those that precede the command name.
-.PP
-When
-.B bash
-invokes an external command, the variable
-.B _
-is set to the full path name of the command and passed to that
-command in its environment.
-.SH "EXIT STATUS"
-For the purposes of the shell, a command which exits with a
-zero exit status has succeeded. An exit status of zero
-indicates success. A non\-zero exit status indicates failure.
-When a command terminates on a fatal signal, \fBbash\fP uses
-the value of 128+\fBsignal\fP as the exit status.
-.PP
-If a command is not found, the child process created to
-execute it returns a status of 127. If a command is found
-but is not executable, the return status is 126.
-.PP
-\fBBash\fP itself returns the exit status of the last command
-executed, unless a syntax error occurs, in which case it exits
-with a non\-zero value. See also the \fBexit\fP builtin
-command below.
-.SH PROMPTING
-When executing interactively,
-.B bash
-displays the primary prompt
-.SM
-.B PS1
-when it is ready to read a command, and the secondary prompt
-.SM
-.B PS2
-when it needs more input to complete a command.
-.B Bash
-allows these prompt strings to be customized by inserting a number of
-backslash-escaped special characters that are decoded as follows:
-.RS
-.PD 0
-.TP
-.B \et
-the current time in HH:MM:SS format
-.TP
-.B \ed
-the date in "Weekday Month Date" format (e.g., "Tue May 26")
-.TP
-.B \en
-newline
-.TP
-.B \es
-the name of the shell, the basename of
-.B $0
-(the portion following the final slash)
-.TP
-.B \ew
-the current working directory
-.TP
-.B \eW
-the basename of the current working directory
-.TP
-.B \eu
-the username of the current user
-.TP
-.B \eh
-the hostname
-.TP
-.B \e#
-the command number of this command
-.TP
-.B \e!
-the history number of this command
-.TP
-.B \e$
-if the effective UID is 0, a
-.BR # ,
-otherwise a
-.B $
-.TP
-.B \ennn
-the character corresponding to the octal number \fBnnn\fP
-.TP
-.B \e\e
-a backslash
-.TP
-.B \e[
-begin a sequence of non-printing characters, which could be used to
-embed a terminal control sequence into the prompt
-.TP
-.B \e]
-end a sequence of non-printing characters
-.PD
-.RE
-.PP
-The command number and the history number are usually different:
-the history number of a command is its position in the history
-list, which may include commands restored from the history file
-(see
-.SM
-.B HISTORY
-below), while the command number is the position in the sequence
-of commands executed during the current shell session.
-After the string is decoded, it is expanded via
-parameter expansion,
-command substitution, arithmetic expansion, and word splitting.
-.SH READLINE
-This is the library that handles reading input when using an interactive
-shell, unless the
-.B \-nolineediting
-option is given. By default, the line editing commands
-are similar to those of emacs.
-A vi-style line editing interface is also available.
-.PP
-In this section, the emacs-style notation is used to denote
-keystrokes. Control keys are denoted by C\-\fIkey\fR, e.g., C\-n
-means Control\-N. Similarly,
-.I meta
-keys are denoted by M\-\fIkey\fR, so M\-x means Meta\-X. (On keyboards
-without a
-.I meta
-key, M\-\fIx\fP means ESC \fIx\fP, i.e., press the Escape key
-then the
-.I x
-key. This makes ESC the \fImeta prefix\fP.
-The combination M\-C\-\fIx\fP means ESC\-Control\-\fIx\fP,
-or press the Escape key
-then hold the Control key while pressing the
-.I x
-key.)
-.PP
-The default key-bindings may be changed with an
-.FN ~/.inputrc
-file. The value of the shell variable
-.SM
-.BR INPUTRC ,
-if set, is used instead of
-.IR ~/.inputrc .
-Other programs that use this library may add their own commands
-and bindings.
-.PP
-For example, placing
-.RS
-.PP
-M\-Control\-u: universal\-argument
-.RE
-or
-.RS
-C\-Meta\-u: universal\-argument
-.RE
-into the
-.FN ~/.inputrc
-would make M\-C\-u execute the readline command
-.IR universal\-argument .
-.PP
-The following symbolic character names are recognized:
-.IR RUBOUT ,
-.IR DEL ,
-.IR ESC ,
-.IR LFD ,
-.IR NEWLINE ,
-.IR RET ,
-.IR RETURN ,
-.IR SPC ,
-.IR SPACE ,
-and
-.IR TAB .
-In addition to command names, readline allows keys to be bound
-to a string that is inserted when the key is pressed (a \fImacro\fP).
-.PP
-Readline is customized by putting commands in an initialization
-file. The name of this file is taken from the value of the
-.SM
-.B INPUTRC
-variable. If that variable is unset, the default is
-.IR ~/.inputrc .
-When a program which uses the readline library starts up, the
-init file is read, and the key bindings and variables are set.
-There are only a few basic constructs allowed in the
-readline init file. Blank lines are ignored.
-Lines beginning with a \fB#\fP are comments.
-Lines beginning with a \fB$\fP indicate conditional
-constructs. Other lines
-denote key bindings and variable settings.
-.PP
-The syntax for controlling key bindings in the
-.I ~/.inputrc
-file is simple. All that is required is the name of the
-command or the text of a macro and a key sequence to which
-it should be bound. The name may be specified in one of two ways:
-as a symbolic key name, possibly with \fIMeta-\fP or \fIControl-\fP
-prefixes, or as a key sequence.
-When using the form \fBkeyname\fP:\fIfunction-name\fP or \fImacro\fP,
-.I keyname
-is the name of a key spelled out in English. For example:
-.sp
-.RS
-Control-u: universal\-argument
-.br
-Meta-Rubout: backward-kill-word
-.br
-Control-o: ">&output"
-.RE
-.LP
-In the above example,
-.I C-u
-is bound to the function
-.BR universal\-argument ,
-.I M-DEL
-is bound to the function
-.BR backward\-kill\-word ,
-and
-.I C-o
-is bound to run the macro
-expressed on the right hand side (that is, to insert the text
-.I >&output
-into the line).
-.PP
-In the second form, \fB"keyseq"\fP:\fIfunction-name\fP or \fImacro\fP,
-.B keyseq
-differs from
-.B keyname
-above in that strings denoting
-an entire key sequence may be specified by placing the sequence
-within double quotes. Some GNU Emacs style key escapes can be
-used, as in the following example.
-.sp
-.RS
-"\eC-u": universal\-argument
-.br
-"\eC-x\eC-r": re\-read\-init\-file
-.br
-"\ee[11~": "Function Key 1"
-.RE
-.PP
-In this example,
-.I C-u
-is again bound to the function
-.BR universal\-argument .
-.I "C-x C-r"
-is bound to the function
-.BR re\-read\-init\-file ,
-and
-.I "ESC [ 1 1 ~"
-is bound to insert the text
-.BR "Function Key 1" .
-The full set of escape sequences is
-.RS
-.TP
-.B \eC\-
-control prefix
-.TP
-.B \eM-
-meta prefix
-.TP
-.B \ee
-an escape character
-.TP
-.B \e\e
-backslash
-.TP
-.B \e"
-literal "
-.TP
-.B \e'
-literal '
-.RE
-.PP
-When entering the text of a macro, single or double quotes should
-be used to indicate a macro definition. Unquoted text
-is assumed to be a function name. Backslash
-will quote any character in the macro text, including " and '.
-.PP
-.B Bash
-allows the current readline key bindings to be displayed or modified
-with the
-.B bind
-builtin command. The editing mode may be switched during interactive
-use by using the
-.B \-o
-option to the
-.B set
-builtin command (see
-.SM
-.B SHELL BUILTIN COMMANDS
-below).
-.PP
-Readline has variables that can be used to further customize its
-behavior. A variable may be set in the
-.I inputrc
-file with a statement of the form
-.RS
-.PP
-\fBset\fP \fIvariable\-name\fP \fIvalue\fP
-.RE
-.PP
-Except where noted, readline variables can take the values
-.B On
-or
-.BR Off .
-The variables and their default values are:
-.PP
-.PD 0
-.TP
-.B horizontal\-scroll\-mode (Off)
-When set to \fBOn\fP, makes readline use a single line for display,
-scrolling the input horizontally on a single screen line when it
-becomes longer than the screen width rather than wrapping to a new line.
-.TP
-.B editing\-mode (emacs)
-Controls whether readline begins with a set of key bindings similar
-to \fIemacs\fP or \fIvi\fP.
-.B editing\-mode
-can be set to either
-.B emacs
-or
-.BR vi .
-.TP
-.B mark\-modified\-lines (Off)
-If set to \fBOn\fP, history lines that have been modified are displayed
-with a preceding asterisk (\fB*\fP).
-.TP
-.B bell\-style (audible)
-Controls what happens when readline wants to ring the terminal bell.
-If set to \fBnone\fP, readline never rings the bell. If set to
-\fBvisible\fP, readline uses a visible bell if one is available.
-If set to \fBaudible\fP, readline attempts to ring the terminal's bell.
-.TP
-.B comment\-begin (``#'')
-The string that is inserted in \fBvi\fP mode when the
-.B vi\-comment
-command is executed.
-.TP
-.B meta\-flag (Off)
-If set to \fBOn\fP, readline will enable eight-bit input (that is,
-it will not strip the high bit from the characters it reads),
-regardless of what the terminal claims it can support.
-.TP
-.B convert\-meta (On)
-If set to \fBOn\fP, readline will convert characters with the
-eighth bit set to an ASCII key sequence
-by stripping the eighth bit and prepending an
-escape character (in effect, using escape as the \fImeta prefix\fP).
-.TP
-.B output\-meta (Off)
-If set to \fBOn\fP, readline will display characters with the
-eighth bit set directly rather than as a meta-prefixed escape
-sequence.
-.TP
-.B completion\-query\-items (100)
-This determines when the user is queried about viewing
-the number of possible completions
-generated by the \fBpossible\-completions\fP command.
-It may be set to any integer value greater than or equal to
-zero. If the number of possible completions is greater than
-or equal to the value of this variable, the user is asked whether
-or not he wishes to view them; otherwise they are simply listed
-on the terminal.
-.TP
-.B keymap (emacs)
-Set the current readline keymap. The set of legal keymap names is
-\fIemacs, emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,
-vi-command\fP, and
-.IR vi-insert .
-\fIvi\fP is equivalent to \fIvi-command\fP; \fIemacs\fP is
-equivalent to \fIemacs-standard\fP. The default value is
-.IR emacs ;
-the value of
-.B editing\-mode
-also affects the default keymap.
-.TP
-.B show\-all\-if\-ambiguous (Off)
-This alters the default behavior of the completion functions. If
-set to
-.BR on ,
-words which have more than one possible completion cause the
-matches to be listed immediately instead of ringing the bell.
-.TP
-.B expand\-tilde (Off)
-If set to \fBon\fP, tilde expansion is performed when readline
-attempts word completion.
-.PD
-.PP
-Readline implements a facility similar in spirit to the conditional
-compilation features of the C preprocessor which allows key
-bindings and variable settings to be performed as the result
-of tests. There are three parser directives used.
-.IP \fB$if\fP
-The
-.B $if
-construct allows bindings to be made based on the
-editing mode, the terminal being used, or the application using
-readline. The text of the test extends to the end of the line;
-no characters are required to isolate it.
-.RS
-.IP \fBmode\fP
-The \fBmode=\fP form of the \fB$if\fP directive is used to test
-whether readline is in emacs or vi mode.
-This may be used in conjunction
-with the \fBset keymap\fP command, for instance, to set bindings in
-the \fIemacs-standard\fP and \fIemacs-ctlx\fP keymaps only if
-readline is starting out in emacs mode.
-.IP \fBterm\fP
-The \fBterm=\fP form may be used to include terminal-specific
-key bindings, perhaps to bind the key sequences output by the
-terminal's function keys. The word on the right side of the
-.B =
-is tested against the full name of the terminal and the portion
-of the terminal name before the first \fB\-\fP. This allows
-.I sun
-to match both
-.I sun
-and
-.IR sun\-cmd ,
-for instance.
-.IP \fBapplication\fP
-The \fBapplication\fP construct is used to include
-application\-specific settings. Each program using the readline
-library sets the \fIapplication name\fP, and an initialization
-file can test for a particular value.
-This could be used to bind key sequences to functions useful for
-a specific program. For instance, the following command adds a
-key sequence that quotes the current or previous word in Bash:
-.RS
-.nf
-\fB$if\fP Bash
-# Quote the current or previous word
-"\eC-xq": "\eeb\e"\eef\e""
-\fB$endif\fP
-.fi
-.RE
-.RE
-.IP \fB$endif\fP
-This command, as you saw in the previous example, terminates an
-\fB$if\fP command.
-.IP \fB$else\fP
-Commands in this branch of the \fB$if\fP directive are executed if
-the test fails.
-.PP
-Readline commands may be given numeric
-.IR arguments ,
-which normally act as a repeat count. Sometimes, however, it is the
-sign of the argument that is significant. Passing a negative argument
-to a command that acts in the forward direction (e.g., \fBkill\-line\fP)
-causes that command to act in a backward direction. Commands whose
-behavior with arguments deviates from this are noted.
-.PP
-When a command is described as \fIkilling\fP text, the text
-deleted is saved for possible future retrieval
-(\fIyanking\fP). The killed text is saved in a
-\fIkill\-ring\fP. Consecutive kills cause the text to be
-accumulated into one unit, which can be yanked all at once.
-Commands which do not kill text separate the chunks of text
-on the kill\-ring.
-.PP
-The following is a list of the names of the commands and the default
-key sequences to which they are bound.
-.SS Commands for Moving
-.PP
-.PD 0
-.TP
-.B beginning\-of\-line (C\-a)
-Move to the start of the current line.
-.TP
-.B end\-of\-line (C\-e)
-Move to the end of the line.
-.TP
-.B forward\-char (C\-f)
-Move forward a character.
-.TP
-.B backward\-char (C\-b)
-Move back a character.
-.TP
-.B forward\-word (M\-f)
-Move forward to the end of the next word. Words are composed of
-alphanumeric characters (letters and digits).
-.TP
-.B backward\-word (M\-b)
-Move back to the start of this, or the previous, word. Words are
-composed of alphanumeric characters (letters and digits).
-.TP
-.B clear\-screen (C\-l)
-Clear the screen leaving the current line at the top of the screen.
-With an argument, refresh the current line without clearing the
-screen.
-.TP
-.B redraw\-current\-line
-Refresh the current line. By default, this is unbound.
-.PD
-.SS Commands for Manipulating the History
-.PP
-.PD 0
-.TP
-.B accept\-line (Newline, Return)
-Accept the line regardless of where the cursor is. If this line is
-non\-empty, add it to the history list according to the state of the
-.SM
-.B HISTCONTROL
-variable. If the line is a modified history
-line, then restore the history line to its original state.
-.TP
-.B previous\-history (C\-p)
-Fetch the previous command from the history list, moving back in
-the list.
-.TP
-.B next\-history (C\-n)
-Fetch the next command from the history list, moving forward in the
-list.
-.TP
-.B beginning\-of\-history (M\-<)
-Move to the first line in the history.
-.TP
-.B end\-of\-history (M\->)
-Move to the end of the input history, i.e., the line currently being
-entered.
-.TP
-.B reverse\-search\-history (C\-r)
-Search backward starting at the current line and moving `up' through
-the history as necessary. This is an incremental search.
-.TP
-.B forward\-search\-history (C\-s)
-Search forward starting at the current line and moving `down' through
-the history as necessary. This is an incremental search.
-.TP
-.B non\-incremental\-reverse\-search\-history (M\-p)
-Search backward through the history starting at the current line
-using a non\-incremental search for a string supplied by the user.
-.TP
-.B non\-incremental\-forward\-search\-history (M\-n)
-Search forward through the history using a non\-incremental search for
-a string supplied by the user.
-.TP
-.B history\-search\-forward
-Search forward through the history for the string of characters
-between the start of the current line and the current point. This
-is a non-incremental search. By default, this command is unbound.
-.TP
-.B history\-search\-backward
-Search backward through the history for the string of characters
-between the start of the current line and the current point. This
-is a non-incremental search. By default, this command is unbound.
-.TP
-.B yank\-nth\-arg (M\-C\-y)
-Insert the first argument to the previous command (usually
-the second word on the previous line) at point (the current
-cursor position). With an argument
-.IR n ,
-insert the \fIn\fPth word from the previous command (the words
-in the previous command begin with word 0). A negative argument
-inserts the \fIn\fPth word from the end of the previous command.
-.TP
-.B
-yank\-last\-arg (M\-.\^, M\-_\^)
-Insert the last argument to the previous command (the last word on
-the previous line). With an argument,
-behave exactly like \fByank-nth-arg\fP.
-.TP
-.B shell\-expand\-line (M\-C\-e)
-Expand the line the way the shell does when it reads it. This
-performs alias and history expansion as well as all of the shell
-word expansions. See
-.SM
-.B HISTORY EXPANSION
-below for a description of history expansion.
-.TP
-.B history\-expand\-line (M\-^)
-Perform history expansion on the current line. See
-.SM
-.B HISTORY EXPANSION
-below for a description of history expansion.
-.TP
-.B insert\-last\-argument (M\-.\^, M\-_\^)
-A synonym for \fByank\-last\-arg\fP.
-.TP
-.B operate-and-get-next (C\-o)
-Accept the current line for execution and fetch the next line
-relative to the current line from the history for editing. Any
-argument is ignored.
-.PD
-.SS Commands for Changing Text
-.PP
-.PD 0
-.TP
-.B delete\-char (C\-d)
-Delete the character under the cursor. If point is at the
-beginning of the line, there are no characters in the line, and
-the last character typed was not
-.BR C\-d ,
-then return
-.SM
-.BR EOF .
-.TP
-.B backward\-delete\-char (Rubout)
-Delete the character behind the cursor. When given a numeric argument,
-save the deleted text on the kill\-ring.
-.TP
-.B quoted\-insert (C\-q, C\-v)
-Add the next character that you type to the line verbatim. This is
-how to insert characters like \fBC\-q\fP, for example.
-.TP
-.B tab\-insert (C-v TAB)
-Insert a tab character.
-.TP
-.B self\-insert (a,\ b,\ A,\ 1,\ !,\ ...)
-Insert the character typed.
-.TP
-.B transpose\-chars (C\-t)
-Drag the character before point forward over the character at point.
-Point moves forward as well. If point is at the end of the line, then
-transpose the two characters before point. Negative arguments don't work.
-.TP
-.B transpose\-words (M\-t)
-Drag the word behind the cursor past the word in front of the cursor
-moving the cursor over that word as well.
-.TP
-.B upcase\-word (M\-u)
-Uppercase the current (or following) word. With a negative argument,
-do the previous word, but do not move point.
-.TP
-.B downcase\-word (M\-l)
-Lowercase the current (or following) word. With a negative argument,
-do the previous word, but do not move point.
-.TP
-.B capitalize\-word (M\-c)
-Capitalize the current (or following) word. With a negative argument,
-do the previous word, but do not move point.
-.PD
-.SS Killing and Yanking
-.PP
-.PD 0
-.TP
-.B kill\-line (C\-k)
-Kill the text from the current cursor position to the end of the line.
-.TP
-.B backward\-kill\-line (C\-x C\-Rubout)
-Kill backward to the beginning of the line.
-.TP
-.B unix\-line\-discard (C\-u)
-Kill backward from point to the beginning of the line.
-.\" There is no real difference between this and backward-kill-line
-.TP
-.B kill\-whole\-line
-Kill all characters on the current line, no matter where the
-cursor is. By default, this is unbound.
-.TP
-.B kill\-word (M\-d)
-Kill from the cursor to the end of the current word, or if between
-words, to the end of the next word. Word boundaries are the same as
-those used by \fBforward\-word\fP.
-.TP
-.B backward\-kill\-word (M\-Rubout)
-Kill the word behind the cursor. Word boundaries are the same as
-those used by \fBbackward\-word\fP.
-.TP
-.B unix\-word\-rubout (C\-w)
-Kill the word behind the cursor, using white space as a word boundary.
-The word boundaries are different from backward\-kill\-word.
-.TP
-.B delete\-horizontal\-space
-Delete all spaces and tabs around point. By default, this is unbound.
-.TP
-.B yank (C\-y)
-Yank the top of the kill ring into the buffer at the cursor.
-.TP
-.B yank\-pop (M\-y)
-Rotate the kill\-ring, and yank the new top. Only works following
-.B yank
-or
-.BR yank\-pop .
-.PD
-.SS Numeric Arguments
-.PP
-.PD 0
-.TP
-.B digit\-argument (M\-0, M\-1, ..., M\-\-)
-Add this digit to the argument already accumulating, or start a new
-argument. M\-\- starts a negative argument.
-.TP
-.B universal\-argument
-Each time this is executed, the argument count is multiplied by four.
-The argument count is initially one, so executing this function the
-first time makes the argument count four. By default, this is not
-bound to a key.
-.PD
-.SS Completing
-.PP
-.PD 0
-.TP
-.B complete (TAB)
-Attempt to perform completion on the text before point.
-.B Bash
-attempts completion treating the text as a variable (if the
-text begins with \fB$\fP), username (if the text begins with
-\fB~\fP), hostname (if the text begins with \fB@\fP), or
-command (including aliases and functions) in turn. If none
-of these produces a match, filename completion is attempted.
-.TP
-.B possible\-completions (M-?)
-List the possible completions of the text before point.
-.TP
-.B insert\-completions
-Insert all completions of the text before point
-that would have been generated by
-\fBpossible\-completions\fP. By default, this
-is not bound to a key.
-.TP
-.B complete\-filename (M\-/)
-Attempt filename completion on the text before point.
-.TP
-.B possible\-filename\-completions (C\-x /)
-List the possible completions of the text before point,
-treating it as a filename.
-.TP
-.B complete\-username (M\-~)
-Attempt completion on the text before point, treating
-it as a username.
-.TP
-.B possible\-username\-completions (C\-x ~)
-List the possible completions of the text before point,
-treating it as a username.
-.TP
-.B complete\-variable (M\-$)
-Attempt completion on the text before point, treating
-it as a shell variable.
-.TP
-.B possible\-variable\-completions (C\-x $)
-List the possible completions of the text before point,
-treating it as a shell variable.
-.TP
-.B complete\-hostname (M\-@)
-Attempt completion on the text before point, treating
-it as a hostname.
-.TP
-.B possible\-hostname\-completions (C\-x @)
-List the possible completions of the text before point,
-treating it as a hostname.
-.TP
-.B complete\-command (M\-!)
-Attempt completion on the text before point, treating
-it as a command name. Command completion attempts to
-match the text against aliases, reserved words, shell
-functions, builtins, and finally executable filenames,
-in that order.
-.TP
-.B possible\-command\-completions (C\-x !)
-List the possible completions of the text before point,
-treating it as a command name.
-.TP
-.B dynamic\-complete\-history (M-TAB)
-Attempt completion on the text before point, comparing
-the text against lines from the history list for possible
-completion matches.
-.TP
-.B complete\-into\-braces (M\-{)
-Perform filename completion and return the list of possible completions
-enclosed within braces so the list is available to the shell (see
-.B Brace Expansion
-above).
-.PD
-.SS Keyboard Macros
-.PP
-.PD 0
-.TP
-.B start\-kbd\-macro (C-x (\^)
-Begin saving the characters typed into the current keyboard macro.
-.TP
-.B end\-kbd\-macro (C-x )\^)
-Stop saving the characters typed into the current keyboard macro
-and save the definition.
-.TP
-.B call\-last\-kbd\-macro (C-x e)
-Re-execute the last keyboard macro defined, by making the characters
-in the macro appear as if typed at the keyboard.
-.PD
-.SS Miscellaneous
-.PP
-.PD 0
-.TP
-.B re\-read\-init\-file (C\-x C\-r)
-Read in the contents of your init file, and incorporate
-any bindings or variable assignments found there.
-.TP
-.B abort (C\-g)
-Abort the current editing command and
-ring the terminal's bell (subject to the setting of
-.BR bell\-style ).
-.TP
-.B do\-uppercase\-version (M\-a, M\-b, ...)
-Run the command that is bound to the corresponding uppercase
-character.
-.TP
-.B prefix\-meta (ESC)
-Metafy the next character typed.
-.SM
-.B ESC
-.B f
-is equivalent to
-.BR Meta\-f .
-.TP
-.B undo (C\-_, C\-x C\-u)
-Incremental undo, separately remembered for each line.
-.TP
-.B revert\-line (M\-r)
-Undo all changes made to this line. This is like typing the
-.B undo
-command enough times to return the line to its initial state.
-.TP
-.B tilde\-expand (M\-~)
-Perform tilde expansion on the current word.
-.TP
-.B dump\-functions
-Print all of the functions and their key bindings to the
-readline output stream. If a numeric argument is supplied,
-the output is formatted in such a way that it can be made part
-of an \fIinputrc\fP file.
-.TP
-.B display\-shell\-version (C\-x C\-v)
-Display version information about the current instance of
-.BR bash .
-.PD
-.SH HISTORY
-When interactive, the shell provides access to the \fIcommand history\fP,
-the list of commands previously typed. The text of the last
-.SM
-.B HISTSIZE
-commands (default 500) is saved in a history list. The shell
-stores each command in the history list prior to parameter and
-variable expansion (see
-.SM
-.B EXPANSION
-above) but after history expansion is performed, subject to the
-values of the shell variables
-.B command_oriented_history
-and
-.SM
-.BR HISTCONTROL .
-On startup, the history is initialized from the file named by
-the variable
-.SM
-.B HISTFILE
-(default \fI~/.bash_history\fP).
-.SM
-.B HISTFILE
-is truncated, if necessary, to contain no more than
-.SM
-.B HISTFILESIZE
-lines.
-The builtin command
-.B fc
-(see
-.SM
-.B SHELL BUILTIN COMMANDS
-below) may be used to list or edit and re-execute a portion of
-the history list.
-The
-.B history
-builtin can be used to display the history list and manipulate the
-history file. When using the command-line editing, search commands
-are available in each editing mode that provide access to the
-history list. When an interactive shell exits, the last
-.SM
-.B HISTSIZE
-lines are copied from the history list to
-.SM
-.BR HISTFILE .
-If
-.SM
-.B HISTFILE
-is unset, or if the history file is unwritable, the history is
-not saved.
-.SH "HISTORY EXPANSION"
-.PP
-The shell supports a history expansion feature that
-is similar to the history expansion in
-.BR csh.
-This section describes what syntax features are available. This
-feature is enabled by default for interactive shells, and can be
-disabled using the
-.B \+H
-option to the
-.B set
-builtin command (see
-.SM
-.B SHELL BUILTIN COMMANDS
-below). Non-interactive shells do not perform history expansion.
-.PP
-History expansion is performed immediately after a complete line
-is read, before the shell breaks it into words.
-It takes place in two parts. The first is to determine
-which line from the previous history to use during
-substitution. The second is to select portions of that line for
-inclusion into the current one. The line selected from the
-previous history is the \fIevent\fP, and the portions of that
-line that are acted upon are \fIwords\fP. The line is broken
-into words in the same fashion as when reading input, so that
-several \fImetacharacter\fP\-separated words surrounded by quotes
-are considered as one word. Only backslash (\^\fB\e\fP\^)
-and single quotes can quote
-the history escape character, which is \^\fB!\fP\^ by default.
-.PP
-The shell allows control of the various characters used by the
-history expansion mechanism (see the description of
-.B histchars
-above under
-.BR "Shell Variables" ).
-.SS Event Designators
-.PP
-An event designator is a reference to a command line entry in the
-history list.
-.PP
-.PD 0
-.TP
-.B !
-Start a history substitution, except when followed by a
-.BR blank ,
-newline, = or (.
-.TP
-.B !!
-Refer to the previous command. This is a synonym for `!\-1'.
-.TP
-.B !\fIn\fR
-Refer to command line
-.IR n .
-.TP
-.B !\-\fIn\fR
-Refer to the current command line minus
-.IR n .
-.TP
-.B !\fIstring\fR
-Refer to the most recent command starting with
-.IR string .
-.TP
-.B !?\fIstring\fR\fB[?]\fR
-Refer to the most recent command containing
-.IR string .
-.TP
-.B \d\s+2^\s-2\u\fIstring1\fP\d\s+2^\s-2\u\fIstring2\fP\d\s+2^\s-2\u
-Quick substitution. Repeat the last command, replacing
-.I string1
-with
-.IR string2 .
-Equivalent to
-``!!:s/\fIstring1\fP/\fIstring2\fP/''
-(see \fBModifiers\fP below).
-.TP
-.B !#
-The entire command line typed so far.
-.PD
-.SS Word Designators
-.PP
-A
-.B :
-separates the event specification from the word
-designator. It can be omitted if the word designator begins with a
-.BR ^ ,
-.BR $ ,
-.BR * ,
-or
-.BR % .
-Words are numbered from the beginning of the line,
-with the first word being denoted by a 0 (zero).
-.PP
-.PD 0
-.TP
-.B 0 (zero)
-The zeroth word. For the shell, this is the command
-word.
-.TP
-.I n
-The \fIn\fRth word.
-.TP
-.B ^
-The first argument. That is, word 1.
-.TP
-.B $
-The last argument.
-.TP
-.B %
-The word matched by the most recent `?\fIstring\fR?' search.
-.TP
-.I x\fB\-\fPy
-A range of words; `\-\fIy\fR' abbreviates `0\-\fIy\fR'.
-.TP
-.B *
-All of the words but the zeroth. This is a synonym
-for `\fI1\-$\fP'. It is not an error to use
-.B *
-if there is just one
-word in the event; the empty string is returned in that case.
-.TP
-.B x*
-Abbreviates \fIx\-$\fP.
-.TP
-.B x\-
-Abbreviates \fIx\-$\fP like \fBx*\fP, but omits the last word.
-.PD
-.SS Modifiers
-.PP
-After the optional word designator, you can add a sequence of one
-or more of the following modifiers, each preceded by a `:'.
-.PP
-.PD 0
-.PP
-.TP
-.B h
-Remove a trailing pathname component, leaving only the head.
-.TP
-.B r
-Remove a trailing suffix of the form \fI.xxx\fP, leaving the
-basename.
-.TP
-.B e
-Remove all but the trailing suffix.
-.TP
-.B t
-Remove all leading pathname components, leaving the tail.
-.TP
-.B p
-Print the new command but do not execute it.
-.TP
-.B q
-Quote the substituted words, escaping further substitutions.
-.TP
-.B x
-Quote the substituted words as with
-.BR q ,
-but break into words at
-.B blanks
-and newlines.
-.TP
-.B s/\fIold\fP/\fInew\fP/
-Substitute
-.I new
-for the first occurrence of
-.I old
-in the event line. Any delimiter can be used in place of /. The
-final delimiter is optional if it is the last character of the
-event line. The delimiter may be quoted in
-.I old
-and
-.I new
-with a single backslash. If & appears in
-.IR new ,
-it is replaced by
-.IR old .
-A single backslash will quote the &.
-.TP
-.B &
-Repeat the previous substitution.
-.TP
-.B g
-Cause changes to be applied over the entire event line. This is
-used in conjunction with `\fB:s\fP' (e.g., `\fB:gs/\fIold\fP/\fInew\fP/\fR')
-or `\fB:&\fP'. If used with
-`\fB:s\fP', any delimiter can be used
-in place of /, and the final delimiter is optional
-if it is the last character of the event line.
-.PD
-.SH "ARITHMETIC EVALUATION"
-The shell allows arithmetic expressions to be evaluated, under
-certain circumstances (see the \fBlet\fP builtin command and
-\fBArithmetic Expansion\fP).
-Evaluation
-is done in long integers with no check for overflow, though division
-by 0 is trapped and flagged as an error. The following list of
-operators is grouped into levels of equal-precedence operators.
-The levels are listed in order of decreasing precedence.
-.PP
-.PD 0
-.TP
-.B \- +
-unary minus and plus
-.TP
-.B ! ~
-logical and bitwise negation
-.TP
-.B * / %
-multiplication, division, remainder
-.TP
-.B + \-
-addition, subtraction
-.TP
-.B << >>
-left and right bitwise shifts
-.TP
-.B <= >= < >
-comparison
-.TP
-.B == !=
-equality and inequality
-.TP
-.B &
-bitwise AND
-.TP
-.B ^
-bitwise exclusive OR
-.TP
-.B |
-bitwise OR
-.TP
-.B &&
-logical AND
-.TP
-.B ||
-logical OR
-.TP
-.B = *= /= %= += \-= <<= >>= &= ^= |=
-assignment
-.PD
-.PP
-Shell variables are allowed as operands; parameter expansion is
-performed before the expression is evaluated.
-The value of a parameter is coerced to a long integer within
-an expression. A shell variable need not have its integer attribute
-turned on to be used in an expression.
-.PP
-Constants with a leading 0 are interpreted as octal numbers.
-A leading \fI0x\fP or \fI0X\fP denotes hexadecimal. Otherwise,
-numbers take the form [\fIbase#\fP]n, where \fIbase\fP is a
-decimal number between 2 and 36 representing the arithmetic
-base, and \fIn\fP is a number in that base. If \fIbase\fP is
-omitted, then base 10 is used.
-.PP
-Operators are evaluated in order of precedence. Sub-expressions in
-parentheses are evaluated first and may override the precedence
-rules above.
-.SH "SHELL BUILTIN COMMANDS"
-.\" start of bash_builtins
-.zZ
-.PD 0
-.TP
-\fB:\fP [\fIarguments\fP]
-.PD
-No effect; the command does nothing beyond expanding
-.I arguments
-and performing any specified
-redirections. A zero exit code is returned.
-.TP
-.PD 0
-\fB .\| \fP \fIfilename\fP [\fIarguments\fP]
-.TP
-\fBsource\fP \fIfilename\fP [\fIarguments\fP]
-.PD
-Read and execute commands from
-.I filename
-in the current
-shell environment and return the exit status of the last command
-executed from
-.IR filename .
-If
-.I filename
-does not contain a slash, pathnames in
-.SM
-.B PATH
-are used to find the directory containing
-.IR filename .
-The file searched for in
-.SM
-.B PATH
-need not be executable. The current directory is
-searched if no file is found in
-.SM
-.BR PATH .
-If any \fIarguments\fP are supplied, they become the positional
-parameters when \fIfile\fP is executed. Otherwise the positional
-parameters are unchanged.
-The return status is the status of the last command exited within
-the script (0 if no commands are executed), and false if
-.I filename
-is not found.
-.TP
-\fBalias\fP [\fIname\fP[=\fIvalue\fP] ...]
-\fBAlias\fP with no arguments prints the list of aliases in the form
-\fIname\fP=\fIvalue\fP on standard output. When arguments are
-supplied, an alias is defined for
-each \fIname\fP
-whose \fIvalue\fP is given. A trailing space in
-\fIvalue\fP causes the next
-word to be checked for alias substitution when the alias is
-expanded. For each \fIname\fP in the argument list for which
-no \fIvalue\fP is supplied, the name and value of the alias is
-printed. \fBAlias\fP returns true
-unless a \fIname\fP is given for which no alias has been defined.
-.TP
-\fBbg\fP [\fIjobspec\fP]
-Place \fIjobspec\fP in the background, as if it had been started with
-.BR & .
-If \fIjobspec\fP is not present, the shell's notion of the
-\fIcurrent job\fP is used.
-.B bg
-.I jobspec
-returns 0 unless run when job control is disabled or, when run with
-job control enabled, if \fIjobspec\fP was not found or started without
-job control.
-.TP
-.PD 0
-\fBbind\fP [\fB\-m\fP \fIkeymap\fP] [\fB\-lvd\fP] [\fB-q\fP \fIname\fP]
-.TP
-\fBbind\fP [\fB\-m\fP \fIkeymap\fP] \fB-f\fP \fIfilename\fP
-.TP
-\fBbind\fP [\fB\-m\fP \fIkeymap\fP] \fIkeyseq\fP:\fIfunction-name\fP
-.PD
-Display current
-.B readline
-key and function bindings, or bind a key sequence to a
-.B readline
-function or macro. The binding syntax accepted is identical to that of
-.IR .inputrc ,
-but each binding must be passed as a separate argument;
-e.g., '"\eC-x\eC-r": re\-read\-init\-file'. Options, if supplied, have the
-following meanings:
-.RS
-.PD 0
-.TP
-.B \-m \fIkeymap\fP
-Use
-.I keymap
-as the keymap to be affected by the subsequent bindings.
-Acceptable
-.I keymap
-names are
-\fIemacs, emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move,
-vi-command\fP, and
-.IR vi-insert .
-\fIvi\fP is equivalent to \fIvi-command\fP; \fIemacs\fP is
-equivalent to \fIemacs-standard\fP.
-.TP
-.B \-l
-List the names of all \fBreadline\fP functions
-.TP
-.B \-v
-List current function names and bindings
-.TP
-.B \-d
-Dump function names and bindings in such a way that they can be re-read
-.TP
-.B \-f \fIfilename\fP
-Read key bindings from \fIfilename\fP
-.TP
-.B \-q \fIfunction\fP
-Query about which keys invoke the named \fIfunction\fP
-.PD
-.PP
-The return value is 0 unless an unrecognized option is given or an
-error occurred.
-.RE
-.TP
-\fBbreak\fP [\fIn\fP]
-Exit from within a
-.BR for ,
-.BR while ,
-or
-.B until
-loop. If \fIn\fP is specified, break \fIn\fP levels.
-.I n
-must be \(>= 1. If
-.I n
-is greater than the number of enclosing loops, all enclosing loops
-are exited. The return value is 0 unless the shell is not executing
-a loop when
-.B break
-is executed.
-.TP
-\fBbuiltin\fP \fIshell\-builtin\fP [\fIarguments\fP]
-Execute the specified shell builtin, passing it
-.IR arguments ,
-and return its exit status.
-This is useful when you wish to define a
-function whose name is the same as a shell builtin,
-but need the functionality of the
-builtin within the function itself. The \fBcd\fP builtin is
-commonly redefined this way. The return status is false if
-.I shell\-builtin
-is not a shell builtin command.
-.TP
-\fBcd\fP [\fIdir\fP]
-Change the current directory to \fIdir\fP. The variable
-.SM
-.B HOME
-is the
-default
-.IR dir .
-The variable
-.SM
-.B CDPATH
-defines the search path for
-the directory containing
-.IR dir .
-Alternative directory names are
-separated by a colon (:). A null directory name in
-.SM
-.B CDPATH
-is the same as
-the current directory, i.e., ``\fB.\fP''. If
-.I dir
-begins with a slash (/),
-then
-.SM
-.B CDPATH
-is not used. An argument of
-.B \-
-is equivalent to
-.SM
-.BR $OLDPWD .
-The return value is true if the directory was successfully changed;
-false otherwise.
-.TP
-\fBcommand\fP [\fB-pVv\fP] \fIcommand\fP [\fIarg\fP ...]
-Run
-.I command
-with
-.I args
-suppressing the normal shell function lookup. Only builtin
-commands or commands found in the
-.SM
-.B PATH
-are executed. If the
-.B \-p
-option is given, the search for
-.I command
-is performed using a default value for
-.B PATH
-that is guaranteed to find all of the standard utilities.
-If either the
-.B \-V
-or
-.B \-v
-option is supplied, a description of
-.I command
-is printed. The
-.B \-v
-option causes a single word indicating the command or pathname
-used to invoke
-.I command
-to be printed; the
-.B \-V
-option produces a more verbose description.
-An argument of
-.B \-\-
-disables option checking for the rest of the arguments.
-If the
-.B \-V
-or
-.B \-v
-option is supplied, the exit status is 0 if
-.I command
-was found, and 1 if not. If neither option is supplied and
-an error occurred or
-.I command
-cannot be found, the exit status is 127. Otherwise, the exit status of the
-.B command
-builtin is the exit status of
-.IR command .
-.TP
-\fBcontinue\fP [\fIn\fP]
-Resume the next iteration of the enclosing
-.BR for ,
-.BR while ,
-or
-.B until
-loop.
-If
-.I n
-is specified, resume at the \fIn\fPth enclosing loop.
-.I n
-must be \(>= 1. If
-.I n
-is greater than the number of enclosing loops, the last enclosing loop
-(the `top\-level' loop) is resumed. The return value is 0 unless the
-shell is not executing a loop when
-.B continue
-is executed.
-.TP
-.PD 0
-\fBdeclare\fP [\fB\-frxi\fP] [\fIname\fP[=\fIvalue\fP]]
-.TP
-\fBtypeset\fP [\fB\-frxi\fP] [\fIname\fP[=\fIvalue\fP]]
-.PD
-Declare variables and/or give them attributes. If no \fIname\fPs are
-given, then display the values of variables instead. The options can
-be used to restrict output to variables with the specified attribute.
-.RS
-.PD 0
-.TP
-.B \-f
-Use function names only
-.TP
-.B \-r
-Make \fIname\fPs readonly. These names cannot then be assigned values
-by subsequent assignment statements.
-.TP
-.B \-x
-Mark \fIname\fPs for export to subsequent commands via the environment.
-.TP
-.B \-i
-The variable is treated as an integer; arithmetic evaluation (see
-.SM
-.B "ARITHMETIC EVALUATION" ") "
-is performed when the variable is assigned a value.
-.PD
-.PP
-Using `+' instead of `\-'
-turns off the attribute instead. When used in a function, makes
-\fIname\fPs local, as with the
-.B local
-command. The return value is 0 unless an illegal option is encountered,
-an attempt is made to define a function using "-f foo=bar",
-one of the \fInames\fP is not a legal shell variable name,
-an attempt is made to turn off readonly status for a readonly variable,
-or an attempt is made to display a non-existant function with -f.
-.RE
-.TP
-.B dirs [\fB-l\fP] [\fB+/\-n\fP]
-Display the list of currently remembered directories. Directories
-are added to the list with the
-.B pushd
-command; the
-.B popd
-command moves back up through the list.
-.RS
-.PD 0
-.TP
-.B +n
-displays the \fIn\fPth entry counting from the left of the list
-shown by
-.B dirs
-when invoked without options, starting with zero.
-.TP
-.B \-n
-displays the \fIn\fPth entry counting from the right of the list
-shown by
-.B dirs
-when invoked without options, starting with zero.
-.TP
-.B \-l
-produces a longer listing; the default listing format uses a
-tilde to denote the home directory.
-.PD
-.PP
-The return value is 0 unless an
-illegal option is supplied or \fIn\fP indexes beyond the end
-of the directory stack.
-.RE
-.TP
-\fBecho\fP [\fB\-neE\fP] [\fIarg\fP ...]
-Output the \fIarg\fPs, separated by spaces. The return status is
-always 0. If \fB\-n\fP is specified, the trailing newline is
-suppressed. If the \fB\-e\fP option is given, interpretation of
-the following backslash-escaped characters is enabled. The
-.B \-E
-option disables the interpretation of these escape characters,
-even on systems where they are interpreted by default.
-.RS
-.PD 0
-.TP
-.B \ea
-alert (bell)
-.TP
-.B \eb
-backspace
-.TP
-.B \ec
-suppress trailing newline
-.TP
-.B \ef
-form feed
-.TP
-.B \en
-new line
-.TP
-.B \er
-carriage return
-.TP
-.B \et
-horizontal tab
-.TP
-.B \ev
-vertical tab
-.TP
-.B \e\e
-backslash
-.TP
-.B \ennn
-the character whose ASCII code is \fInnn\fP (octal)
-.PD
-.RE
-.TP
-\fBenable\fP [\fB\-n\fP] [\fB\-all\fP] [\fIname\fP ...]
-Enable and disable builtin shell commands. This allows
-the execution of a disk command which has the same name as a shell
-builtin without specifying a full pathname.
-If \fB\-n\fP is used, each \fIname\fP
-is disabled; otherwise,
-\fInames\fP are enabled. For example, to use the
-.B test
-binary found via the
-.SM
-.B PATH
-instead of the shell builtin version, type
-``enable -n test''. If no arguments are given,
-a list of all enabled shell builtins is printed.
-If only \fB\-n\fP is supplied, a list of all disabled
-builtins is printed. If only \fB\-all\fP is supplied,
-the list printed includes all builtins, with an
-indication of whether or not each is enabled.
-.B enable
-accepts
-.B \-a
-as a synonym for
-.BR \-all .
-The return value is 0 unless a
-.I name
-is not a shell builtin.
-.TP
-\fBeval\fP [\fIarg\fP ...]
-The \fIarg\fPs are read and concatenated together into a single
-command. This command is then read and executed by the shell, and
-its exit status is returned as the value of the
-.B eval
-command. If there are no
-.IR args ,
-or only null arguments,
-.B eval
-returns true.
-.TP
-\fBexec\fP [[\fB\-\fP] \fIcommand\fP [\fIarguments\fP]]
-If
-.I command
-is specified, it replaces the shell.
-No new process is created. The
-.I arguments
-become the arguments to \fIcommand\fP.
-If the first argument is
-.BR \- ,
-the shell places a dash in the zeroth arg passed to
-.IR command .
-This is what login does. If the file
-cannot be executed for some reason, a non-interactive shell exits,
-unless the shell variable \fBno_exit_on_failed_exec\fP exists, in
-which case it returns failure. An interactive shell returns failure
-if the file cannot be executed.
-If
-.I command
-is not specified, any redirections take effect in the current shell,
-and the return status is 0.
-.TP
-\fBexit\fP [\fIn\fP]
-Cause the shell to exit
-with a status of \fIn\fP. If
-.I n
-is omitted, the exit status
-is that of the last command executed.
-A trap on
-.SM
-.B EXIT
-is executed before the shell terminates.
-.TP
-.PD 0
-\fBexport\fP [\fB\-nf\fP\^] [\fIname\fP[=\fIword\fP]] ...
-.TP
-.B export \-p
-.PD
-The supplied
-.I names
-are marked for automatic export to the environment of
-subsequently executed commands. If the
-.B \-f
-option is given,
-the
-.I names
-refer to functions.
-If no
-.I names
-are given, or if the
-.B \-p
-option is supplied, a list
-of all names that are exported in this shell is printed.
-The
-.B \-n
-option causes the export property to be removed from the
-named variables. An argument of
-.B \-\-
-disables option checking for the rest of the arguments.
-.B export
-returns an exit status of 0 unless an illegal option is
-encountered,
-one of the \fInames\fP is not a legal shell variable name, or
-.B \-f
-is supplied with a
-.I name
-that is not a function.
-.TP
-.PD 0
-\fBfc\fP [\fB\-e\fP \fIename\fP] [\fB\-nlr\fP] [\fIfirst\fP] [\fIlast\fP]
-.TP
-\fBfc\fP \fB\-s\fP [\fIpat\fP=\fIrep\fP] [\fIcmd\fP]
-.PD
-Fix Command. In the first form, a range of commands from
-.I first
-to
-.I last
-is selected from the history list.
-.I First
-and
-.I last
-may be specified as a string (to locate the last command beginning
-with that string) or as a number (an index into the history list,
-where a negative number is used as an offset from the current
-command number). If
-.I last
-is not specified it is set to
-the current command for listing (so that
-.B fc \-l \-10
-prints the last 10 commands) and to
-.I first
-otherwise.
-If
-.I first
-is not specified it is set to the previous
-command for editing and \-16 for listing.
-.sp 1
-The
-.B \-n
-flag suppresses
-the command numbers when listing. The
-.B \-r
-flag reverses the order of
-the commands. If the
-.B \-l
-flag is given,
-the commands are listed on
-standard output. Otherwise, the editor given by
-.I ename
-is invoked
-on a file containing those commands. If
-.I ename
-is not given, the
-value of the
-.SM
-.B FCEDIT
-variable is used, and
-the value of
-.SM
-.B EDITOR
-if
-.SM
-.B FCEDIT
-is not set. If neither variable is set,
-.FN vi
-is used. When editing is complete, the edited commands are
-echoed and executed.
-.sp 1
-In the second form, \fIcommand\fP is re-executed after each instance
-of \fIpat\fP is replaced by \fIrep\fP.
-A useful alias to use with this is ``r=fc \-s'',
-so that typing ``r cc''
-runs the last command beginning with ``cc'' and typing ``r''
-re-executes the last command.
-.sp 1
-If the first form is used, the return value is 0 unless an illegal
-option is encountered or
-.I first
-or
-.I last
-specify history lines out of range.
-If the
-.B \-e
-option is supplied, the return value is the value of the last
-command executed or failure if an error occurs with the temporary
-file of commands. If the second form is used, the return status
-is that of the command re-executed, unless
-.I cmd
-does not specify a valid history line, in which case
-.B fc
-returns failure.
-.TP
-\fBfg\fP [\fIjobspec\fP]
-Place
-.I jobspec
-in the foreground, and make it the current job. If
-.I jobspec
-is not present, the shell's notion of the \fIcurrent job\fP is used.
-The return value is that of the command placed into the foreground,
-or failure if run when job control is disabled or, when run with
-job control enabled, if
-.I jobspec
-does not specify a valid job or
-.I jobspec
-specifies a job that was started without job control.
-.TP
-\fBgetopts\fP \fIoptstring\fP \fIname\fP [\fIargs\fP]
-.B getopts
-is used by shell procedures to parse positional parameters.
-.I optstring
-contains the option letters to be recognized; if a letter
-is followed by a colon, the option is expected to have an
-argument, which should be separated from it by white space.
-Each time it is invoked,
-.B getopts
-places the next option in the shell variable
-.IR name ,
-initializing
-.I name
-if it does not exist,
-and the index of the next argument to be processed into the
-variable
-.SM
-.BR OPTIND .
-.SM
-.B OPTIND
-is initialized to 1 each time the shell or a shell script
-is invoked. When an option requires an argument,
-.B getopts
-places that argument into the variable
-.SM
-.BR OPTARG .
-The shell does not reset
-.SM
-.B OPTIND
-automatically; it must be manually reset between multiple
-calls to
-.B getopts
-within the same shell invocation if a new set of parameters
-is to be used.
-.sp 1
-.B getopts
-can report errors in two ways. If the first character of
-.I optstring
-is a colon,
-.I silent
-error reporting is used. In normal operation diagnostic messages
-are printed when illegal options or missing option arguments are
-encountered.
-If the variable
-.SM
-.B OPTERR
-is set to 0, no error message will be displayed, even if the first
-character of
-.I optstring
-is not a colon.
-.sp 1
-If an illegal option is seen,
-.B getopts
-places ? into
-.I name
-and, if not silent,
-prints an error message and unsets
-.SM
-.BR OPTARG .
-If
-.B getopts
-is silent,
-the option character found is placed in
-.SM
-.B OPTARG
-and no diagnostic message is printed.
-.sp 1
-If a required argument is not found, and
-.B getopts
-is not silent,
-a question mark (\^\fB?\fP\^) is placed in
-.IR name ,
-.B OPTARG
-is unset, and a diagnostic message is printed.
-If
-.B getopts
-is silent, then a colon (\^\fB:\fP\^) is placed in
-.I name
-and
-.SM
-.B OPTARG
-is set to the option character found.
-.sp 1
-.B getopts
-normally parses the positional parameters, but if more arguments are
-given in
-.IR args ,
-.B getopts
-parses those instead.
-.B getopts
-returns true if an option, specified or unspecified, is found.
-It returns false if the end of options is encountered or an
-error occurs.
-.TP
-\fBhash\fP [\fB\-r\fP] [\fIname\fP]
-For each
-.IR name ,
-the full pathname of the command is determined
-and remembered. The
-.B \-r
-option causes the shell to forget all
-remembered locations. If no arguments are given, information
-about remembered commands is printed.
-An argument of
-.B \-\-
-disables option checking for the rest of the arguments. The return
-status is true unless a
-.I name
-is not found or an illegal option is supplied.
-.TP
-\fBhelp\fP [\fIpattern\fP]
-Display helpful information about builtin commands. If
-.I pattern
-is specified,
-.B help
-gives detailed help on all commands matching
-.IR pattern ;
-otherwise a list of the builtins is printed. The return status is 0
-unless no command matches
-.IR pattern .
-.TP
-.PD 0
-\fBhistory\fP [\fIn\fP]
-.TP
-\fBhistory\fP \fB\-rwan\fP [\fIfilename\fP]
-.\".TP
-.\"\fBhistory\fP \fB\-s\fP \fIargs\fP
-.PD
-With no options, display the command
-history list with line numbers. Lines listed
-with a
-.B *
-have been modified. An argument of
-.I n
-lists only the last
-.I n
-lines. If a non-option argument is supplied, it is used as the
-name of the history file; if not, the value of
-.SM
-.B HISTFILE
-is used. Options, if supplied, have the following meanings:
-.RS
-.PD 0
-.TP
-.B \-a
-Append the ``new'' history lines (history lines entered since the
-beginning of the current \fBbash\fP session) to the history file
-.TP
-.B \-n
-Read the history lines not already read from the history
-file into the current history list. These are lines
-appended to the history file since the beginning of the
-current \fBbash\fP session.
-.TP
-.B \-r
-Read the contents of the history file
-and use them as the current history
-.TP
-.B \-w
-Write the current history to the history file, overwriting the
-history file's contents.
-.\".TP
-.\".B \-s
-.\"perform history
-.\"substitution on the following \fIargs\fP and display
-.\"the result on the standard output.
-.PD
-.PP
-The return value is 0 unless an illegal option is encountered or an
-error occurs while reading or writing the history file.
-.RE
-.TP
-.PD 0
-\fBjobs\fP [\fB\-lnp\fP] [ \fIjobspec\fP ... ]
-.TP
-\fBjobs\fP \fB\-x\fP \fIcommand\fP [ \fIargs\fP ... ]
-.PD
-The first form lists the active jobs. The
-.B \-l
-option lists process IDs
-in addition to the normal information; the
-.B \-p
-option lists only the process ID of the job's process group
-leader. The
-.B \-n
-option displays only jobs that have changed status since
-last notified. If
-.I jobspec
-is given, output is restricted to information about that job.
-The return status is 0 unless an illegal option is encountered
-or an illegal
-.I jobspec
-is supplied.
-.sp 1
-If the
-.B \-x
-option is supplied,
-.B jobs
-replaces any
-.I jobspec
-found in
-.I command
-or
-.I args
-with the corresponding process group ID, and executes
-.I command
-passing it
-.IR args ,
-returning its exit status.
-.TP
-.PD 0
-\fBkill\fP [\fB-s sigspec\fP | \fB\-sigspec\fP] [\fIpid\fP | \fIjobspec\fP] ...
-.TP
-\fBkill\fP \fB\-l\fP [\fIsignum\fP]
-.PD
-Send the signal named by
-.I sigspec
-to the processes named by
-.I pid
-or
-.IR jobspec .
-.I sigspec
-is either a signal name such as
-.SM
-.B SIGKILL
-or a signal number. If
-.I sigspec
-is a signal name, the name is case insensitive and may be
-given with or without the
-.SM
-.B SIG
-prefix.
-If
-.I sigspec
-is not present, then
-.SM
-.B SIGTERM
-is assumed. An argument of
-.B \-l
-lists the signal names. If any arguments are supplied when
-.B \-l
-is given, the names of the specified signals are listed, and
-the return status is 0.
-An argument of
-.B \-\-
-disables option checking for the rest of the arguments.
-.B kill
-returns true if at least one signal was successfully sent, or false
-if an error occurs or an illegal option is encountered.
-.TP
-\fBlet\fP \fIarg\fP [\fIarg\fP ...]
-Each
-.I arg
-is an arithmetic expression to be evaluated (see
-.SM
-.BR "ARITHMETIC EVALUATION" ).
-If the last
-.I arg
-evaluates to 0,
-.B let
-returns 1; 0 is returned otherwise.
-.TP
-\fBlocal\fP [\fIname\fP[=\fIvalue\fP] ...]
-For each argument, create a local variable named
-.IR name ,
-and assign it
-.IR value .
-When
-.B local
-is used within a function, it causes the variable
-.I name
-to have a visible scope restricted to that function and its children.
-With no operands,
-.B local
-writes a list of local variables to the standard output. It is
-an error to use
-.B local
-when not within a function. The return status is 0 unless
-.B local
-is used outside a function, or an illegal
-.I name
-is supplied.
-.TP
-.B logout
-Exit a login shell.
-.TP
-\fBpopd\fP [\fB+/\-n\fP]
-Removes entries from the directory stack. With no arguments,
-removes the top directory from the stack, and performs a
-.B cd
-to the new top directory.
-.RS
-.PD 0
-.TP
-.B +n
-removes the \fIn\fPth entry counting from the left of the list
-shown by
-.BR dirs ,
-starting with zero. For example: ``popd +0''
-removes the first directory, ``popd +1'' the second.
-.TP
-.B \-n
-removes the \fIn\fPth entry counting from the right of the list
-shown by
-.BR dirs ,
-starting with zero. For example: ``popd -0''
-removes the last directory, ``popd -1'' the next to last.
-.PD
-.PP
-If the
-.B popd
-command is successful, a
-.B dirs
-is performed as well, and the return status is 0.
-.B popd
-returns false if an illegal option is encountered, the directory stack
-is empty, a non-existent directory stack entry is specified, or the
-directory change fails.
-.RE
-.TP
-.PD 0
-\fBpushd\fP [\fIdir\fP]
-.TP
-\fBpushd\fP \fB+/\-n\fP
-.PD
-Adds a directory to the top of the directory stack, or rotates
-the stack, making the new top of the stack the current working
-directory. With no arguments, exchanges the top two directories
-and returns 0, unless the directory stack is empty.
-.RS
-.PD 0
-.TP
-.B +n
-Rotates the stack so that the \fIn\fPth directory
-(counting from the left of the list shown by
-.BR dirs )
-is at the top.
-.TP
-.B \-n
-Rotates the stack so that the \fIn\fPth directory
-(counting from the right) is at the top.
-.TP
-.B dir
-adds
-.I dir
-to the directory stack at the top, making it the
-new current working directory.
-.PD
-.PP
-If the
-.B pushd
-command is successful, a
-.B dirs
-is performed as well.
-If the first form is used,
-.B pushd
-returns 0 unless the cd to
-.I dir
-fails. With the second form,
-.B pushd
-returns 0 unless the directory stack is empty,
-a non-existant directory stack element is specified,
-or the directory change to the specified new current directory
-fails.
-.RE
-.TP
-\fBpwd\fP
-Print the absolute pathname of the current working directory.
-The path printed contains no symbolic links if the
-.B \-P
-option to the
-.B set
-builtin command is set.
-See also the description of
-.B nolinks
-under
-.B Shell Variables
-above). The return status is 0 unless an error occurs while
-reading the pathname of the current directory.
-.TP
-\fBread\fP [\fB\-r\fP] [\fIname\fP ...]
-One line is read from the standard input, and the first word
-is assigned to the first
-.IR name ,
-the second word to the second
-.IR name ,
-and so on, with leftover words assigned to the last
-.IR name .
-Only the
-characters in
-.SM
-.B IFS
-are recognized as word delimiters. If no
-.I names
-are supplied, the line read is assigned to the variable
-.SM
-.BR REPLY .
-The return code is zero, unless end-of-file is encountered. If the
-.B \-r
-option
-is given, a backslash-newline pair is not ignored, and
-the backslash is considered to be part of the line.
-.TP
-.PD 0
-\fBreadonly\fP [\fB\-f\fP] [\fIname\fP ...]
-.TP
-\fBreadonly -p\fP
-.PD
-The given
-\fInames\fP are marked readonly and the values of these
-\fInames\fP
-may not be changed by subsequent assignment.
-If the
-.B \-f
-option is supplied, the functions corresponding to the
-\fInames\fP are so
-marked. If no arguments are given, or if the
-.B \-p
-option is supplied, a list of all readonly names
-is printed.
-An argument of
-.B \-\-
-disables option checking for the rest of the arguments. The
-return status is 0 unless an illegal option is encountered,
-one of the \fInames\fP is not a legal shell variable name, or
-.B \-f
-is supplied with a
-.I name
-that is not a function.
-.TP
-\fBreturn\fP [\fIn\fP]
-Causes a function to exit with the return value specified by
-.IR n .
-If
-.I n
-is omitted, the return status is that of the last command
-executed in the function body. If used outside a function,
-but during execution of a script by the
-.B .
-(\fBsource\fP) command, it causes the shell to stop executing
-that script and return either
-.I n
-or the exit status of the last command executed within the
-script as the exit status of the script. If used outside a
-function and not during execution of a script by \fB.\fP\^,
-the return status is false.
-.TP
-\fBset\fP [\fB\-\-abefhkmnptuvxldCHP\fP] [\fB-o\fP \fIoption\fP] [\fIarg\fP ...]
-.RS
-.PD 0
-.TP 8
-.B \-a
-Automatically mark variables which are modified or created for export
-to the environment of subsequent commands.
-.TP 8
-.B \-b
-Cause the status of terminated background jobs to be reported
-immediately, rather than before the next primary prompt.
-(Also see
-.B notify
-under
-.B Shell Variables
-above).
-.TP 8
-.B \-e
-Exit immediately if a \fIsimple-command\fP (see
-.SM
-.B SHELL GRAMMAR
-above) exits with a non\-zero status. The shell does not exit if the
-command that fails is part of an
-.I until
-or
-.I while
-loop,
-part of an
-.I if
-statement, part of a
-.B &&
-or
-.B \(bv\|\(bv
-list, or if the command's return value is
-being inverted via
-.BR ! .
-.TP 8
-.B \-f
-Disable pathname expansion.
-.TP 8
-.B \-h
-Locate and remember function commands as functions are
-defined. Function commands are normally looked up when
-the function is executed.
-.TP 8
-.B \-k
-All keyword arguments are placed in the environment for a
-command, not just those that precede the command name.
-.TP 8
-.B \-m
-Monitor mode. Job control is enabled. This flag is on
-by default for interactive shells on systems that support
-it (see
-.SM
-.B JOB CONTROL
-above). Background processes run in a separate process
-group and a line containing their exit status is printed
-upon their completion.
-.TP 8
-.B \-n
-Read commands but do not execute them. This may be used to
-check a shell script for syntax errors. This is ignored for
-interactive shells.
-.TP 8
-.B \-o \fIoption-name\fP
-The \fIoption-name\fP can be one of the following:
-.RS
-.TP 8
-.B allexport
-Same as
-.BR \-a .
-.TP 8
-.B braceexpand
-The shell performs brace expansion (see
-.B Brace Expansion
-above). This is on by default.
-.TP 8
-.B emacs
-Use an emacs-style command line editing interface. This is enabled
-by default when the shell is interactive, unless the shell is started
-with the
-.B \-nolineediting
-option.
-.TP 8
-.B errexit
-Same as
-.BR \-e .
-.TP 8
-.B histexpand
-Same as
-.BR \-H .
-.TP 8
-.B ignoreeof
-The effect is as if the shell command `IGNOREEOF=10' had been executed
-(see
-.B Shell Variables
-above).
-.TP 8
-.B interactive\-comments
-Allow a word beginning with
-.B #
-to cause that word and all remaining characters on that
-line to be ignored in an interactive shell (see
-.SM
-.B COMMENTS
-above).
-.TP 8
-.B monitor
-Same as
-.BR \-m .
-.TP 8
-.B noclobber
-Same as
-.BR \-C .
-.TP 8
-.B noexec
-Same as
-.BR \-n .
-.TP 8
-.B noglob
-Same as
-.BR \-f .
-.TP 8
-.B nohash
-Same as
-.BR \-d .
-.TP 8
-.B notify
-Same as
-.BR \-b .
-.TP 8
-.B nounset
-Same as
-.BR \-u .
-.TP 8
-.B physical
-Same as
-.BR \-P .
-.TP 8
-.B posix
-Change the behavior of bash where the default operation differs
-from the Posix 1003.2 standard to match the standard.
-.TP 8
-.B privileged
-Same as
-.BR \-p .
-.TP 8
-.B verbose
-Same as
-.BR \-v .
-.TP 8
-.B vi
-Use a vi-style command line editing interface.
-.TP 8
-.B xtrace
-Same as
-.BR \-x .
-.PP
-If no \fIoption-name\fP is supplied, the values of the current options are
-printed.
-.RE
-.TP 8
-.B \-p
-Turn on
-.I privileged
-mode. In this mode, the
-.B $ENV
-file is not processed, and shell functions
-are not inherited from the environment. This is enabled automatically
-on startup if the effective user (group) id is not equal to the real
-user (group) id. Turning this option off causes the effective user
-and group ids to be set to the real user and group ids.
-.TP 8
-.B \-t
-Exit after reading and executing one command.
-.TP 8
-.B \-u
-Treat unset variables as an error when performing
-parameter expansion. If expansion is attempted on an
-unset variable, the shell prints an error message, and,
-if not interactive, exits with a non\-zero status.
-.TP 8
-.B \-v
-Print shell input lines as they are read.
-.TP 8
-.B \-x
-After expanding each
-.IR simple-command ,
-.B bash
-displays the expanded value of
-.SM
-.BR PS4 ,
-followed by the command and its expanded arguments.
-.TP 8
-.B \-l
-Save and restore the binding of \fIname\fP in a
-\fBfor\fP \fIname\fP [in \fBword\fP] command (see
-.SM
-.B SHELL GRAMMAR
-above).
-.TP 8
-.B \-d
-Disable the hashing of commands that are looked up for execution.
-Normally, commands are remembered in a hash table, and once
-found, do not have to be looked up again.
-.TP 8
-.B \-C
-The effect is as if the shell command `noclobber=' had been executed
-(see
-.B Shell Variables
-above).
-.TP 8
-.B \-H
-Enable
-.B !
-style history substitution. This flag is on by
-default when the shell is interactive.
-.TP 8
-.B \-P
-If set, do not follow symbolic links when performing commands such as
-.B cd
-which change the current directory. The physical directory is
-used instead.
-.TP 8
-.B \-\-
-If no arguments follow this flag, then the positional parameters are
-unset. Otherwise, the positional parameters are set to the
-\fIarg\fPs, even if some of them begin with a
-.BR \- .
-.TP 8
-.B \-
-Signal the end of options, cause all remaining \fIarg\fPs to be
-assigned to the positional parameters. The
-.B \-x
-and
-.B \-v
-options are turned off.
-If there are no \fIarg\fPs,
-the positional parameters remain unchanged.
-.PD
-.PP
-The flags are off by default
-unless otherwise noted.
-Using + rather than \- causes these flags
-to be turned off. The
-flags can also be specified as options to an
-invocation of the shell. The current
-set of flags may be found in
-.BR $\- .
-After the option arguments are processed,
-the remaining \fIn\fP \fIarg\fPs are treated
-as values for the positional
-parameters and are assigned, in order, to
-.BR $1 ,
-.BR $2 ,
-.B ...
-.BR $\fIn\fP .
-If no options or \fIarg\fPs are supplied,
-all shell variables are printed. The return status is always true
-unless an illegal option is encountered.
-.RE
-.TP
-\fBshift\fP [\fIn\fP]
-The positional parameters from \fIn\fP+1 ... are renamed to
-.B $1
-.B ....
-Parameters represented by the numbers \fB$#\fP
-down to \fB$#\fP\-\fIn\fP+1 are unset.
-If
-.I n
-is 0, no parameters are changed.
-If
-.I n
-is not given, it is assumed to be 1.
-.I n
-must be a non-negative number less than or equal to \fB$#\fP.
-If
-.I n
-is greater than \fB$#\fP, the positional parameters are not changed.
-The return status is greater than 0 if
-.I n
-is greater than
-.B $#
-or less than 0; otherwise 0.
-.TP
-\fBsuspend\fP [\fB\-f\fP]
-Suspend the execution of this shell until it receives a
-.SM
-.B SIGCONT
-signal. The
-.B \-f
-option says not to complain if this is
-a login shell; just suspend anyway. The return status is 0 unless
-the shell is a login shell and
-.B \-f
-is not supplied, or if job control is not enabled.
-.TP
-.PD 0
-\fBtest\fP \fIexpr\fP
-.TP
-\fB[\fP \fIexpr\fP \fB]\fP
-Return a status of 0 (true) or 1 (false) depending on
-the evaluation of the conditional expression
-.IR expr .
-Expressions may be unary or binary. Unary
-expressions are often used to examine the status of a file. There
-are string operators and numeric comparison operators as well. Each
-operator and operand must be a separate argument. If \fIfile\fP
-is of the form /dev/fd/\fIn\fP, then file descriptor \fIn\fP is
-checked.
-.RS
-.PD 0
-.TP
-.B \-b \fIfile\fP
-True if \fIfile\fP exists and is block special.
-.TP
-.B \-c \fIfile\fP
-True if \fIfile\fP exists and is character special.
-.TP
-.B \-d \fIfile\fP
-True if \fIfile\fP exists and is a directory.
-.TP
-.B \-e \fIfile\fP
-True if \fIfile\fP exists.
-.TP
-.B \-f \fIfile\fP
-True if \fIfile\fP exists and is a regular file.
-.TP
-.B \-g \fIfile\fP
-True if \fIfile\fP exists and is set-group-id.
-.TP
-.B \-k \fIfile\fP
-True if \fIfile\fP has its ``sticky'' bit set.
-.TP
-.B \-L \fIfile\fP
-True if \fIfile\fP exists and is a symbolic link.
-.TP
-.B \-p \fIfile\fP
-True if \fIfile\fP exists and is a named pipe.
-.TP
-.B \-r \fIfile\fP
-True if \fIfile\fP exists and is readable.
-.TP
-.B \-s \fIfile\fP
-True if \fIfile\fP exists and has a size greater than zero.
-.TP
-.B \-S \fIfile\fP
-True if \fIfile\fP exists and is a socket.
-.TP
-.B \-t \fIfd\fP
-True if
-.I fd
-is opened on a terminal.
-.TP
-.B \-u \fIfile\fP
-True if \fIfile\fP exists and its set-user-id bit is set.
-.TP
-.B \-w \fIfile\fP
-True if \fIfile\fP exists and is writable.
-.TP
-.B \-x \fIfile\fP
-True if \fIfile\fP exists and is executable.
-.TP
-.B \-O \fIfile\fP
-True if \fIfile\fP exists and is owned by the effective user id.
-.TP
-.B \-G \fIfile\fP
-True if \fIfile\fP exists and is owned by the effective group id.
-.TP
-\fIfile1\fP \-\fBnt\fP \fIfile2\fP
-True if \fIfile1\fP is newer (according to
-modification date) than \fIfile2\fP.
-.TP
-\fIfile1\fP \-\fBot\fP \fIfile2\fP
-True if \fIfile1\fP is older than file2.
-.TP
-\fIfile1\fP \fB\-ef\fP \fIfile\fP
-True if \fIfile1\fP and \fIfile2\fP have the same device and
-inode numbers.
-.TP
-.B \-z \fIstring\fP
-True if the length of \fIstring\fP is zero.
-.TP
-.B \-n \fIstring\fP
-.TP
-\fIstring\fP
-True if the length of
-.I string
-is non\-zero.
-.TP
-\fIstring1\fP \fB=\fP \fIstring2\fP
-True if the strings are equal.
-.TP
-\fIstring1\fP \fB!=\fP \fIstring2\fP
-True if the strings are not equal.
-.TP
-.B ! \fIexpr\fP
-True if
-.I expr
-is false.
-.TP
-\fIexpr1\fP \-\fBa\fP \fIexpr2\fP
-True if both
-.I expr1
-AND
-.I expr2
-are true.
-.TP
-\fIexpr1\fP \-\fBo\fP \fIexpr2\fP
-True if either
-.I expr1
-OR
-.I expr2
-is true.
-.TP
-.I arg1 \fBOP\fP arg2
-.SM
-.B OP
-is one of
-.BR \-eq ,
-.BR \-ne ,
-.BR \-lt ,
-.BR \-le ,
-.BR \-gt ,
-or
-.BR \-ge .
-These arithmetic binary operators return true if \fIarg1\fP
-is equal, not-equal, less-than, less-than-or-equal,
-greater-than, or greater-than-or-equal than \fIarg2\fP,
-respectively.
-.I Arg1
-and
-.I arg2
-may be positive integers, negative integers, or the special
-expression \fB\-l\fP \fIstring\fP, which evaluates to the
-length of
-.IR string .
-.PD
-.RE
-.TP
-.B times
-Print the accumulated user and system times for the shell and
-for processes run from the shell. The return status is 0.
-.TP
-\fBtrap\fP [\fB\-l\fP] [\fIarg\fP] [\fIsigspec\fP]
-The command
-.I arg
-is to be read and executed when the shell receives
-signal(s)
-.IR sigspec .
-If
-.I arg
-is absent or
-.BR \- ,
-all specified signals are
-reset to their original values (the values they had
-upon entrance to the shell). If
-.I arg
-is the null string this
-signal is ignored by the shell and by the
-commands it invokes.
-.I sigspec
-is either
-a signal name defined in <\fIsignal.h\fP>, or a signal number.
-If
-.I sigspec
-is
-.SM
-.B EXIT
-(0) the command
-.I arg
-is executed on exit from
-the shell. With no arguments,
-.B trap
-prints the list of commands associated with each signal number.
-The
-.B \-l
-option causes the shell to
-print a list of signal names and their corresponding
-numbers. An argument of
-.B \-\-
-disables option checking for the rest of the arguments.
-Signals ignored upon entry to the shell cannot be trapped or reset.
-Trapped signals are reset to their original values in a child
-process when it is created. The return status is false if either
-the trap name or number is invalid; otherwise
-.B trap
-returns true.
-.TP
-\fBtype\fP [\fB\-all\fP] [\fB\-type\fP | \fB\-path\fP] \fIname\fP [\fIname\fP ...]
-With no options,
-indicate how each
-.I name
-would be interpreted if used as a command name.
-If the
-.B \-type
-flag is used,
-.B type
-prints a phrase which is one of
-.IR alias ,
-.IR keyword ,
-.IR function ,
-.IR builtin ,
-or
-.I file
-if
-.I name
-is an alias, shell reserved word, function, builtin, or disk file,
-respectively. If the name is not found, then nothing is printed,
-and an exit status of false is returned.
-If the
-.B \-path
-flag is used,
-.B type
-either returns the name of the disk file
-that would be executed if
-.I name
-were specified as a command name,
-or nothing if
-.B \-type
-would not return
-.IR file .
-If a command is hashed,
-.B \-path
-prints the hashed value, not necessarily the file that appears
-first in
-.SM
-.BR PATH .
-If the
-.B \-all
-flag is used,
-.B type
-prints all of the places that contain
-an executable named
-.IR name .
-This includes aliases and functions,
-if and only if the
-.B \-path
-flag is not also used.
-The table of hashed commands is not consulted
-when using
-.BR \-all .
-.B type
-accepts
-.BR \-a ,
-.BR \-t ,
-and
-.B \-p
-in place of
-.BR \-all ,
-.BR \-type ,
-and
-.BR \-path ,
-respectively.
-An argument of
-.B \-\-
-disables option checking for the rest of the arguments.
-.B type
-returns true if any of the arguments are found, false if
-none are found.
-.TP
-\fBulimit\fP [\fB\-SHacdfmstpnuv\fP [\fIlimit\fP]]
-.B Ulimit
-provides control over the resources available to the shell and to
-processes started by it, on systems that allow such control. The
-value of
-.I limit
-can be a number in the unit specified for the resource, or the
-value
-.BR unlimited .
-The \fBH\fP and \fBS\fP options specify that the hard or soft limit is
-set for the given resource. A hard limit cannot be increased once it
-is set; a soft limit may be increased up to the value of the hard limit.
-If neither \fBH\fP nor \fBS\fP is specified, the command applies to the
-soft limit. If
-.I limit
-is omitted, the current value of the soft limit of the resource is
-printed, unless the \fBH\fP option is given. When more than one resource
-is specified, the limit name and unit is printed before the value.
-Other options are interpreted as follows:
-.RS
-.PD 0
-.TP
-.B \-a
-all current limits are reported
-.TP
-.B \-c
-the maximum size of core files created
-.TP
-.B \-d
-the maximum size of a process's data segment
-.TP
-.B \-f
-the maximum size of files created by the shell
-.TP
-.B \-m
-the maximum resident set size
-.TP
-.B \-s
-the maximum stack size
-.TP
-.B \-t
-the maximum amount of cpu time in seconds
-.TP
-.B \-p
-the pipe size in 512-byte blocks (this may not be set)
-.TP
-.B \-n
-the maximum number of open file descriptors (most systems do not
-allow this value to be set, only displayed)
-.TP
-.B \-u
-the maximum number of processes available to a single user
-.TP
-.B \-v
-The maximum amount of virtual memory available to the shell
-.PD
-.PP
-An argument of
-.B \-\-
-disables option checking for the rest of the arguments. If
-.I limit
-is given, it is the new value of the specified resource (the
-.B \-a
-option is display only).
-If no option is given, then
-.B \-f
-is assumed. Values are in 1024-byte increments, except for
-.BR \-t ,
-which is in seconds,
-.BR \-p ,
-which is in units of 512-byte blocks,
-and
-.B \-n
-and
-.BR \-u ,
-which are unscaled values. The return status is 0
-unless an illegal option is encountered, a non-numeric argument
-other than \fBunlimited\fP is supplied as \fIlimit\fP, or an
-error occurs while setting a new limit.
-.RE
-.TP
-\fBumask\fP [\fB\-S\fP] [\fImode\fP]
-The user file-creation mask is set to
-.IR mode .
-If
-.I mode
-begins with a digit, it
-is interpreted as an octal number; otherwise
-it is interpreted as a symbolic mode mask similar
-to that accepted by
-.IR chmod (1).
-If
-.I mode
-is omitted, or if the
-.B \-S
-option is supplied, the
-current value of the mask is printed. The
-.B \-S
-option causes the mask to be printed in symbolic form; the
-default output is an octal number.
-An argument of
-.B \-\-
-disables option checking for the rest of the arguments. The
-return status is 0 if the mode was successfully changed or if
-no \fImode\fP argument was supplied, and false otherwise.
-.TP
-\fBunalias\fP [\-\fBa\fP] [\fIname\fP ...]
-Remove \fIname\fPs from the list of defined aliases. If
-.B \-a
-is supplied, all alias definitions are removed. The return
-value is true unless a supplied
-.I name
-is not a defined alias.
-.TP
-\fBunset\fP [\-\fBfv\fP] [\fIname\fP ...]
-For each
-.IR name ,
-remove the corresponding variable or, given the
-.B \-f
-option, function.
-An argument of
-.B \-\-
-disables option checking for the rest of the arguments.
-Note that
-.SM
-.BR PATH ,
-.SM
-.BR IFS ,
-.SM
-.BR PPID ,
-.SM
-.BR PS1 ,
-.SM
-.BR PS2 ,
-.SM
-.BR UID ,
-and
-.SM
-.B EUID
-cannot be unset. If any of
-.SM
-.BR RANDOM ,
-.SM
-.BR SECONDS ,
-.SM
-.BR LINENO ,
-or
-.SM
-.B HISTCMD
-are unset, they lose their special properties, even if they are
-subsequently reset. The exit status is true unless a
-.I name
-does not exist or is non-unsettable.
-.TP
-\fBwait\fP [\fIn\fP]
-Wait for the specified process and return its termination
-status.
-.I n
-may be a process
-ID or a job specification; if a job spec is given, all processes
-in that job's pipeline are waited for. If
-.I n
-is not given, all currently active child processes
-are waited for, and the return status is zero. If
-.I n
-specifies a non-existant process or job, the return status is
-127. Otherwise, the return status is the exit status of the last
-process or job waited for.
-.\" bash_builtins
-.if \n(zZ=1 .ig zZ
-.SH INVOCATION
-A \fIlogin shell\fP is one whose first character of argument zero is a
-.BR \- ,
-or one started with the
-.B \-login
-flag.
-.PP
-An \fIinteractive\fP shell is one whose standard input and output are
-both connected to terminals (as determined by
-.IR isatty (3)),
-or one started with the
-.B \-i
-option.
-.SM
-.B PS1
-is set and
-.B $\-
-includes
-.B i
-if
-.B bash
-is interactive,
-allowing a shell script or a startup file to test this state.
-.PP
-.nf
-Login shells:
- On login (subject to the \fB\-noprofile\fP option):
- if \fI/etc/profile\fP exists, source it.
-
- if \fI~/.bash_profile\fP exists, source it,
- else if \fI~/.bash_login\fP exists, source it,
- else if \fI~/.profile\fP exists, source it.
-
- On exit:
- if \fI~/.bash_logout\fP exists, source it.
-
-Non-login interactive shells:
- On startup (subject to the \fB\-norc\fP and \fB\-rcfile\fP options):
- if \fI~/.bashrc\fP exists, source it.
-
-Non-interactive shells:
- On startup:
- if the environment variable \fBENV\fP is non-null, expand
- it and source the file it names, as if the command
- if [ "$ENV" ]; then . $ENV; fi
- had been executed, but do not use \fBPATH\fP to search
- for the pathname. When not started in Posix mode, bash
- looks for \fBBASH_ENV\fP before \fBENV\fP.
-.PP
-.fi
-.PP
-If Bash is invoked as
-.BR sh ,
-it tries to mimic the behavior of
-.B sh
-as closely as possible. For a login shell, it attempts to
-source only
-.I /etc/profile
-and
-.IR ~/.profile ,
-in that order. The
-.B \-noprofile
-option may still be used to disable this behavior.
-A shell invoked as
-.B sh
-does not attempt to source any other startup files.
-.PP
-When
-.B bash
-is started in
-.I posix
-mode, as with the
-.B \-posix
-command line option, it follows the Posix standard for
-startup files. In this mode, the
-.B ENV
-variable is expanded and that file sourced; no other startup
-files are read.
-.SH "SEE ALSO"
-.PD 0
-.TP
-\fIBash Features\fP, Brian Fox and Chet Ramey
-.TP
-\fIThe Gnu Readline Library\fP, Brian Fox and Chet Ramey
-.TP
-\fIThe Gnu History Library\fP, Brian Fox and Chet Ramey
-.TP
-\fIA System V Compatible Implementation of 4.2\s-1BSD\s+1 Job Control\fP, David Lennert
-.TP
-\fIPortable Operating System Interface (POSIX) Part 2: Shell and Utilities\fP, IEEE
-.TP
-\fIsh\fP(1), \fIksh\fP(1), \fIcsh\fP(1)
-.TP
-\fIemacs\fP(1), \fIvi\fP(1)
-.TP
-\fIreadline\fP(3)
-.PD
-.SH FILES
-.PD 0
-.TP
-.FN /bin/bash
-The \fBbash\fP executable
-.TP
-.FN /etc/profile
-The systemwide initialization file, executed for login shells
-.TP
-.FN ~/.bash_profile
-The personal initialization file, executed for login shells
-.TP
-.FN ~/.bashrc
-The individual per-interactive-shell startup file
-.TP
-.FN ~/.inputrc
-Individual \fIreadline\fP initialization file
-.PD
-.SH AUTHORS
-.RS
-Brian Fox, Free Software Foundation (primary author)
-.br
-bfox@ai.MIT.Edu
-.PP
-Chet Ramey, Case Western Reserve University
-.br
-chet@ins.CWRU.Edu
-.SH BUG REPORTS
-If you find a bug in
-.B bash,
-you should report it. But first, you should
-make sure that it really is a bug, and that it appears in the latest
-version of
-.B bash
-that you have.
-.PP
-Once you have determined that a bug actually exists, use the
-.I bashbug
-command to submit a bug report.
-If you have a fix, you are welcome to mail that
-as well!
-Suggestions and `philosophical' bug reports may be mailed
-to \fPbug-bash\fP@\fIprep.ai.MIT.Edu\fP or posted to the Usenet
-newsgroup
-.BR gnu.bash.bug .
-.PP
-ALL bug reports should include:
-.PP
-.PD 0
-.TP 20
-The version number of \fBbash\fR
-.TP
-The hardware and operating system
-.TP
-The compiler used to compile
-.TP
-A description of the bug behaviour
-.TP
-A short script or `recipe' which exercises the bug
-.PD
-.PP
-.I bashbug
-inserts the first three items automatically into the template
-it provides for filing a bug report.
-.PP
-Comments and bug reports concerning
-this manual page should be directed to
-.IR chet@ins.CWRU.Edu .
-.SH BUGS
-.PP
-It's too big and too slow.
-.PP
-There are some subtle differences between
-.B bash
-and traditional versions of
-.BR sh ,
-mostly because of the
-.SM
-.B POSIX
-specification.
-.PP
-Aliases are confusing in some uses.
-.zZ