Penguin

Differences between current version and revision by previous author of sh(1).

Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History

Newer page: version 2 Last edited on Friday, July 2, 2004 3:42:59 pm by JohnMcPherson
Older page: version 1 Last edited on Tuesday, June 4, 2002 12:22:52 am by perry Revert
@@ -1,8709 +1 @@
-BASH  
-!!!BASH  
-NAME  
-SYNOPSIS  
-COPYRIGHT  
-DESCRIPTION  
-OPTIONS  
-ARGUMENTS  
-INVOCATION  
-DEFINITIONS  
-RESERVED WORDS  
-SHELL GRAMMAR  
-COMMENTS  
-QUOTING  
-PARAMETERS  
-EXPANSION  
-REDIRECTION  
-ALIASES  
-FUNCTIONS  
-ARITHMETIC EVALUATION  
-CONDITIONAL EXPRESSIONS  
-SIMPLE COMMAND EXPANSION  
-COMMAND EXECUTION  
-COMMAND EXECUTION ENVIRONMENT  
-ENVIRONMENT  
-EXIT STATUS  
-SIGNALS  
-JOB CONTROL  
-PROMPTING  
-READLINE  
-HISTORY  
-HISTORY EXPANSION  
-SHELL BUILTIN COMMANDS  
-RESTRICTED SHELL  
-SEE ALSO  
-FILES  
-AUTHORS  
-BUG REPORTS  
-BUGS  
-----  
-!!NAME  
-  
-  
-bash - GNU Bourne-Again SHell  
-!!SYNOPSIS  
-  
-  
-__bash__ [[options] [[file]  
-!!COPYRIGHT  
-  
-  
-Bash is Copyright 1989-2001 by the Free Software Foundation,  
-Inc.  
-!!DESCRIPTION  
-  
-  
-__Bash__ is an __sh__-compatible command language  
-interpreter that executes commands read from the standard  
-input or from a file. __Bash__ also incorporates useful  
-features from the ''Korn'' and ''C'' shells  
-(__ksh__ and __csh__).  
-  
-  
-__Bash__ is intended to be a conformant implementation of  
-the IEEE POSIX Shell and Tools specification (IEEE Working  
-Group 1003.2).  
-!!OPTIONS  
-  
-  
-In addition to the single-character shell options documented  
-in the description of the __set__ builtin command,  
-__bash__ interprets the following options when it is  
-invoked:  
-  
-  
-__-c__ ''string''  
-  
-  
-If the __-c__ option is present, then commands are read  
-from ''string''. If there are arguments after the  
-''string'', they are assigned to the positional  
-parameters, starting with __$__.  
-  
-  
-__-r__ If the __-r__ option is present, the shell  
-becomes ''restricted'' (see __RESTRICTED  
-SHELL__ below).  
-  
-  
-__-i__ If the __-i__ option is present, the shell is  
-''interactive''.  
-  
-  
-__-s__ If the __-s__ option 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.  
-  
-  
-__-v__ Print shell input lines as they are  
-read.  
-  
-  
-__-x__ Print commands and their arguments as they are  
-executed.  
-  
-  
-__-D__ A list of all double-quoted strings preceded by  
-__$__ is printed on the standard ouput. These are the  
-strings that are subject to language translation when the  
-current locale is not __C__ or __POSIX__. This implies  
-the __-n__ option; no commands will be  
-executed.  
-  
-  
-__[[-+]O [[__''shopt_option''__]__  
-  
-  
-''shopt_option'' is one of the shell options accepted by  
-the __shopt__ builtin (see __SHELL BUILTIN  
-COMMANDS__ below). If ''shopt_option'' is  
-present, __-O__ sets the value of that option; __+O__  
-unsets it. If ''shopt_option'' is not supplied, the names  
-and values of the shell options accepted by __shopt__ are  
-printed on the standard output. If the invocation option is  
-__+O__, the output is displayed in a format that may be  
-reused as input.  
-  
-  
-__--__ A __--__ signals the end of options and  
-disables further option processing. Any arguments after the  
-__--__ are treated as filenames and arguments. An  
-argument of __-__ is equivalent to  
-__--__.  
-  
-  
-__Bash__ also interprets a number of multi-character  
-options. These options must appear on the command line  
-before the single-character options in order for them to be  
-recognized.  
-  
-  
-__--dump-po-strings__  
-  
-  
-Equivalent to __-D__, but the output is in the GNU  
-''gettext'' __po__ (portable object) file  
-format.  
-  
-  
-__--dump-strings__  
-  
-  
-Equivalent to __-D__.  
-  
-  
-__--help__  
-  
-  
-Display a usage message on standard output and exit  
-successfully.  
-  
-  
-__--init-file__ ''file''  
-  
-  
-__--rcfile__ ''file''  
-  
-  
-Execute commands from ''file'' instead of the standard  
-personal initialization file ''~/.bashrc'' if the shell  
-is interactive (see __INVOCATION__  
-below).  
-  
-  
-__--login__  
-  
-  
-Make __bash__ act as if it had been invoked as a login  
-shell (see __INVOCATION__  
-below).  
-  
-  
-__--noediting__  
-  
-  
-Do not use the GNU __readline__ library to read command  
-lines when the shell is interactive.  
-  
-  
-__--noprofile__  
-  
-  
-Do not read either the system-wide startup file  
-''/etc/profile'' or any of the personal initialization  
-files ''~/.bash_profile'', ''~/.bash_login'', or  
-''~/.profile''. By default, __bash__ reads these files  
-when it is invoked as a login shell (see  
-__INVOCATION__ below).  
-  
-  
-__--norc__  
-  
-  
-Do not read and execute the personal initialization file  
-''~/.bashrc'' if the shell is interactive. This option is  
-on by default if the shell is invoked as  
-__sh__.  
-  
-  
-__--posix__  
-  
-  
-Change the behavior of __bash__ where the default  
-operation differs from the POSIX 1003.2 standard to match  
-the standard (''posix mode'').  
-  
-  
-__--restricted__  
-  
-  
-The shell becomes restricted (see __RESTRICTED  
-SHELL__ below).  
-  
-  
-__--verbose__  
-  
-  
-Equivalent to __-v__.  
-  
-  
-__--version__  
-  
-  
-Show version information for this instance of __bash__ on  
-the standard output and exit successfully.  
-!!ARGUMENTS  
-  
-  
-If arguments remain after option processing, and neither the  
-__-c__ nor the __-s__ option has been supplied, the  
-first argument is assumed to be the name of a file  
-containing shell commands. If __bash__ is invoked in this  
-fashion, __$__ is set to the name of the file, and the  
-positional parameters are set to the remaining arguments.  
-__Bash__ reads and executes commands from this file, then  
-exits. __Bash__'s exit status is the exit status of the  
-last command executed in the script. If no commands are  
-executed, the exit status is . An attempt is first made to  
-open the file in the current directory, and, if no file is  
-found, then the shell searches the directories in  
-__PATH__ for the script.  
-!!INVOCATION  
-  
-  
-A ''login shell'' is one whose first character of  
-argument zero is a __-__, or one started with the  
-__--login__ option.  
-  
-  
-An ''interactive'' shell is one started without  
-non-option arguments and without the __-c__ option whose  
-standard input and output are both connected to terminals  
-(as determined by isatty(3)), or one started with the  
-__-i__ option. __PS1__ is set and  
-__$-__ includes __i__ if __bash__ is interactive,  
-allowing a shell script or a startup file to test this  
-state.  
-  
-  
-The following paragraphs describe how __bash__ executes  
-its startup files. If any of the files exist but cannot be  
-read, __bash__ reports an error. Tildes are expanded in  
-file names as described below under __Tilde Expansion__  
-in the __EXPANSION__ section.  
-  
-  
-When __bash__ is invoked as an interactive login shell,  
-or as a non-interactive shell with the __--login__  
-option, it first reads and executes commands from the file  
-''/etc/profile'', if that file exists. After reading that  
-file, it looks for ''~/.bash_profile'',  
-''~/.bash_login'', and ''~/.profile'', in that order,  
-and reads and executes commands from the first one that  
-exists and is readable. The __--noprofile__ option may be  
-used when the shell is started to inhibit this  
-behavior.  
-  
-  
-When a login shell exits, __bash__ reads and executes  
-commands from the file ''~/.bash_logout'', if it  
-exists.  
-  
-  
-When an interactive shell that is not a login shell is  
-started, __bash__ reads and executes commands from  
-''~/.bashrc'', if that file exists. This may be inhibited  
-by using the __--norc__ option. The __--rcfile__  
-''file'' option will force __bash__ to read and  
-execute commands from ''file'' instead of  
-''~/.bashrc''.  
-  
-  
-When __bash__ is started non-interactively, to run a  
-shell script, for example, it looks for the variable  
-__BASH_ENV__ in the environment, expands  
-its value if it appears there, and uses the expanded value  
-as the name of a file to read and execute. __Bash__  
-behaves as if the following command were  
-executed:  
-  
-  
-if [[ -n  
-  
-  
-but the value of the __PATH__ variable is  
-not used to search for the file name.  
-  
-  
-If __bash__ is invoked with the name __sh__, it tries  
-to mimic the startup behavior of historical versions of  
-__sh__ as closely as possible, while conforming to the  
-POSIX standard as well. When invoked as an interactive login  
-shell, or a non-interactive shell with the __--login__  
-option, it first attempts to read and execute commands from  
-''/etc/profile'' and ''~/.profile'', in that order.  
-The __--noprofile__ option may be used to inhibit this  
-behavior. When invoked as an interactive shell with the name  
-__sh__, __bash__ looks for the variable  
-__ENV__, expands its value  
-if it is defined, and uses the expanded value as the name of  
-a file to read and execute. Since a shell invoked as  
-__sh__ does not attempt to read and execute commands from  
-any other startup files, the __--rcfile__ option has no  
-effect. A non-interactive shell invoked with the name  
-__sh__ does not attempt to read any other startup files.  
-When invoked as __sh__, __bash__ enters ''posix''  
-mode after the startup files are read.  
-  
-  
-When __bash__ is started in ''posix'' mode, as with  
-the __--posix__ command line option, it follows the POSIX  
-standard for startup files. In this mode, interactive shells  
-expand the __ENV__ variable and commands  
-are read and executed from the file whose name is the  
-expanded value. No other startup files are  
-read.  
-  
-  
-__Bash__ attempts to determine when it is being run by  
-the remote shell daemon, usually ''rshd''. If __bash__  
-determines it is being run by ''rshd'', it reads and  
-executes commands from ''~/.bashrc'', if that file exists  
-and is readable. It will not do this if invoked as  
-__sh__. The __--norc__ option may be used to inhibit  
-this behavior, and the __--rcfile__ option may be used to  
-force another file to be read, but ''rshd'' does not  
-generally invoke the shell with those options or allow them  
-to be specified.  
-  
-  
-If the shell is started with the effective user (group) id  
-not equal to the real user (group) id, and the __-p__  
-option is not supplied, no startup files are read, shell  
-functions are not inherited from the environment, the  
-__SHELLOPTS__ variable, if it appears in  
-the environment, is ignored, and the effective user id is  
-set to the real user id. If the __-p__ option is supplied  
-at invocation, the startup behavior is the same, but the  
-effective user id is not reset.  
-!!DEFINITIONS  
-  
-  
-The following definitions are used throughout the rest of  
-this document.  
-  
-  
-__blank__  
-  
-  
-A space or tab.  
-  
-  
-__word__  
-  
-  
-A sequence of characters considered as a single unit by the  
-shell. Also known as a __token__.  
-  
-  
-__name__  
-  
-  
-A ''word'' consisting only of alphanumeric characters and  
-underscores, and beginning with an alphabetic character or  
-an underscore. Also referred to as an  
-__identifier__.  
-  
-  
-__metacharacter__  
-  
-  
-A character that, when unquoted, separates words. One of the  
-following:  
-  
-  
-__| __  
-  
-  
-__control operator__  
-  
-  
-A ''token'' that performs a control function. It is one  
-of the following symbols:  
-  
-  
-__  
-__  
-!!RESERVED WORDS  
-  
-  
-''Reserved words'' 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 __SHELL GRAMMAR__ below) or the third  
-word of a __case__ or __for__ command:  
-  
-  
-__! case do done elif else esac fi for function if in  
-select then until while { } time [[[[ ]]__  
-!!SHELL GRAMMAR  
-  
-  
-__Simple Commands__  
-  
-  
-A ''simple command'' is a sequence of optional variable  
-assignments followed by __blank__-separated words and  
-redirections, and terminated by a ''control operator''.  
-The first word specifies the command to be executed, and is  
-passed as argument zero. The remaining words are passed as  
-arguments to the invoked command.  
-  
-  
-The return value of a ''simple command'' is its exit  
-status, or 128+''n'' if the command is terminated by  
-signal ''n''.  
-  
-  
-__Pipelines__  
-  
-  
-A ''pipeline'' is a sequence of one or more commands  
-separated by the character __|__. The format for a  
-pipeline is:  
-  
-  
-[[__time__ [[__-p__]] [[ ! ] ''command'' [[ __|__  
-''command2'' ... ]  
-  
-  
-The standard output of ''command'' is connected via a  
-pipe to the standard input of ''command2''. This  
-connection is performed before any redirections specified by  
-the command (see __REDIRECTION__  
-below).  
-  
-  
-If the reserved word __!__ 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.  
-  
-  
-If the __time__ reserved word precedes a pipeline, the  
-elapsed as well as user and system time consumed by its  
-execution are reported when the pipeline terminates. The  
-__-p__ option changes the output format to that specified  
-by POSIX. The __TIMEFORMAT__ variable may  
-be set to a format string that specifies how the timing  
-information should be displayed; see the description of  
-__TIMEFORMAT__ under __Shell  
-Variables__ below.  
-  
-  
-Each command in a pipeline is executed as a separate process  
-(i.e., in a subshell).  
-  
-  
-__Lists__  
-  
-  
-A ''list'' is a sequence of one or more pipelines  
-separated by one of the operators __;__, ____,  
-____, or , and optionally terminated by one of  
-__;__, ____, or  
-____.  
-  
-  
-Of these list operators, ____ and have equal  
-precedence, followed by __;__ and ____ which  
-have equal precedence.  
-  
-  
-If a command is terminated by the control operator  
-____, the shell executes the command in the  
-''background'' in a subshell. The shell does not wait for  
-the command to finish, and the return status is . Commands  
-separated by a __;__ 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.  
-  
-  
-The control operators ____ and denote AND lists  
-and OR lists, respectively. An AND list has the  
-form  
-  
-  
-''command1'' ____  
-''command2''  
-  
-  
-''command2'' is executed if, and only if, ''command1''  
-returns an exit status of zero.  
-  
-  
-An OR list has the form  
-  
-  
-''command1 command2''  
-  
-  
-''command2'' is executed if and only if ''command1''  
-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.  
-  
-  
-__Compound Commands__  
-  
-  
-A ''compound command'' is one of the  
-following:  
-  
-  
-(''list'')  
-  
-  
-''list'' 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 ''list''.  
-  
-  
-{ ''list''; }  
-  
-  
-''list'' is simply executed in the current shell  
-environment. ''list'' must be terminated with a newline  
-or semicolon. This is known as a ''group command''. The  
-return status is the exit status of ''list''. Note that  
-unlike the metacharacters __(__ and , __{__ and  
-__}__ are ''reserved words'' and must occur where a  
-reserved word is permitted to be recognized. Since they do  
-not cause a word break, they must be separated from  
-''list'' by whitespace.  
-  
-  
-((''expression''))  
-  
-  
-The ''expression'' is evaluated according to the rules  
-described below under __ARITHMETIC  
-EVALUATION__. If the value of the  
-expression is non-zero, the return status is ; otherwise  
-the return status is 1. This is exactly equivalent to __let  
-__''expression''____.  
-  
-  
-__[[[[__ ''expression'' __]]__  
-  
-  
-Return a status of 0 or 1 depending on the evaluation of the  
-conditional expression ''expression''. Expressions are  
-composed of the primaries described below under  
-__CONDITIONAL  
-EXPRESSIONS__. Word splitting and  
-pathname expansion are not performed on the words between  
-the __[[[[__ and __]]__; tilde expansion, parameter and  
-variable expansion, arithmetic expansion, command  
-substitution, process substitution, and quote removal are  
-performed.  
-  
-  
-When the __==__ and __!=__ operators are used, the  
-string to the right of the operator is considered a pattern  
-and matched according to the rules described below under  
-__Pattern Matching__. The return value is 0 if the string  
-matches or does not match the pattern, respectively, and 1  
-otherwise. Any part of the pattern may be quoted to force it  
-to be matched as a string.  
-  
-  
-Expressions may be combined using the following operators,  
-listed in decreasing order of precedence:  
-  
-  
-__(__ ''expression'' __)__  
-  
-  
-Returns the value of ''expression''. This may be used to  
-override the normal precedence of operators.  
-  
-  
-__!__ ''expression''  
-  
-  
-True if ''expression'' is false.  
-  
-  
-''expression1'' ____  
-''expression2''  
-  
-  
-True if both ''expression1'' and ''expression2'' are  
-true.  
-  
-  
-''expression1 expression2''  
-  
-  
-True if either ''expression1'' or ''expression2'' is  
-true.  
-  
-  
-The ____ and operators do not execute  
-''expression2'' if the value of ''expression1'' is  
-sufficient to determine the return value of the entire  
-conditional expression.  
-  
-  
-__for__ ''name'' [[ __in__ ''word'' ] ; __do__  
-''list'' ; __done__  
-  
-  
-The list of words following __in__ is expanded,  
-generating a list of items. The variable ''name'' is set  
-to each element of this list in turn, and ''list'' is  
-executed each time. If the __in__ ''word'' is omitted,  
-the __for__ command executes ''list'' once for each  
-positional parameter that is set (see  
-__PARAMETERS__ below). The return status  
-is the exit status of the last command that executes. If the  
-expansion of the items following __in__ results in an  
-empty list, no commands are executed, and the return status  
-is .  
-  
-  
-__for__ (( ''expr1'' ; ''expr2'' ; ''expr3'' ))  
-; __do__ ''list'' ; __done__  
-  
-  
-First, the arithmetic expression ''expr1'' is evaluated  
-according to the rules described below under  
-__ARITHMETIC EVALUATION__.  
-The arithmetic expression ''expr2'' is then evaluated  
-repeatedly until it evaluates to zero. Each time  
-''expr2'' evaluates to a non-zero value, ''list'' is  
-executed and the arithmetic expression ''expr3'' is  
-evaluated. If any expression is omitted, it behaves as if it  
-evaluates to 1. The return value is the exit status of the  
-last command in ''list'' that is executed, or false if  
-any of the expressions is invalid.  
-  
-  
-__select__ ''name'' [[ __in__ ''word'' ] ;  
-__do__ ''list'' ; __done__  
-  
-  
-The list of words following __in__ 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 __in__ ''word'' is omitted, the positional  
-parameters are printed (see __PARAMETERS__  
-below). The __PS3__ prompt is then displayed and a line  
-read from the standard input. If the line consists of a  
-number corresponding to one of the displayed words, then the  
-value of ''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  
-''name'' to be set to null. The line read is saved in the  
-variable __REPLY__. The ''list'' is executed after  
-each selection until a __break__ command is executed. The  
-exit status of __select__ is the exit status of the last  
-command executed in ''list'', or zero if no commands were  
-executed.  
-  
-  
-__case__ ''word'' __in__ [[ [[(] ''pattern'' [[  
-__|__ ''pattern'' ] ... ) ''list'' ;; ] ...  
-__esac__  
-  
-  
-A __case__ command first expands ''word'', and tries  
-to match it against each ''pattern'' in turn, using the  
-same matching rules as for pathname expansion (see  
-__Pathname Expansion__ below). When a match is found, the  
-corresponding ''list'' is executed. After the first  
-match, no subsequent matches are attempted. The exit status  
-is zero if no pattern matches. Otherwise, it is the exit  
-status of the last command executed in  
-''list''.  
-  
-  
-__if__ ''list''; __then__ ''list;'' [[  
-__elif__ ''list''; __then__ ''list''; ] ... [[  
-__else__ ''list''; ] __fi__  
-  
-  
-The __if__ ''list'' is executed. If its exit status is  
-zero, the __then__ ''list'' is executed. Otherwise,  
-each __elif__ ''list'' is executed in turn, and if its  
-exit status is zero, the corresponding __then__  
-''list'' is executed and the command completes.  
-Otherwise, the __else__ ''list'' is executed, if  
-present. The exit status is the exit status of the last  
-command executed, or zero if no condition tested  
-true.  
-  
-  
-__while__ ''list''; __do__ ''list'';  
-__done__  
-  
-  
-__until__ ''list''; __do__ ''list'';  
-__done__  
-  
-  
-The __while__ command continuously executes the __do__  
-''list'' as long as the last command in ''list''  
-returns an exit status of zero. The __until__ command is  
-identical to the __while__ command, except that the test  
-is negated; the __do__ ''list'' is executed as long as  
-the last command in ''list'' returns a non-zero exit  
-status. The exit status of the __while__ and __until__  
-commands is the exit status of the last __do__  
-''list'' command executed, or zero if none was  
-executed.  
-  
-  
-[[ __function__ ] ''name'' () { ''list'';  
-}  
-  
-  
-This defines a function named ''name''. The ''body''  
-of the function is the ''list'' of commands between { and  
-}. This list is executed whenever ''name'' 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 __FUNCTIONS__  
-below.)  
-!!COMMENTS  
-  
-  
-In a non-interactive shell, or an interactive shell in which  
- the __interactive_comments__ option to the __shopt__  
-builtin is enabled (see __SHELL BUILTIN  
-COMMANDS__ below), a word beginning with __#__  
-causes that word and all remaining characters on that line  
-to be ignored. An interactive shell without the  
-__interactive_comments__ option enabled does not allow  
-comments. The __interactive_comments__ option is on by  
-default in interactive shells.  
-!!QUOTING  
-  
-  
-''Quoting'' 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.  
-  
-  
-Each of the ''metacharacters'' listed above under  
-__DEFINITIONS__ has special meaning to the  
-shell and must be quoted if it is to represent  
-itself.  
-  
-  
-When the command history expansion facilities are being  
-used, the ''history expansion'' character, usually  
-__!__, must be quoted to prevent history  
-expansion.  
-  
-  
-There are three quoting mechanisms: the ''escape  
-character'', single quotes, and double  
-quotes.  
-  
-  
-A non-quoted backslash (__\__) is the ''escape  
-character''. It preserves the literal value of the next  
-character that follows, with the exception of  
-''\__  
-__\__  
-__  
-  
-  
-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.  
-  
-  
-Enclosing characters in double quotes preserves the literal  
-value of all characters within the quotes, with the  
-exception of __$__, __`__, and __\__. The  
-characters __$__ and __`__ retain their special  
-meaning within double quotes. The backslash retains its  
-special meaning only when followed by one of the following  
-characters: __$__, __`__, ____, __\__, or  
-____. A double quote may be quoted within  
-double quotes by preceding it with a backslash.  
-  
-  
-The special parameters __*__ and __@__ have special  
-meaning when in double quotes (see  
-__PARAMETERS__ below).  
-  
-  
-Words of the form __$__'''string''' are treated  
-specially. The word expands to ''string'', with  
-backslash-escaped characters replaced as specifed by the  
-ANSI C standard. Backslash escape sequences, if present, are  
-decoded as follows:  
-  
-  
-__a__  
-  
-  
-alert (bell)  
-  
-  
-__b__  
-  
-  
-backspace  
-  
-  
-__e__  
-  
-  
-an escape character  
-  
-  
-__f__  
-  
-  
-form feed  
-  
-  
-__n__  
-  
-  
-new line  
-  
-  
-__r__  
-  
-  
-carriage return  
-  
-  
-__t__  
-  
-  
-horizontal tab  
-  
-  
-__v__  
-  
-  
-vertical tab  
-  
-  
-__\__  
-  
-  
-backslash  
-  
-  
-__'__  
-  
-  
-single quote  
-  
-  
-__\__''nnn''  
-  
-  
-the eight-bit character whose value is the octal value  
-''nnn'' (one to three digits)  
-  
-  
-__x__''HH''  
-  
-  
-the eight-bit character whose value is the hexadecimal value  
-''HH'' (one or two hex digits)  
-  
-  
-The expanded result is single-quoted, as if the dollar sign  
-had not been present.  
-  
-  
-A double-quoted string preceded by a dollar sign (__$__)  
-will cause the string to be translated according to the  
-current locale. If the current locale is __C__ or  
-__POSIX__, the dollar sign is ignored. If the string is  
-translated and replaced, the replacement is  
-double-quoted.  
-!!PARAMETERS  
-  
-  
-A ''parameter'' is an entity that stores values. It can  
-be a ''name'', a number, or one of the special characters  
-listed below under __Special Parameters__. For the  
-shell's purposes, a ''variable'' is a parameter denoted  
-by a ''name''. A variable has a ''value'' and zero or  
-more ''attributes''. Attributes are assigned using the  
-__declare__ builtin command (see __declare__ below in  
-__SHELL BUILTIN  
-COMMANDS__).  
-  
-  
-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 __unset__ builtin command (see  
-__SHELL BUILTIN COMMANDS__  
-below).  
-  
-  
-A ''variable'' may be assigned to by a statement of the  
-form  
-  
-  
-''name''=[[''value'']  
-  
-  
-If ''value'' is not given, the variable is assigned the  
-null string. All ''values'' undergo tilde expansion,  
-parameter and variable expansion, command substitution,  
-arithmetic expansion, and quote removal (see  
-__EXPANSION__ below). If the variable has  
-its __integer__ attribute set, then ''value'' is  
-subject to arithmetic expansion even if the $((...))  
-expansion is not used (see __Arithmetic Expansion__  
-below). Word splitting is not performed, with the exception  
-of ____ as explained below under __Special  
-Parameters__. Pathname expansion is not performed.  
-Assignment statements may also appear as arguments to the  
-__declare__, __typeset__, __export__,  
-__readonly__, and __local__ builtin  
-commands.  
-  
-  
-__Positional Parameters__  
-  
-  
-A ''positional parameter'' is a parameter denoted by one  
-or more digits, other than the single digit . Positional  
-parameters are assigned from the shell's arguments when it  
-is invoked, and may be reassigned using the __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  
-__FUNCTIONS__ below).  
-  
-  
-When a positional parameter consisting of more than a single  
-digit is expanded, it must be enclosed in braces (see  
-__EXPANSION__ below).  
-  
-  
-__Special Parameters__  
-  
-  
-The shell treats several parameters specially. These  
-parameters may only be referenced; assignment to them is not  
-allowed.  
-  
-  
-__*__  
-  
-  
-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 __IFS__  
-special variable. That is, __$*__  
-__$1__''c''__$2__''c''__...__  
-__c'' is the first character of the value of the  
-__IFS__ variable. If  
-__IFS__ is unset, the parameters are  
-separated by spaces. If __IFS__ is null,  
-the parameters are joined without intervening  
-separators.  
-  
-  
-__@__  
-  
-  
-Expands to the positional parameters, starting from one.  
-When the expansion occurs within double quotes, each  
-parameter expands to a separate word. That is,  
-$@____$1__  
-__$2__  
-__$@____$@__ expand to  
-nothing (i.e., they are removed).  
-  
-  
-__#__  
-  
-  
-Expands to the number of positional parameters in  
-decimal.  
-  
-  
-__?__  
-  
-  
-Expands to the status of the most recently executed  
-foreground pipeline.  
-  
-  
-__-__  
-  
-  
-Expands to the current option flags as specified upon  
-invocation, by the __set__ builtin command, or those set  
-by the shell itself (such as the __-i__  
-option).  
-  
-  
-__$__  
-  
-  
-Expands to the process ID of the shell. In a () subshell, it  
-expands to the process ID of the current shell, not the  
-subshell.  
-  
-  
-__!__  
-  
-  
-Expands to the process ID of the most recently executed  
-background (asynchronous) command.  
-  
-  
-____  
-  
-  
-Expands to the name of the shell or shell script. This is  
-set at shell initialization. If __ bash__ is invoked with  
-a file of commands, __$__ is set to the name of that  
-file. If __bash__ is started with the __-c__ option,  
-then __$__ is set to the first argument after the string  
-to be executed, if one is present. Otherwise, it is set to  
-the file name used to invoke __bash__, as given by  
-argument zero.  
-  
-  
-_____  
-  
-  
-At shell startup, set to the absolute file name of the shell  
-or shell script being executed as passed in the argument  
-list. Subsequently, expands to the last argument to the  
-previous command, after expansion. Also set to the full file  
-name of each command executed and placed in the environment  
-exported to that command. When checking mail, this parameter  
-holds the name of the mail file currently being  
-checked.  
-  
-  
-__Shell Variables__  
-  
-  
-The following variables are set by the shell:  
-  
-  
-__BASH__  
-  
-  
-Expands to the full file name used to invoke this instance  
-of __bash__.  
-  
-  
-__BASH_VERSINFO__  
-  
-  
-A readonly array variable whose members hold version  
-information for this instance of __bash__. The values  
-assigned to the array members are as follows:  
-  
-  
-__BASH_VERSINFO[[____]__  
-  
-  
-The major version number (the ''release'').  
-  
-  
-__BASH_VERSINFO[[__ 1__]__  
-  
-  
-The minor version number (the ''version'').  
-  
-  
-__BASH_VERSINFO[[__2__]__  
-  
-  
-The patch level.  
-  
-  
-__BASH_VERSINFO[[__3__]__  
-  
-  
-The build version.  
-  
-  
-__BASH_VERSINFO[[__4__]__  
-  
-  
-The release status (e.g., ''beta1'').  
-  
-  
-__BASH_VERSINFO[[__5__]__  
-  
-  
-The value of __MACHTYPE__.  
-  
-  
-__BASH_VERSION__  
-  
-  
-Expands to a string describing the version of this instance  
-of __bash__.  
-  
-  
-__COMP_CWORD__  
-  
-  
-An index into __${COMP_WORDS}__ of the word containing  
-the current cursor position. This variable is available only  
-in shell functions invoked by the programmable completion  
-facilities (see __Programmable Completion__  
-below).  
-  
-  
-__COMP_LINE__  
-  
-  
-The current command line. This variable is available only in  
-shell functions and external commands invoked by the  
-programmable completion facilities (see __Programmable  
-Completion__ below).  
-  
-  
-__COMP_POINT__  
-  
-  
-The index of the current cursor position relative to the  
-beginning of the current command. If the current cursor  
-position is at the end of the current command, the value of  
-this variable is equal to __${#COMP_LINE}__. This  
-variable is available only in shell functions and external  
-commands invoked by the programmable completion facilities  
-(see __Programmable Completion__ below).  
-  
-  
-__COMP_WORDS__  
-  
-  
-An array variable (see __Arrays__ below) consisting of  
-the individual words in the current command line. This  
-variable is available only in shell functions invoked by the  
-programmable completion facilities (see __Programmable  
-Completion__ below).  
-  
-  
-__DIRSTACK__  
-  
-  
-An array variable (see __Arrays__ below) containing the  
-current contents of the directory stack. Directories appear  
-in the stack in the order they are displayed by the  
-__dirs__ builtin. Assigning to members of this array  
-variable may be used to modify directories already in the  
-stack, but the __pushd__ and __popd__ builtins must be  
-used to add and remove directories. Assignment to this  
-variable will not change the current directory. If  
-__DIRSTACK__ is unset, it loses its  
-special properties, even if it is subsequently  
-reset.  
-  
-  
-__EUID__  
-  
-  
-Expands to the effective user ID of the current user,  
-initialized at shell startup. This variable is  
-readonly.  
-  
-  
-__FUNCNAME__  
-  
-  
-The name of any currently-executing shell function. This  
-variable exists only when a shell function is executing.  
-Assignments to __FUNCNAME__ have no effect  
-and return an error status. If  
-__FUNCNAME__ is unset, it loses its  
-special properties, even if it is subsequently  
-reset.  
-  
-  
-__GROUPS__  
-  
-  
-An array variable containing the list of groups of which the  
-current user is a member. Assignments to  
-__GROUPS__ have no effect and return an  
-error status. If __GROUPS__ is unset, it  
-loses its special properties, even if it is subsequently  
-reset.  
-  
-  
-__HISTCMD__  
-  
-  
-The history number, or index in the history list, of the  
-current command. If __HISTCMD__ is unset,  
-it loses its special properties, even if it is subsequently  
-reset.  
-  
-  
-__HOSTNAME__  
-  
-  
-Automatically set to the name of the current  
-host.  
-  
-  
-__HOSTTYPE__  
-  
-  
-Automatically set to a string that uniquely describes the  
-type of machine on which __bash__ is executing. The  
-default is system-dependent.  
-  
-  
-__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. If  
-__LINENO__ is unset, it loses its special  
-properties, even if it is subsequently reset.  
-  
-  
-__MACHTYPE__  
-  
-  
-Automatically set to a string that fully describes the  
-system type on which __bash__ is executing, in the  
-standard GNU ''cpu-company-system'' format. The default  
-is system-dependent.  
-  
-  
-__OLDPWD__  
-  
-  
-The previous working directory as set by the __cd__  
-command.  
-  
-  
-__OPTARG__  
-  
-  
-The value of the last option argument processed by the  
-__getopts__ builtin command (see __SHELL BUILTIN  
-COMMANDS__ below).  
-  
-  
-__OPTIND__  
-  
-  
-The index of the next argument to be processed by the  
-__getopts__ builtin command (see __SHELL BUILTIN  
-COMMANDS__ below).  
-  
-  
-__OSTYPE__  
-  
-  
-Automatically set to a string that describes the operating  
-system on which __bash__ is executing. The default is  
-system-dependent.  
-  
-  
-__PIPESTATUS__  
-  
-  
-An array variable (see __Arrays__ below) containing a  
-list of exit status values from the processes in the  
-most-recently-executed foreground pipeline (which may  
-contain only a single command).  
-  
-  
-__PPID__  
-  
-  
-The process ID of the shell's parent. This variable is  
-readonly.  
-  
-  
-__PWD__  
-  
-  
-The current working directory as set by the __cd__  
-command.  
-  
-  
-__RANDOM__  
-  
-  
-Each time this parameter is referenced, a random integer  
-between 0 and 32767 is generated. The sequence of random  
-numbers may be initialized by assigning a value to  
-__RANDOM__. If  
-__RANDOM__ is unset, it loses its special  
-properties, even if it is subsequently reset.  
-  
-  
-__REPLY__  
-  
-  
-Set to the line of input read by the __read__ builtin  
-command when no arguments are supplied.  
-  
-  
-__SECONDS__  
-  
-  
-Each time this parameter is referenced, the number of  
-seconds since shell invocation is returned. If a value is  
-assigned to __SECONDS__,  
-the value returned upon subsequent references is the number  
-of seconds since the assignment plus the value assigned. If  
-__SECONDS__ is unset, it loses its special  
-properties, even if it is subsequently reset.  
-  
-  
-__SHELLOPTS__  
-  
-  
-A colon-separated list of enabled shell options. Each word  
-in the list is a valid argument for the __-o__ option to  
-the __set__ builtin command (see __SHELL BUILTIN  
-COMMANDS__ below). The options appearing in  
-__SHELLOPTS__ are those reported as  
-''on'' by __set -o__. If this variable is in the  
-environment when __bash__ starts up, each shell option in  
-the list will be enabled before reading any startup files.  
-This variable is read-only.  
-  
-  
-__SHLVL__  
-  
-  
-Incremented by one each time an instance of __bash__ is  
-started.  
-  
-  
-__UID__  
-  
-  
-Expands to the user ID of the current user, initialized at  
-shell startup. This variable is readonly.  
-  
-  
-The following variables are used by the shell. In some  
-cases, __bash__ assigns a default value to a variable;  
-these cases are noted below.  
-  
-  
-__BASH_ENV__  
-  
-  
-If this parameter is set when __bash__ is executing a  
-shell script, its value is interpreted as a filename  
-containing commands to initialize the shell, as in  
-''~/.bashrc''. The value of  
-__BASH_ENV__ is subjected to parameter  
-expansion, command substitution, and arithmetic expansion  
-before being interpreted as a file name.  
-__PATH__ is not used to search for the  
-resultant file name.  
-  
-  
-__CDPATH__  
-  
-  
-The search path for the __cd__ command. This is a  
-colon-separated list of directories in which the shell looks  
-for destination directories specified by the __cd__  
-command. A sample value is ``.:~:/usr''.  
-  
-  
-__COLUMNS__  
-  
-  
-Used by the __select__ builtin command to determine the  
-terminal width when printing selection lists. Automatically  
-set upon receipt of a SIGWINCH.  
-  
-  
-__COMPREPLY__  
-  
-  
-An array variable from which __bash__ reads the possible  
-completions generated by a shell function invoked by the  
-programmable completion facility (see __Programmable  
-Completion__ below).  
-  
-  
-__FCEDIT__  
-  
-  
-The default editor for the __fc__ builtin  
-command.  
-  
-  
-__FIGNORE__  
-  
-  
-A colon-separated list of suffixes to ignore when performing  
-filename completion (see __READLINE__  
-below). A filename whose suffix matches one of the entries  
-in __FIGNORE__ is excluded from the list  
-of matched filenames. A sample value is ``.o:~'' (Quoting is  
-needed when assigning a value to this variable, which  
-contains tildes).  
-  
-  
-__GLOBIGNORE__  
-  
-  
-A colon-separated list of patterns defining the set of  
-filenames to be ignored by pathname expansion. If a filename  
-matched by a pathname expansion pattern also matches one of  
-the patterns in  
-__GLOBIGNORE__, it is  
-removed from the list of matches.  
-  
-  
-__HISTCONTROL__  
-  
-  
-If set to a value of ''ignorespace'', lines which begin  
-with a __space__ character are not entered on the history  
-list. If set to a value of ''ignoredups'', lines matching  
-the last history line are not entered. A value of  
-''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, subject to the  
-value of __HISTIGNORE__. This variable's function is  
-superseded by __HISTIGNORE__. The second and subsequent  
-lines of a multi-line compound command are not tested, and  
-are added to the history regardless of the value of  
-__HISTCONTROL__.  
-  
-  
-__HISTFILE__  
-  
-  
-The name of the file in which command history is saved (see  
-__HISTORY__ below). The default value is  
-''~/.bash_history''. If unset, the command history is not  
-saved when an interactive shell exits.  
-  
-  
-__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. The history file is also  
-truncated to this size after writing it when an interactive  
-shell exits.  
-  
-  
-__HISTIGNORE__  
-  
-  
-A colon-separated list of patterns used to decide which  
-command lines should be saved on the history list. Each  
-pattern is anchored at the beginning of the line and must  
-match the complete line (no implicit `__*__' is  
-appended). Each pattern is tested against the line after the  
-checks specified by __HISTCONTROL__ are applied. In  
-addition to the normal shell pattern matching characters,  
-`____' matches the previous history line.  
-`____' may be escaped using a backslash; the  
-backslash is removed before attempting a match. The second  
-and subsequent lines of a multi-line compound command are  
-not tested, and are added to the history regardless of the  
-value of __HISTIGNORE__.  
-  
-  
-__HISTSIZE__  
-  
-  
-The number of commands to remember in the command history  
-(see __HISTORY__ below). The default value  
-is 500.  
-  
-  
-__HOME__  
-  
-  
-The home directory of the current user; the default argument  
-for the __cd__ builtin command. The value of this  
-variable is also used when performing tilde  
-expansion.  
-  
-  
-__HOSTFILE__  
-  
-  
-Contains the name of a file in the same format as  
-''/etc/hosts'' that should be read when the shell needs  
-to complete a hostname. The list of possible hostname  
-completions may be changed while the shell is running; the  
-next time hostname completion is attempted after the value  
-is changed, __bash__ adds the contents of the new file to  
-the existing list. If __HOSTFILE__ is set,  
-but has no value, __bash__ attempts to read  
-''/etc/hosts'' to obtain the list of possible hostname  
-completions. When __HOSTFILE__ is unset,  
-the hostname list is cleared.  
-  
-  
-__IFS__  
-  
-  
-The ''Internal Field Separator'' that is used for word  
-splitting after expansion and to split lines into words with  
-the __read__ builtin command. The default value is  
-``__  
-  
-  
-__IGNOREEOF__  
-  
-  
-Controls the action of an interactive shell on receipt of an  
-__EOF__ character as the sole input. If  
-set, the value is the number of consecutive  
-__EOF__ characters which must be typed as  
-the first characters on an input line before __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, __EOF__ signifies the end of  
-input to the shell.  
-  
-  
-__INPUTRC__  
-  
-  
-The filename for the __readline__ startup file,  
-overriding the default of ''~/.inputrc'' (see  
-__READLINE__ below).  
-  
-  
-__LANG__  
-  
-  
-Used to determine the locale category for any category not  
-specifically selected with a variable starting with  
-__LC___.  
-  
-  
-__LC_ALL__  
-  
-  
-This variable overrides the value of __LANG__ and any  
-other __LC___ variable specifying a locale  
-category.  
-  
-  
-__LC_COLLATE__  
-  
-  
-This variable determines the collation order used when  
-sorting the results of pathname expansion, and determines  
-the behavior of range expressions, equivalence classes, and  
-collating sequences within pathname expansion and pattern  
-matching.  
-  
-  
-__LC_CTYPE__  
-  
-  
-This variable determines the interpretation of characters  
-and the behavior of character classes within pathname  
-expansion and pattern matching.  
-  
-  
-__LC_MESSAGES__  
-  
-  
-This variable determines the locale used to translate  
-double-quoted strings preceded by a __$__.  
-  
-  
-__LC_NUMERIC__  
-  
-  
-This variable determines the locale category used for number  
-formatting.  
-  
-  
-__LINES__  
-  
-  
-Used by the __select__ builtin command to determine the  
-column length for printing selection lists. Automatically  
-set upon receipt of a SIGWINCH.  
-  
-  
-__MAIL__  
-  
-  
-If this parameter is set to a file name and the  
-__MAILPATH__ variable is not set,  
-__bash__ informs the user of the arrival of mail in the  
-specified file.  
-  
-  
-__MAILCHECK__  
-  
-  
-Specifies how often (in seconds) __bash__ checks for  
-mail. The default is 60 seconds. When it is time to check  
-for mail, the shell does so before displaying the primary  
-prompt. If this variable is unset, or set to a value that is  
-not a number greater than or equal to zero, the shell  
-disables mail checking.  
-  
-  
-__MAILPATH__  
-  
-  
-A colon-separated list of file names to be checked for mail.  
-The message to be printed when mail arrives in a particular  
-file may be specified by separating the file name from the  
-message with a `?'. When used in the text of the message,  
-__$___ expands to the name of the current mailfile.  
-Example:  
-  
-  
-__MAILPATH__='/var/mail/bfox?  
-__  
-  
-  
-__Bash__ supplies a default value for this variable, but  
-the location of the user mail files that it uses is system  
-dependent (e.g., /var/mail/__$USER__).  
-  
-  
-__OPTERR__  
-  
-  
-If set to the value 1, __bash__ displays error messages  
-generated by the __getopts__ builtin command (see  
-__SHELL BUILTIN COMMANDS__ below).  
-__OPTERR__ is initialized to 1 each time  
-the shell is invoked or a shell script is  
-executed.  
-  
-  
-__PATH__  
-  
-  
-The search path for commands. It is a colon-separated list  
-of directories in which the shell looks for commands (see  
-__COMMAND EXECUTION__ below). The default  
-path is system-dependent, and is set by the administrator  
-who installs __bash__. A common value is  
-/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin:..  
-  
-  
-__POSIXLY_CORRECT__  
-  
-  
-If this variable is in the environment when __bash__  
-starts, the shell enters ''posix mode'' before reading  
-the startup files, as if the __--posix__ invocation  
-option had been supplied. If it is set while the shell is  
-running, __bash__ enables ''posix mode'', as if the  
-command set -o posix had been  
-executed.  
-  
-  
-__PROMPT_COMMAND__  
-  
-  
-If set, the value is executed as a command prior to issuing  
-each primary prompt.  
-  
-  
-__PS1__  
-  
-  
-The value of this parameter is expanded (see  
-__PROMPTING__ below) and used as the  
-primary prompt string. The default value is ``__s-v$__  
-''.  
-  
-  
-__PS2__  
-  
-  
-The value of this parameter is expanded as with __PS1__  
-and used as the secondary prompt string. The default is  
-``____ ''.  
-  
-  
-__PS3__  
-  
-  
-The value of this parameter is used as the prompt for the  
-__select__ command (see __SHELL  
-GRAMMAR__ above).  
-  
-  
-__PS4__  
-  
-  
-The value of this parameter is expanded as with __PS1__  
-and the value is printed before each command __bash__  
-displays during an execution trace. The first character of  
-__PS4__ is replicated multiple times, as  
-necessary, to indicate multiple levels of indirection. The  
-default is ``__+__ ''.  
-  
-  
-__TIMEFORMAT__  
-  
-  
-The value of this parameter is used as a format string  
-specifying how the timing information for pipelines prefixed  
-with the __time__ reserved word should be displayed. The  
-__%__ character introduces an escape sequence that is  
-expanded to a time value or other information. The escape  
-sequences and their meanings are as follows; the braces  
-denote optional portions.  
-  
-  
-__%%__  
-  
-  
-A literal __%__.  
-  
-  
-__%[[__''p''__][[l]R__  
-  
-  
-The elapsed time in seconds.  
-  
-  
-__%[[__''p''__][[l]U__  
-  
-  
-The number of CPU seconds spent in user mode.  
-  
-  
-__%[[__''p''__][[l]S__  
-  
-  
-The number of CPU seconds spent in system mode.  
-  
-  
-__%P__  
-  
-  
-The CPU percentage, computed as (%U + %S) / %R.  
-  
-  
-The optional ''p'' is a digit specifying the  
-''precision'', the number of fractional digits after a  
-decimal point. A value of 0 causes no decimal point or  
-fraction to be output. At most three places after the  
-decimal point may be specified; values of ''p'' greater  
-than 3 are changed to 3. If ''p'' is not specified, the  
-value 3 is used.  
-  
-  
-The optional __l__ specifies a longer format, including  
-minutes, of the form ''MM''m''SS''.''FF''s. The  
-value of ''p'' determines whether or not the fraction is  
-included.  
-  
-  
-If this variable is not set, __bash__ acts as if it had  
-the value __$'nrealt%3lRnusert%3lUnsys%3lS'__. If the  
-value is null, no timing information is displayed. A  
-trailing newline is added when the format string is  
-displayed.  
-  
-  
-__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. __Bash__ terminates after  
-waiting for that number of seconds if input does not  
-arrive.  
-  
-  
-__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 ''name'' of a stopped job, in this context, is the  
-command line used to start it. If set to the value  
-''exact'', the string supplied must match the name of a  
-stopped job exactly; if set to ''substring'', the string  
-supplied needs to match a substring of the name of a stopped  
-job. The ''substring'' value provides functionality  
-analogous to the __%?__ job identifier (see __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 __%__ job  
-identifier.  
-  
-  
-__histchars__  
-  
-  
-The two or three characters which control history expansion  
-and tokenization (see __HISTORY  
-EXPANSION__ below). The first character is the  
-''history expansion'' character, the character which  
-signals the start of a history expansion, normally  
-`__!__'. The second character is the ''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  
-`__^__'. The optional third character is the character  
-which indicates that the remainder of the line is a comment  
-when found as the first character of a word, normally  
-`__#__'. 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.  
-  
-  
-__Arrays__  
-  
-  
-__Bash__ provides one-dimensional array variables. Any  
-variable may be used as an array; the __declare__ builtin  
-will explicitly declare an array. There is no maximum limit  
-on the size of an array, nor any requirement that members be  
-indexed or assigned contiguously. Arrays are indexed using  
-integers and are zero-based.  
-  
-  
-An array is created automatically if any variable is  
-assigned to using the syntax  
-''name''[[''subscript'']=''value''. The  
-''subscript'' is treated as an arithmetic expression that  
-must evaluate to a number greater than or equal to zero. To  
-explicitly declare an array, use __declare -a__  
-''name'' (see __SHELL BUILTIN  
-COMMANDS__ below). __declare -a__  
-''name''__[[__''subscript''__]__ is also  
-accepted; the ''subscript'' is ignored. Attributes may be  
-specified for an array variable using the __declare__ and  
-__readonly__ builtins. Each attribute applies to all  
-members of an array.  
-  
-  
-Arrays are assigned to using compound assignments of the  
-form ''name''=__(__value''1'' ...  
-value''n''__)__, where each ''value'' is of the  
-form [[''subscript'']=''string''. Only ''string'' is  
-required. If the optional brackets and subscript are  
-supplied, that index is assigned to; otherwise the index of  
-the element assigned is the last index assigned to by the  
-statement plus one. Indexing starts at zero. This syntax is  
-also accepted by the __declare__ builtin. Individual  
-array elements may be assigned to using the  
-''name''[[''subscript'']=''value'' syntax introduced  
-above.  
-  
-  
-Any element of an array may be referenced using  
-${''name''[[''subscript'']}. The braces are required to  
-avoid conflicts with pathname expansion. If ''subscript''  
-is __@__ or __*__, the word expands to all members of  
-''name''. These subscripts differ only when the word  
-appears within double quotes. If the word is double-quoted,  
-${''name''[[*]} expands to a single word with the value of  
-each array member separated by the first character of the  
-__IFS__ special variable, and  
-${''name''[[@]} expands each element of ''name'' to a  
-separate word. When there are no array members,  
-${''name''[[@]} expands to nothing. This is analogous to  
-the expansion of the special parameters __*__ and  
-__@__ (see __Special Parameters__ above).  
-${#''name''[[''subscript'']} expands to the length of  
-${''name''[[''subscript'']}. If ''subscript'' is  
-__*__ or __@__, the expansion is the number of  
-elements in the array. Referencing an array variable without  
-a subscript is equivalent to referencing element  
-zero.  
-  
-  
-The __unset__ builtin is used to destroy arrays.  
-__unset__ ''name''[[''subscript''] destroys the  
-array element at index ''subscript''. __unset__  
-''name'', where ''name'' is an array, or __unset__  
-''name''[[''subscript''], where ''subscript'' is  
-__*__ or __@__, removes the entire array.  
-  
-  
-The __declare__, __local__, and __readonly__  
-builtins each accept a __-a__ option to specify an array.  
-The __read__ builtin accepts a __-a__ option to assign  
-a list of words read from the standard input to an array.  
-The __set__ and __declare__ builtins display array  
-values in a way that allows them to be reused as  
-assignments.  
-!!EXPANSION  
-  
-  
-Expansion is performed on the command line after it has been  
-split into words. There are seven kinds of expansion  
-performed: ''brace expansion'', ''tilde expansion'',  
-''parameter and variable expansion'', ''command  
-substitution'', ''arithmetic expansion'', ''word  
-splitting'', and ''pathname expansion''.  
-  
-  
-The order of expansions is: brace expansion, tilde  
-expansion, parameter, variable and arithmetic expansion and  
-command substitution (done in a left-to-right fashion), word  
-splitting, and pathname expansion.  
-  
-  
-On systems that can support it, there is an additional  
-expansion available: ''process  
-substitution''.  
-  
-  
-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 only  
-exceptions to this are the expansions of  
-$@__  
-__${__''name''__[[@]}__  
-__PARAMETERS__).  
-  
-  
-__Brace Expansion__  
-  
-  
-''Brace expansion'' is a mechanism by which arbitrary  
-strings may be generated. This mechanism is similar to  
-''pathname expansion'', but the filenames generated need  
-not exist. Patterns to be brace expanded take the form of an  
-optional ''preamble'', followed by a series of  
-comma-separated strings between a pair of braces, followed  
-by an optional ''postscript''. The preamble is prefixed  
-to each string contained within the braces, and the  
-postscript is then appended to each resulting string,  
-expanding left to right.  
-  
-  
-Brace expansions may be nested. The results of each expanded  
-string are not sorted; left to right order is preserved. For  
-example, a__{__d,c,b__}__e expands into `ade ace  
-abe'.  
-  
-  
-Brace expansion is performed before any other expansions,  
-and any characters special to other expansions are preserved  
-in the result. It is strictly textual. __Bash__ does not  
-apply any syntactic interpretation to the context of the  
-expansion or the text between the braces.  
-  
-  
-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. A  
-__{__ or __,__ may be quoted with a backslash to  
-prevent its being considered part of a brace expression. To  
-avoid conflicts with parameter expansion, the string  
-__${__ is not considered eligible for brace  
-expansion.  
-  
-  
-This construct is typically used as shorthand when the  
-common prefix of the strings to be generated is longer than  
-in the above example:  
-  
-  
-mkdir /usr/local/src/bash/{old,new,dist,bugs}  
-  
-  
-or  
-  
-  
-chown root  
-/usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}  
-  
-  
-Brace expansion introduces a slight incompatibility with  
-historical versions of __sh__. __sh__ does not treat  
-opening or closing braces specially when they appear as part  
-of a word, and preserves them in the output. __Bash__  
-removes braces from words as a consequence of brace  
-expansion. For example, a word entered to __sh__ as  
-''file{1,2}'' appears identically in the output. The same  
-word is output as ''file1 file2'' after expansion by  
-__bash__. If strict compatibility with __sh__ is  
-desired, start __bash__ with the __+B__ option or  
-disable brace expansion with the __+B__ option to the  
-__set__ command (see __SHELL BUILTIN  
-COMMANDS__ below).  
-  
-  
-__Tilde Expansion__  
-  
-  
-If a word begins with an unquoted tilde character  
-(`__~__'), all of the characters preceding the first  
-unquoted slash (or all characters, if there is no unquoted  
-slash) are considered a ''tilde-prefix''. If none of the  
-characters in the tilde-prefix are quoted, the characters in  
-the tilde-prefix following the tilde are treated as a  
-possible ''login name''. If this login name is the null  
-string, the tilde is replaced with the value of the shell  
-parameter __HOME__. If  
-__HOME__ is unset, the home directory of  
-the user executing the shell is substituted instead.  
-Otherwise, the tilde-prefix is replaced with the home  
-directory associated with the specified login  
-name.  
-  
-  
-If the tilde-prefix is a `~+', the value of the shell  
-variable __PWD__ replaces the  
-tilde-prefix. If the tilde-prefix is a `~-', the value of  
-the shell variable  
-__OLDPWD__, if it is set,  
-is substituted. If the characters following the tilde in the  
-tilde-prefix consist of a number ''N'', optionally  
-prefixed by a `+' or a `-', the tilde-prefix is replaced  
-with the corresponding element from the directory stack, as  
-it would be displayed by the __dirs__ builtin invoked  
-with the tilde-prefix as an argument. If the characters  
-following the tilde in the tilde-prefix consist of a number  
-without a leading `+' or `-', `+' is assumed.  
-  
-  
-If the login name is invalid, or the tilde expansion fails,  
-the word is unchanged.  
-  
-  
-Each variable assignment is checked for unquoted  
-tilde-prefixes immediately following a __:__ or __=__.  
-In these cases, tilde expansion is also performed.  
-Consequently, one may use file names with tildes in  
-assignments to __PATH__,  
-__MAILPATH__, and  
-__CDPATH__, and the shell  
-assigns the expanded value.  
-  
-  
-__Parameter Expansion__  
-  
-  
-The `__$__' 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.  
-  
-  
-When braces are used, the matching ending brace is the first  
-`__}__' not escaped by a backslash or within a quoted  
-string, and not within an embedded arithmetic expansion,  
-command substitution, or paramter expansion.  
-  
-  
-${''parameter''}  
-  
-  
-The value of ''parameter'' is substituted. The braces are  
-required when ''parameter'' is a positional parameter  
-with more than one digit, or when ''parameter'' is  
-followed by a character which is not to be interpreted as  
-part of its name.  
-  
-  
-If the first character of ''parameter'' is an exclamation  
-point, a level of variable indirection is introduced.  
-__Bash__ uses the value of the variable formed from the  
-rest of ''parameter'' as the name of the variable; this  
-variable is then expanded and that value is used in the rest  
-of the substitution, rather than the value of  
-''parameter'' itself. This is known as ''indirect  
-expansion''. The exception to this is the expansion of  
-${!''prefix''*} described below.  
-  
-  
-In each of the cases below, ''word'' is subject to tilde  
-expansion, parameter expansion, command substitution, and  
-arithmetic expansion. When not performing substring  
-expansion, __bash__ tests for a parameter that is unset  
-or null; omitting the colon results in a test only for a  
-parameter that is unset.  
-  
-  
-${''parameter''__:-__''word''}  
-  
-  
-__Use Default Values__. If ''parameter'' is unset or  
-null, the expansion of ''word'' is substituted.  
-Otherwise, the value of ''parameter'' is  
-substituted.  
-  
-  
-${''parameter''__:=__''word''}  
-  
-  
-__Assign Default Values__. If ''parameter'' is unset  
-or null, the expansion of ''word'' is assigned to  
-''parameter''. The value of ''parameter'' is then  
-substituted. Positional parameters and special parameters  
-may not be assigned to in this way.  
-  
-  
-${''parameter''__:?__''word''}  
-  
-  
-__Display Error if Null or Unset__. If ''parameter''  
-is null or unset, the expansion of ''word'' (or a message  
-to that effect if ''word'' is not present) is written to  
-the standard error and the shell, if it is not interactive,  
-exits. Otherwise, the value of ''parameter'' is  
-substituted.  
-  
-  
-${''parameter''__:+__''word''}  
-  
-  
-__Use Alternate Value__. If ''parameter'' is null or  
-unset, nothing is substituted, otherwise the expansion of  
-''word'' is substituted.  
-  
-  
-${''parameter''__:__''offset''}  
-  
-  
-${''parameter''__:__''offset''__:__''length''}  
-  
-  
-__Substring Expansion.__ Expands to up to ''length''  
-characters of ''parameter'' starting at the character  
-specified by ''offset''. If ''length'' is omitted,  
-expands to the substring of ''parameter'' starting at the  
-character specified by ''offset''. ''length'' and  
-''offset'' are arithmetic expressions (see  
-__ARITHMETIC EVALUATION__ below).  
-''length'' must evaluate to a number greater than or  
-equal to zero. If ''offset'' evaluates to a number less  
-than zero, the value is used as an offset from the end of  
-the value of ''parameter''. If ''parameter'' is  
-__@__, the result is ''length'' positional parameters  
-beginning at ''offset''. If ''parameter'' is an array  
-name indexed by @ or *, the result is the ''length''  
-members of the array beginning with  
-${''parameter''[[''offset'']}. Substring indexing is  
-zero-based unless the positional parameters are used, in  
-which case the indexing starts at 1.  
-  
-  
-${__!__''prefix''__*__}  
-  
-  
-Expands to the names of variables whose names begin with  
-''prefix'', separated by the first character of the  
-__IFS__ special variable.  
-  
-  
-${__#__''parameter''}  
-  
-  
-The length in characters of the value of ''parameter'' is  
-substituted. If ''parameter'' is __*__ or __@__,  
-the value substituted is the number of positional  
-parameters. If ''parameter'' is an array name subscripted  
-by __*__ or __@__, the value substituted is the number  
-of elements in the array.  
-  
-  
-${''parameter''__#__''word''}  
-  
-  
-${''parameter''__##__''word''}  
-  
-  
-The ''word'' is expanded to produce a pattern just as in  
-pathname expansion. If the pattern matches the beginning of  
-the value of ''parameter'', then the result of the  
-expansion is the expanded value of ''parameter'' with the  
-shortest matching pattern (the ``__#__'' case) or the  
-longest matching pattern (the ``__##__'' case) deleted.  
-If ''parameter'' is __@__ or __*__, the pattern  
-removal operation is applied to each positional parameter in  
-turn, and the expansion is the resultant list. If  
-''parameter'' is an array variable subscripted with  
-__@__ or __*__, the pattern removal operation is  
-applied to each member of the array in turn, and the  
-expansion is the resultant list.  
-  
-  
-${''parameter''__%__''word''}  
-  
-  
-${''parameter''__%%__''word''}  
-  
-  
-The ''word'' is expanded to produce a pattern just as in  
-pathname expansion. If the pattern matches a trailing  
-portion of the expanded value of ''parameter'', then the  
-result of the expansion is the expanded value of  
-''parameter'' with the shortest matching pattern (the  
-``__%__'' case) or the longest matching pattern (the  
-``__%%__'' case) deleted. If ''parameter'' is __@__  
-or __*__, the pattern removal operation is applied to  
-each positional parameter in turn, and the expansion is the  
-resultant list. If ''parameter'' is an array variable  
-subscripted with __@__ or __*__, the pattern removal  
-operation is applied to each member of the array in turn,  
-and the expansion is the resultant list.  
-  
-  
-${''parameter''__/__''pattern''__/__''string''}  
-  
-  
-${''parameter''__//__''pattern''__/__''string''}  
-  
-  
-The ''pattern'' is expanded to produce a pattern just as  
-in pathname expansion. ''Parameter'' is expanded and the  
-longest match of ''pattern'' against its value is  
-replaced with ''string''. In the first form, only the  
-first match is replaced. The second form causes all matches  
-of ''pattern'' to be replaced with ''string''. If  
-''pattern'' begins with __#__, it must match at the  
-beginning of the expanded value of ''parameter''. If  
-''pattern'' begins with __%__, it must match at the  
-end of the expanded value of ''parameter''. If  
-''string'' is null, matches of ''pattern'' are deleted  
-and the __/__ following ''pattern'' may be omitted. If  
-''parameter'' is __@__ or __*__, the substitution  
-operation is applied to each positional parameter in turn,  
-and the expansion is the resultant list. If ''parameter''  
-is an array variable subscripted with __@__ or __*__,  
-the substitution operation is applied to each member of the  
-array in turn, and the expansion is the resultant  
-list.  
-  
-  
-__Command Substitution__  
-  
-  
-''Command substitution'' allows the output of a command  
-to replace the command name. There are two  
-forms:  
-  
-  
-__$(__''command''__)__  
-  
-  
-or  
-  
-  
-__`__''command''__`__  
-  
-  
-__Bash__ performs the expansion by executing  
-''command'' and replacing the command substitution with  
-the standard output of the command, with any trailing  
-newlines deleted. Embedded newlines are not deleted, but  
-they may be removed during word splitting. The command  
-substitution __$(cat__ ''file''__)__ can be  
-replaced by the equivalent but faster __$(__  
-''file''__)__.  
-  
-  
-When the old-style backquote form of substitution is used,  
-backslash retains its literal meaning except when followed  
-by __$__, __`__, or __\__. The first backquote not  
-preceded by a backslash terminates the command substitution.  
-When using the $(''command'') form, all characters  
-between the parentheses make up the command; none are  
-treated specially.  
-  
-  
-Command substitutions may be nested. To nest when using the  
-backquoted form, escape the inner backquotes with  
-backslashes.  
-  
-  
-If the substitution appears within double quotes, word  
-splitting and pathname expansion are not performed on the  
-results.  
-  
-  
-__Arithmetic Expansion__  
-  
-  
-Arithmetic expansion allows the evaluation of an arithmetic  
-expression and the substitution of the result. The format  
-for arithmetic expansion is:  
-  
-  
-__$((__''expression''__))__  
-  
-  
-The old format __$[[[[__''expression''__]]__ is  
-deprecated and will be removed in upcoming versions of  
-bash.  
-  
-  
-The ''expression'' is treated as if it were within double  
-quotes, but a double quote inside the parentheses is not  
-treated specially. All tokens in the expression undergo  
-parameter expansion, string expansion, command substitution,  
-and quote removal. Arithmetic substitutions may be  
-nested.  
-  
-  
-The evaluation is performed according to the rules listed  
-below under __ARITHMETIC  
-EVALUATION__. If ''expression''  
-is invalid, __bash__ prints a message indicating failure  
-and no substitution occurs.  
-  
-  
-__Process Substitution__  
-  
-  
-''Process substitution'' is supported on systems that  
-support named pipes (''FIFOs'') or the __/dev/fd__  
-method of naming open files. It takes the form of  
-____''list''__)__ or  
-____''list''__)__. The process ''list'' is  
-run with its input or output connected to a ''FIFO'' or  
-some file in __/dev/fd__. The name of this file is passed  
-as an argument to the current command as the result of the  
-expansion. If the ____''list''__)__ form is  
-used, writing to the file will provide input for  
-''list''. If the ____''list''__)__ form is  
-used, the file passed as an argument should be read to  
-obtain the output of ''list''.  
-  
-  
-When available, process substitution is performed  
-simultaneously with parameter and variable expansion,  
-command substitution, and arithmetic expansion.  
-  
-  
-__Word Splitting__  
-  
-  
-The shell scans the results of parameter expansion, command  
-substitution, and arithmetic expansion that did not occur  
-within double quotes for ''word splitting''.  
-  
-  
-The shell treats each character of __IFS__  
-as a delimiter, and splits the results of the other  
-expansions into words on these characters. If  
-__IFS__ is unset, or its value is exactly  
-____, the default,  
-then any sequence of __IFS__ characters  
-serves to delimit words. If __IFS__ has a  
-value other than the default, then sequences of the  
-whitespace characters __space__ and __tab__ are  
-ignored at the beginning and end of the word, as long as the  
-whitespace character is in the value of  
-__IFS__ (an __IFS__  
-whitespace character). Any character in  
-__IFS__ that is not  
-__IFS__ whitespace, along with any  
-adjacent __IFS__ whitespace characters,  
-delimits a field. A sequence of __IFS__  
-whitespace characters is also treated as a delimiter. If the  
-value of __IFS__ is null, no word  
-splitting occurs.  
-  
-  
-Explicit null arguments (____ or __''__)  
-are retained. Unquoted implicit null arguments, resulting  
-from the expansion of parameters that have no values, are  
-removed. If a parameter with no value is expanded within  
-double quotes, a null argument results and is  
-retained.  
-  
-  
-Note that if no expansion occurs, no splitting is  
-performed.  
-  
-  
-__Pathname Expansion__  
-  
-  
-After word splitting, unless the __-f__ option has been  
-set, __bash__ scans each word for the characters  
-__*__, __?__, and __[[__. If one of these characters  
-appears, then the word is regarded as a ''pattern'', and  
-replaced with an alphabetically sorted list of file names  
-matching the pattern. If no matching file names are found,  
-and the shell option __nullglob__ is disabled, the word  
-is left unchanged. If the __nullglob__ option is set, and  
-no matches are found, the word is removed. If the shell  
-option __nocaseglob__ is enabled, the match is performed  
-without regard to the case of alphabetic characters. When a  
-pattern is used for pathname expansion, the character  
-__``.''__ at the start of a name or immediately following  
-a slash must be matched explicitly, unless the shell option  
-__dotglob__ is set. When matching a pathname, the slash  
-character must always be matched explicitly. In other cases,  
-the __``.''__ character is not treated specially. See the  
-description of __shopt__ below under __SHELL  
-BUILTIN COMMANDS__ for a description of the  
-__nocaseglob__, __nullglob__, and __dotglob__ shell  
-options.  
-  
-  
-The __GLOBIGNORE__ shell variable may be  
-used to restrict the set of file names matching a  
-''pattern''. If __GLOBIGNORE__ is set,  
-each matching file name that also matches one of the  
-patterns in __GLOBIGNORE__ is removed from  
-the list of matches. The file names __``.''__ and  
-__``..''__ are always ignored, even when  
-__GLOBIGNORE__ is set. However, setting  
-__GLOBIGNORE__ has the effect of enabling  
-the __dotglob__ shell option, so all other file names  
-beginning with a __``.''__ will match. To get the old  
-behavior of ignoring file names beginning with a  
-__``.''__, make __``.*''__ one of the patterns in  
-__GLOBIGNORE__. The  
-__dotglob__ option is disabled when  
-__GLOBIGNORE__ is unset.  
-  
-  
-__Pattern Matching__  
-  
-  
-Any character that appears in a pattern, other than the  
-special pattern characters described below, matches itself.  
-The NUL character may not occur in a pattern. The special  
-pattern characters must be quoted if they are to be matched  
-literally.  
-  
-  
-The special pattern characters have the following  
-meanings:  
-  
-  
-__*__  
-  
-  
-Matches any string, including the null string.  
-  
-  
-__?__  
-  
-  
-Matches any single character.  
-  
-  
-__[[...]__  
-  
-  
-Matches any one of the enclosed characters. A pair of  
-characters separated by a hyphen denotes a ''range  
-expression''; any character that sorts between those two  
-characters, inclusive, using the current locale's collating  
-sequence and character set, is matched. If the first  
-character following the __[[__ is a __!__ or a __^__  
-then any character not enclosed is matched. The sorting  
-order of characters in range expressions is determined by  
-the current locale and the value of the __LC_COLLATE__  
-shell variable, if set. A __-__ may be matched by  
-including it as the first or last character in the set. A  
-__]__ may be matched by including it as the first  
-character in the set.  
-  
-  
-Within __[[__ and __]__, ''character classes'' can  
-be specified using the syntax  
-__[[:__''class''__:]__, where ''class'' is one of  
-the following classes defined in the POSIX.2  
-standard:  
-  
-  
-__alnum alpha ascii blank cntrl digit graph lower print  
-punct space upper xdigit__  
-A character class matches any character belonging to that  
-class.  
-  
-  
-Within __[[__ and __]__, an ''equivalence class''  
-can be specified using the syntax  
-__[[=__''c''__=]__, which matches all characters  
-with the same collation weight (as defined by the current  
-locale) as the character ''c''.  
-  
-  
-Within __[[__ and __]__, the syntax  
-__[[.__''symbol''__.]__ matches the collating symbol  
-''symbol''.  
-  
-  
-If the __extglob__ shell option is enabled using the  
-__shopt__ builtin, several extended pattern matching  
-operators are recognized. In the following description, a  
-''pattern-list'' is a list of one or more patterns  
-separated by a __|__. Composite patterns may be formed  
-using one or more of the following  
-sub-patterns:  
-  
-  
-__?(__''pattern-list''__)__  
-  
-  
-Matches zero or one occurrence of the given  
-patterns  
-  
-  
-__*(__''pattern-list''__)__  
-  
-  
-Matches zero or more occurrences of the given  
-patterns  
-  
-  
-__+(__''pattern-list''__)__  
-  
-  
-Matches one or more occurrences of the given  
-patterns  
-  
-  
-__@(__''pattern-list''__)__  
-  
-  
-Matches exactly one of the given patterns  
-  
-  
-__!(__''pattern-list''__)__  
-  
-  
-Matches anything except one of the given  
-patterns  
-  
-  
-__Quote Removal__  
-  
-  
-After the preceding expansions, all unquoted occurrences of  
-the characters __\__, __'__, and ____ that  
-did not result from one of the above expansions are  
-removed.  
-!!REDIRECTION  
-  
-  
-Before a command is executed, its input and output may be  
-''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 ''simple command'' or may follow a  
-''command''. Redirections are processed in the order they  
-appear, from left to right.  
-  
-  
-In the following descriptions, if the file descriptor number  
-is omitted, and the first character of the redirection  
-operator is ____, the redirection refers to the  
-standard input (file descriptor ). If the first character  
-of the redirection operator is ____, the redirection  
-refers to the standard output (file descriptor  
-1).  
-  
-  
-The word following the redirection operator in the following  
-descriptions, unless otherwise noted, is subjected to brace  
-expansion, tilde expansion, parameter expansion, command  
-substitution, arithmetic expansion, quote removal, pathname  
-expansion, and word splitting. If it expands to more than  
-one word, __bash__ reports an error.  
-  
-  
-Note that the order of redirections is significant. For  
-example, the command  
-  
-  
-ls ____ dirlist 2____1  
-  
-  
-directs both standard output and standard error to the file  
-''dirlist'', while the command  
-  
-  
-ls 2____1 ____ dirlist  
-  
-  
-directs only the standard output to file ''dirlist'',  
-because the standard error was duplicated as standard output  
-before the standard output was redirected to  
-''dirlist''.  
-  
-  
-__Bash__ handles several filenames specially when they  
-are used in redirections, as described in the following  
-table:  
-  
-  
-__/dev/fd/__''fd''  
-  
-  
-If ''fd'' is a valid integer, file descriptor ''fd''  
-is duplicated.  
-  
-  
-__/dev/stdin__  
-  
-  
-File descriptor 0 is duplicated.  
-  
-  
-__/dev/stdout__  
-  
-  
-File descriptor 1 is duplicated.  
-  
-  
-__/dev/stderr__  
-  
-  
-File descriptor 2 is duplicated.  
-  
-  
-__/dev/tcp/__''host''__/__''port''  
-  
-  
-If ''host'' is a valid hostname or Internet address, and  
-''port'' is an integer port number or service name,  
-__bash__ attempts to open a TCP connection to the  
-corresponding socket.  
-  
-  
-__/dev/udp/__''host''__/__''port''  
-  
-  
-If ''host'' is a valid hostname or Internet address, and  
-''port'' is an integer port number or service name,  
-__bash__ attempts to open a UDP connection to the  
-corresponding socket.  
-  
-  
-A failure to open or create a file causes the redirection to  
-fail.  
-  
-  
-__Redirecting Input__  
-  
-  
-Redirection of input causes the file whose name results from  
-the expansion of ''word'' to be opened for reading on  
-file descriptor ''n'', or the standard input (file  
-descriptor ) if ''n'' is not specified.  
-  
-  
-The general format for redirecting input is:  
-  
-  
-[[''n'']____''word''  
-  
-  
-__Redirecting Output__  
-  
-  
-Redirection of output causes the file whose name results  
-from the expansion of ''word'' to be opened for writing  
-on file descriptor ''n'', or the standard output (file  
-descriptor 1) if ''n'' is not specified. If the file does  
-not exist it is created; if it does exist it is truncated to  
-zero size.  
-  
-  
-The general format for redirecting output is:  
-  
-  
-[[''n'']____''word''  
-  
-  
-If the redirection operator is ____, and the  
-__noclobber__ option to the __set__ builtin has been  
-enabled, the redirection will fail if the file whose name  
-results from the expansion of ''word'' exists and is a  
-regular file. If the redirection operator is ____,  
-or the redirection operator is ____ and the  
-__noclobber__ option to the __set__ builtin command is  
-not enabled, the redirection is attempted even if the file  
-named by ''word'' exists.  
-  
-  
-__Appending Redirected Output__  
-  
-  
-Redirection of output in this fashion causes the file whose  
-name results from the expansion of ''word'' to be opened  
-for appending on file descriptor ''n'', or the standard  
-output (file descriptor 1) if ''n'' is not specified. If  
-the file does not exist it is created.  
-  
-  
-The general format for appending output is:  
-  
-  
-[[''n'']____''word''  
-  
-  
-__Redirecting Standard Output and Standard  
-Error__  
-  
-  
-__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  
-''word'' with this construct.  
-  
-  
-There are two formats for redirecting standard output and  
-standard error:  
-  
-  
-____''word''  
-  
-  
-and  
-  
-  
-____''word''  
-  
-  
-Of the two forms, the first is preferred. This is  
-semantically equivalent to  
-  
-  
-____''word'' 2____1  
-  
-  
-__Here Documents__  
-  
-  
-This type of redirection instructs the shell to read input  
-from the current source until a line containing only  
-''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.  
-  
-  
-The format of here-documents is as follows:  
-  
-  
-____[[__-__]''word  
-here-document  
-delimiter  
-''  
-  
-  
-No parameter expansion, command substitution, arithmetic  
-expansion, or pathname expansion is performed on  
-''word''. If any characters in ''word'' are quoted,  
-the ''delimiter'' is the result of quote removal on  
-''word'', and the lines in the here-document are not  
-expanded. If ''word'' is unquoted, all lines of the  
-here-document are subjected to parameter expansion, command  
-substitution, and arithmetic expansion. In the latter case,  
-the character sequence ____ is ignored,  
-and __\__ must be used to quote the characters __\__,  
-__$__, and __`__.  
-  
-  
-If the redirection operator is ____, then all  
-leading tab characters are stripped from input lines and the  
-line containing ''delimiter''. This allows here-documents  
-within shell scripts to be indented in a natural  
-fashion.  
-  
-  
-__Duplicating File Descriptors__  
-  
-  
-The redirection operator  
-  
-  
-[[''n'']____''word''  
-  
-  
-is used to duplicate input file descriptors. If ''word''  
-expands to one or more digits, the file descriptor denoted  
-by ''n'' is made to be a copy of that file descriptor. If  
-the digits in ''word'' do not specify a file descriptor  
-open for input, a redirection error occurs. If ''word''  
-evaluates to __-__, file descriptor ''n'' is closed.  
-If ''n'' is not specified, the standard input (file  
-descriptor ) is used.  
-  
-  
-The operator  
-  
-  
-[[''n'']____''word''  
-  
-  
-is used similarly to duplicate output file descriptors. If  
-''n'' is not specified, the standard output (file  
-descriptor 1) is used. If the digits in ''word'' do not  
-specify a file descriptor open for output, a redirection  
-error occurs. As a special case, if ''n'' is omitted, and  
-''word'' does not expand to one or more digits, the  
-standard output and standard error are redirected as  
-described previously.  
-  
-  
-__Opening File Descriptors for Reading and  
-Writing__  
-  
-  
-The redirection operator  
-  
-  
-[[''n'']____''word''  
-  
-  
-causes the file whose name is the expansion of ''word''  
-to be opened for both reading and writing on file descriptor  
-''n'', or on file descriptor 0 if ''n'' is not  
-specified. If the file does not exist, it is  
-created.  
-!!ALIASES  
-  
-  
-''Aliases'' allow a string to be substituted for a word  
-when it is used as the first word of a simple command. The  
-shell maintains a list of aliases that may be set and unset  
-with the __alias__ and __unalias__ builtin commands  
-(see __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  
-''metacharacters'' listed above, with the exception that  
-the alias name may not contain ''=''. 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 __ls__ to  
-__ls -F__, for instance, and __bash__ does not try to  
-recursively expand the replacement text. If the last  
-character of the alias value is a ''blank'', then the  
-next command word following the alias is also checked for  
-alias expansion.  
-  
-  
-Aliases are created and listed with the __alias__  
-command, and removed with the __unalias__  
-command.  
-  
-  
-There is no mechanism for using arguments in the replacement  
-text. If arguments are needed, a shell function should be  
-used (see __FUNCTIONS__  
-below).  
-  
-  
-Aliases are not expanded when the shell is not interactive,  
-unless the __expand_aliases__ shell option is set using  
-__shopt__ (see the description of __shopt__ under  
-__SHELL BUILTIN COMMANDS__  
-below).  
-  
-  
-The rules concerning the definition and use of aliases are  
-somewhat confusing. __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. 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 a 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 __alias__ in compound commands.  
-  
-  
-For almost every purpose, aliases are superseded by shell  
-functions.  
-!!FUNCTIONS  
-  
-  
-A shell function, defined as described above under  
-__SHELL GRAMMAR__, stores a  
-series of commands for later execution. When the name of a  
-shell function is used as a simple command name, the list of  
-commands associated with that function name is executed.  
-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 __#__ is updated to reflect the change.  
-Positional parameter 0 is unchanged. The  
-__FUNCNAME__ variable is set to the name  
-of the function while the function is executing. All other  
-aspects of the shell execution environment are identical  
-between a function and its caller with the exception that  
-the __DEBUG__ trap (see the description of  
-the __trap__ builtin under __SHELL BUILTIN  
-COMMANDS__ below) is not inherited.  
-  
-  
-Variables local to the function may be declared with the  
-__local__ builtin command. Ordinarily, variables and  
-their values are shared between the function and its  
-caller.  
-  
-  
-If the builtin command __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 __#__ are restored to the values they  
-had prior to the function's execution.  
-  
-  
-Function names and definitions may be listed with the  
-__-f__ option to the __declare__ or __typeset__  
-builtin commands. The __-F__ option to __declare__ or  
-__typeset__ will list the function names only. Functions  
-may be exported so that subshells automatically have them  
-defined with the __-f__ option to the __export__  
-builtin.  
-  
-  
-Functions may be recursive. No limit is imposed on the  
-number of recursive calls.  
-!!ARITHMETIC EVALUATION  
-  
-  
-The shell allows arithmetic expressions to be evaluated,  
-under certain circumstances (see the __let__ builtin  
-command and __Arithmetic Expansion__). Evaluation is done  
-in long integers with no check for overflow, though division  
-by 0 is trapped and flagged as an error. The operators and  
-their precedence and associativity are the same as in the C  
-language. The following list of operators is grouped into  
-levels of equal-precedence operators. The levels are listed  
-in order of decreasing precedence.  
-  
-  
-''id''__++__ ''id''__--__  
-  
-  
-variable post-increment and post-decrement  
-  
-  
-__++__''id'' __--__''id''  
-  
-  
-variable pre-increment and pre-decrement  
-  
-  
-__- +__  
-  
-  
-unary minus and plus  
-  
-  
-__! ~__  
-  
-  
-logical and bitwise negation  
-  
-  
-__**__  
-  
-  
-exponentiation  
-  
-  
-__* / %__  
-  
-  
-multiplication, division, remainder  
-  
-  
-__+ -__  
-  
-  
-addition, subtraction  
-  
-  
-____  
-  
-  
-left and right bitwise shifts  
-  
-  
-____  
-  
-  
-comparison  
-  
-  
-__== !=__  
-  
-  
-equality and inequality  
-  
-  
-____  
-  
-  
-bitwise AND  
-  
-  
-__^__  
-  
-  
-bitwise exclusive OR  
-  
-  
-__|__  
-  
-  
-bitwise OR  
-  
-  
-____  
-  
-  
-logical AND  
-  
-  
-__||__  
-  
-  
-logical OR  
-  
-  
-''expr''__?__''expr''__:__''expr''  
-  
-  
-conditional evaluation  
-  
-  
-__= *= /= %= += -=  
-__  
-  
-  
-assignment  
-  
-  
-''expr1'' __,__ ''expr2''  
-  
-  
-comma  
-  
-  
-Shell variables are allowed as operands; parameter expansion  
-is performed before the expression is evaluated. Within an  
-expression, shell variables may also be referenced by name  
-without using the parameter expansion syntax. The value of a  
-variable is evaluated as an arithmetic expression when it is  
-referenced. A shell variable need not have its integer  
-attribute turned on to be used in an  
-expression.  
-  
-  
-Constants with a leading 0 are interpreted as octal numbers.  
-A leading 0x or 0X denotes hexadecimal. Otherwise, numbers  
-take the form [[''base#'']n, where ''base'' is a  
-decimal number between 2 and 64 representing the arithmetic  
-base, and ''n'' is a number in that base. If ''base#''  
-is omitted, then base 10 is used. The digits greater than 9  
-are represented by the lowercase letters, the uppercase  
-letters, @, and _, in that order. If ''base'' is less  
-than or equal to 36, lowercase and uppercase letters may be  
-used interchangably to represent numbers between 10 and  
-35.  
-  
-  
-Operators are evaluated in order of precedence.  
-Sub-expressions in parentheses are evaluated first and may  
-override the precedence rules above.  
-!!CONDITIONAL EXPRESSIONS  
-  
-  
-Conditional expressions are used by the __[[[[__ compound  
-command and the __test__ and __[[__ builtin commands to  
-test file attributes and perform string and arithmetic  
-comparisons. Expressions are formed from the following unary  
-or binary primaries. If any ''file'' argument to one of  
-the primaries is of the form ''/dev/fd/n'', then file  
-descriptor ''n'' is checked. If the ''file'' argument  
-to one of the primaries is one of ''/dev/stdin'',  
-''/dev/stdout'', or ''/dev/stderr'', file descriptor  
-, 1, or 2, respectively, is checked.  
-  
-  
-__-a__ ''file''  
-  
-  
-True if ''file'' exists.  
-  
-  
-__-b__ ''file''  
-  
-  
-True if ''file'' exists and is a block special  
-file.  
-  
-  
-__-c__ ''file''  
-  
-  
-True if ''file'' exists and is a character special  
-file.  
-  
-  
-__-d__ ''file''  
-  
-  
-True if ''file'' exists and is a directory.  
-  
-  
-__-e__ ''file''  
-  
-  
-True if ''file'' exists.  
-  
-  
-__-f__ ''file''  
-  
-  
-True if ''file'' exists and is a regular  
-file.  
-  
-  
-__-g__ ''file''  
-  
-  
-True if ''file'' exists and is set-group-id.  
-  
-  
-__-h__ ''file''  
-  
-  
-True if ''file'' exists and is a symbolic  
-link.  
-  
-  
-__-k__ ''file''  
-  
-  
-True if ''file'' exists and its ``sticky'' bit is  
-set.  
-  
-  
-__-p__ ''file''  
-  
-  
-True if ''file'' exists and is a named pipe  
-(FIFO).  
-  
-  
-__-r__ ''file''  
-  
-  
-True if ''file'' exists and is readable.  
-  
-  
-__-s__ ''file''  
-  
-  
-True if ''file'' exists and has a size greater than  
-zero.  
-  
-  
-__-t__ ''fd''  
-  
-  
-True if file descriptor ''fd'' is open and refers to a  
-terminal.  
-  
-  
-__-u__ ''file''  
-  
-  
-True if ''file'' exists and its set-user-id bit is  
-set.  
-  
-  
-__-w__ ''file''  
-  
-  
-True if ''file'' exists and is writable.  
-  
-  
-__-x__ ''file''  
-  
-  
-True if ''file'' exists and is executable.  
-  
-  
-__-O__ ''file''  
-  
-  
-True if ''file'' exists and is owned by the effective  
-user id.  
-  
-  
-__-G__ ''file''  
-  
-  
-True if ''file'' exists and is owned by the effective  
-group id.  
-  
-  
-__-L__ ''file''  
-  
-  
-True if ''file'' exists and is a symbolic  
-link.  
-  
-  
-__-S__ ''file''  
-  
-  
-True if ''file'' exists and is a socket.  
-  
-  
-__-N__ ''file''  
-  
-  
-True if ''file'' exists and has been modified since it  
-was last read.  
-  
-  
-''file1'' -__nt__ ''file2''  
-  
-  
-True if ''file1'' is newer (according to modification  
-date) than ''file2''.  
-  
-  
-''file1'' -__ot__ ''file2''  
-  
-  
-True if ''file1'' is older than  
-''file2''.  
-  
-  
-''file1'' __-ef__ ''file2''  
-  
-  
-True if ''file1'' and ''file2'' have the same device  
-and inode numbers.  
-  
-  
-__-o__ ''optname''  
-  
-  
-True if shell option ''optname'' is enabled. See the list  
-of options under the description of the __-o__ option to  
-the __set__ builtin below.  
-  
-  
-__-z__ ''string''  
-  
-  
-True if the length of ''string'' is zero.  
-  
-  
-__-n__ ''string''  
-  
-  
-''string''  
-  
-  
-True if the length of ''string'' is  
-non-zero.  
-  
-  
-''string1'' __==__ ''string2''  
-  
-  
-True if the strings are equal. __=__ may be used in place  
-of __==__.  
-  
-  
-''string1'' __!=__ ''string2''  
-  
-  
-True if the strings are not equal.  
-  
-  
-''string1'' ____ ''string2''  
-  
-  
-True if ''string1'' sorts before ''string2''  
-lexicographically in the current locale.  
-  
-  
-''string1'' ____ ''string2''  
-  
-  
-True if ''string1'' sorts after ''string2''  
-lexicographically in the current locale.  
-  
-  
-''arg1'' __OP__ ''arg2''  
-  
-  
-__OP__ is one of __-eq__, __-ne__,  
-__-lt__, __-le__, __-gt__, or __-ge__. These  
-arithmetic binary operators return true if ''arg1'' is  
-equal to, not equal to, less than, less than or equal to,  
-greater than, or greater than or equal to ''arg2'',  
-respectively. ''Arg1'' and ''arg2'' may be positive or  
-negative integers.  
-!!SIMPLE COMMAND EXPANSION  
-  
-  
-When a simple command is executed, the shell performs the  
-following expansions, assignments, and redirections, from  
-left to right.  
-  
-  
-1.  
-  
-  
-The words that the parser has marked as variable assignments  
-(those preceding the command name) and redirections are  
-saved for later processing.  
-  
-  
-2.  
-  
-  
-The words that are not variable assignments or redirections  
-are expanded. If any words remain after expansion, the first  
-word is taken to be the name of the command and the  
-remaining words are the arguments.  
-  
-  
-3.  
-  
-  
-Redirections are performed as described above under  
-__REDIRECTION__.  
-  
-  
-4.  
-  
-  
-The text after the __=__ in each variable assignment  
-undergoes tilde expansion, parameter expansion, command  
-substitution, arithmetic expansion, and quote removal before  
-being assigned to the variable.  
-  
-  
-If no command name results, the variable assignments affect  
-the current shell environment. Otherwise, the variables are  
-added to the environment of the executed command and do not  
-affect the current shell environment. If any of the  
-assignments attempts to assign a value to a readonly  
-variable, an error occurs, and the command exits with a  
-non-zero status.  
-  
-  
-If no command name results, redirections are performed, but  
-do not affect the current shell environment. A redirection  
-error causes the command to exit with a non-zero  
-status.  
-  
-  
-If there is a command name left after expansion, execution  
-proceeds as described below. Otherwise, the command exits.  
-If one of the expansions contained a command substitution,  
-the exit status of the command is the exit status of the  
-last command substitution performed. If there were no  
-command substitutions, the command exits with a status of  
-zero.  
-!!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.  
-  
-  
-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  
-__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.  
-  
-  
-If the name is neither a shell function nor a builtin, and  
-contains no slashes, __bash__ searches each element of  
-the __PATH__ for a directory containing an  
-executable file by that name. __Bash__ uses a hash table  
-to remember the full pathnames of executable files (see  
-__hash__ under __SHELL BUILTIN  
-COMMANDS__ below). A full search of the  
-directories in __PATH__ is performed only  
-if the command is not found in the hash table. If the search  
-is unsuccessful, the shell prints an error message and  
-returns an exit status of 127.  
-  
-  
-If the search is successful, or if the command name contains  
-one or more slashes, the shell executes the named program in  
-a separate execution environment. Argument 0 is set to the  
-name given, and the remaining arguments to the command are  
-set to the arguments given, if any.  
-  
-  
-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 ''shell script'', 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 __hash__ below under __SHELL BUILTIN  
-COMMANDS__) are retained by the  
-child.  
-  
-  
-If the program is a file beginning with __#!__, 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.  
-!!COMMAND EXECUTION ENVIRONMENT  
-  
-  
-The shell has an ''execution environment'', which  
-consists of the following:  
-  
-  
-open files inherited by the shell at invocation, as modified  
-by redirections supplied to the __exec__  
-builtin  
-  
-  
-the current working directory as set by __cd__,  
-__pushd__, or __popd__, or inherited by the shell at  
-invocation  
-  
-  
-the file creation mode mask as set by __umask__ or  
-inherited from the shell's parent  
-  
-  
-current traps set by __trap__  
-  
-  
-shell parameters that are set by variable assignment or with  
-__set__ or inherited from the shell's parent in the  
-environment  
-  
-  
-shell functions defined during execution or inherited from  
-the shell's parent in the environment  
-  
-  
-options enabled at invocation (either by default or with  
-command-line arguments) or by __set__  
-  
-  
-options enabled by __shopt__  
-  
-  
-shell aliases defined with __alias__  
-  
-  
-various process IDs, including those of background jobs, the  
-value of __$$__, and the value of  
-__$PPID__  
-  
-  
-When a simple command other than a builtin or shell function  
-is to be executed, it is invoked in a separate execution  
-environment that consists of the following. Unless otherwise  
-noted, the values are inherited from the shell.  
-  
-  
-the shell's open files, plus any modifications and additions  
-specified by redirections to the command  
-  
-  
-the current working directory  
-  
-  
-the file creation mode mask  
-  
-  
-shell variables marked for export, along with variables  
-exported for the command, passed in the  
-environment  
-  
-  
-traps caught by the shell are reset to the values the  
-inherited from the shell's parent, and traps ignored by the  
-shell are ignored  
-  
-  
-A command invoked in this separate environment cannot affect  
-the shell's execution environment.  
-  
-  
-Command substitution and asynchronous commands are invoked  
-in a subshell environment that is a duplicate of the shell  
-environment, except that traps caught by the shell are reset  
-to the values that the shell inherited from its parent at  
-invocation. Builtin commands that are invoked as part of a  
-pipeline are also executed in a subshell environment.  
-Changes made to the subshell environment cannot affect the  
-shell's execution environment.  
-  
-  
-If a command is followed by a ____ and job control  
-is not active, the default standard input for the command is  
-the empty file ''/dev/null''. Otherwise, the invoked  
-command inherits the file descriptors of the calling shell  
-as modified by redirections.  
-!!ENVIRONMENT  
-  
-  
-When a program is invoked it is given an array of strings  
-called the ''environment''. This is a list of  
-''name''-''value'' pairs, of the form  
-''name''=''value''.  
-  
-  
-The shell provides several ways to manipulate the  
-environment. On invocation, the shell scans its own  
-environment and creates a parameter for each name found,  
-automatically marking it for ''export'' to child  
-processes. Executed commands inherit the environment. The  
-__export__ and __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 __unset__ command, plus any additions via the  
-__export__ and __declare -x__ commands.  
-  
-  
-The environment for any ''simple command'' or function  
-may be augmented temporarily by prefixing it with parameter  
-assignments, as described above in  
-__PARAMETERS__. These  
-assignment statements affect only the environment seen by  
-that command.  
-  
-  
-If the __-k__ option is set (see the __set__ builtin  
-command below), then ''all'' parameter assignments are  
-placed in the environment for a command, not just those that  
-precede the command name.  
-  
-  
-When __bash__ invokes an external command, the variable  
-_____ is set to the full file name of the command and  
-passed to that command in its environment.  
-!!EXIT STATUS  
-  
-  
-For the shell's purposes, 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 ''N'', __bash__  
-uses the value of 128+''N'' as the exit  
-status.  
-  
-  
-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.  
-  
-  
-If a command fails because of an error during expansion or  
-redirection, the exit status is greater than  
-zero.  
-  
-  
-Shell builtin commands return a status of 0 (''true'') if  
-successful, and non-zero (''false'') if an error occurs  
-while they execute. All builtins return an exit status of 2  
-to indicate incorrect usage.  
-  
-  
-__Bash__ 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  
-__exit__ builtin command below.  
-!!SIGNALS  
-  
-  
-When __bash__ is interactive, in the absence of any  
-traps, it ignores __SIGTERM__ (so that  
-__kill __ does not kill an interactive shell), and  
-__SIGINT__ is caught and handled (so that  
-the __wait__ builtin is interruptible). In all cases,  
-__bash__ ignores  
-__SIGQUIT__. If job control  
-is in effect, __bash__ ignores  
-__SIGTTIN__,  
-__SIGTTOU__, and  
-__SIGTSTP__.  
-  
-  
-Synchronous jobs started by __bash__ have signal handlers  
-set to the values inherited by the shell from its parent.  
-When job control is not in effect, asynchronous commands  
-ignore __SIGINT__ and  
-__SIGQUIT__ as well. Commands run as a  
-result of command substitution ignore the keyboard-generated  
-job control signals __SIGTTIN__,  
-__SIGTTOU__, and  
-__SIGTSTP__.  
-  
-  
-The shell exits by default upon receipt of a  
-__SIGHUP__. Before exiting,  
-an interactive shell resends the  
-__SIGHUP__ to all jobs, running or  
-stopped. Stopped jobs are sent __SIGCONT__  
-to ensure that they receive the  
-__SIGHUP__. To prevent the  
-shell from sending the signal to a particular job, it should  
-be removed from the jobs table with the __disown__  
-builtin (see __SHELL BUILTIN COMMANDS__  
-below) or marked to not receive __SIGHUP__  
-using __disown -h__.  
-  
-  
-If the __huponexit__ shell option has been set with  
-__shopt__, __bash__ sends a  
-__SIGHUP__ to all jobs when an interactive  
-login shell exits.  
-  
-  
-When __bash__ receives a signal for which a trap has been  
-set while waiting for a command to complete, the trap will  
-not be executed until the command completes. When  
-__bash__ is waiting for an asynchronous command via the  
-__wait__ builtin, the reception of a signal for which a  
-trap has been set will cause the __wait__ builtin to  
-return immediately with an exit status greater than 128,  
-immediately after which the trap is executed.  
-!!JOB CONTROL  
-  
-  
-''Job control'' refers to the ability to selectively stop  
-(''suspend'') the execution of processes and continue  
-(''resume'') 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  
-__bash__.  
-  
-  
-The shell associates a ''job'' with each pipeline. It  
-keeps a table of currently executing jobs, which may be  
-listed with the __jobs__ command. When __bash__ starts  
-a job asynchronously (in the ''background''), it prints a  
-line that looks like:  
-  
-  
-[[1] 25647  
-  
-  
-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. __Bash__ uses the  
-''job'' abstraction as the basis for job  
-control.  
-  
-  
-To facilitate the implementation of the user interface to  
-job control, the operating system maintains the notion of a  
-''current terminal process group ID''. 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  
-__SIGINT__. These processes  
-are said to be in the ''foreground''. ''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  
-__SIGTTIN (SIGTTOU)__ signal by the  
-terminal driver, which, unless caught, suspends the  
-process.  
-  
-  
-If the operating system on which __bash__ is running  
-supports job control, __bash__ contains facilities to use  
-it. Typing the ''suspend'' character (typically  
-__^Z__, Control-Z) while a process is running causes that  
-process to be stopped and returns control to __bash__.  
-Typing the ''delayed suspend'' character (typically  
-__^Y__, Control-Y) causes the process to be stopped when  
-it attempts to read input from the terminal, and control to  
-be returned to __bash__. The user may then manipulate the  
-state of this job, using the __bg__ command to continue  
-it in the background, the __fg__ command to continue it  
-in the foreground, or the __kill__ command to kill it. A  
-__^Z__ takes effect immediately, and has the additional  
-side effect of causing pending output and typeahead to be  
-discarded.  
-  
-  
-There are a number of ways to refer to a job in the shell.  
-The character __%__ introduces a job name. Job number  
-''n'' may be referred to as __%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, __%ce__ refers to a stopped __ce__ job. If a  
-prefix matches more than one job, __bash__ reports an  
-error. Using __%?ce__, on the other hand, refers to any  
-job containing the string __ce__ in its command line. If  
-the substring matches more than one job, __bash__ reports  
-an error. The symbols __%%__ and __%+__ refer to the  
-shell's notion of the ''current job'', which is the last  
-job stopped while it was in the foreground or started in the  
-background. The ''previous job'' may be referenced using  
-__%-__. In output pertaining to jobs (e.g., the output of  
-the __jobs__ command), the current job is always flagged  
-with a __+__, and the previous job with a  
-__-__.  
-  
-  
-Simply naming a job can be used to bring it into the  
-foreground: __%1__ is a synonym for __``fg %1''__,  
-bringing job 1 from the background into the foreground.  
-Similarly, __``%1 __ resumes job 1 in the  
-background, equivalent to __``bg %1''__.  
-  
-  
-The shell learns immediately whenever a job changes state.  
-Normally, __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__ option to  
-the __set__ builtin command is enabled, __bash__  
-reports such changes immediately. Any trap on  
-__SIGCHLD__ is executed for each child  
-that exits.  
-  
-  
-If an attempt to exit __bash__ is made while jobs are  
-stopped, the shell prints a warning message. The __jobs__  
-command may then be used to inspect their status. If a  
-second attempt to exit is made without an intervening  
-command, the shell does not print another warning, and the  
-stopped jobs are terminated.  
-!!PROMPTING  
-  
-  
-When executing interactively, __bash__ displays the  
-primary prompt __PS1__ when it is ready to  
-read a command, and the secondary prompt  
-__PS2__ when it needs more input to  
-complete a command. __Bash__ allows these prompt strings  
-to be customized by inserting a number of backslash-escaped  
-special characters that are decoded as follows:  
-  
-  
-__a__  
-  
-  
-an ASCII bell character (07)  
-  
-  
-__d__  
-  
-  
-the date in  
-  
-  
-__e__  
-  
-  
-an ASCII escape character (033)  
-  
-  
-__h__  
-  
-  
-the hostname up to the first `.'  
-  
-  
-__H__  
-  
-  
-the hostname  
-  
-  
-__j__  
-  
-  
-the number of jobs currently managed by the  
-shell  
-  
-  
-__l__  
-  
-  
-the basename of the shell's terminal device  
-name  
-  
-  
-__n__  
-  
-  
-newline  
-  
-  
-__r__  
-  
-  
-carriage return  
-  
-  
-__s__  
-  
-  
-the name of the shell, the basename of __$__ (the  
-portion following the final slash)  
-  
-  
-__t__  
-  
-  
-the current time in 24-hour HH:MM:SS format  
-  
-  
-__T__  
-  
-  
-the current time in 12-hour HH:MM:SS format  
-  
-  
-__@__  
-  
-  
-the current time in 12-hour am/pm format  
-  
-  
-__A__  
-  
-  
-the current time in 24-hour HH:MM format  
-  
-  
-__u__  
-  
-  
-the username of the current user  
-  
-  
-__v__  
-  
-  
-the version of __bash__ (e.g., 2.00)  
-  
-  
-__V__  
-  
-  
-the release of __bash__, version + patchelvel (e.g.,  
-2.00.)  
-  
-  
-__w__  
-  
-  
-the current working directory  
-  
-  
-__W__  
-  
-  
-the basename of the current working directory  
-  
-  
-__!__  
-  
-  
-the history number of this command  
-  
-  
-__#__  
-  
-  
-the command number of this command  
-  
-  
-__$__  
-  
-  
-if the effective UID is , a __#__, otherwise a  
-__$__  
-  
-  
-__\__''nnn''  
-  
-  
-the character corresponding to the octal number  
-''nnn''  
-  
-  
-__\__  
-  
-  
-a backslash  
-  
-  
-__[[__  
-  
-  
-begin a sequence of non-printing characters, which could be  
-used to embed a terminal control sequence into the  
-prompt  
-  
-  
-__]__  
-  
-  
-end a sequence of non-printing characters  
-  
-  
-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 __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 quote removal, subject to the value of the  
-__promptvars__ shell option (see the description of the  
-__shopt__ command under __SHELL BUILTIN  
-COMMANDS__ below).  
-!!READLINE  
-  
-  
-This is the library that handles reading input when using an  
-interactive shell, unless the __--noediting__ option is  
-given at shell invocation. By default, the line editing  
-commands are similar to those of emacs. A vi-style line  
-editing interface is also available. To turn off line  
-editing after the shell is running, use the __+o emacs__  
-or __+o vi__ options to the __set__ builtin (see  
-__SHELL BUILTIN COMMANDS__  
-below).  
-  
-  
-__Readline Notation__  
-  
-  
-In this section, the emacs-style notation is used to denote  
-keystrokes. Control keys are denoted by C-''key'', e.g.,  
-C-n means Control-N. Similarly, ''meta'' keys are denoted  
-by M-''key'', so M-x means Meta-X. (On keyboards without  
-a ''meta'' key, M-''x'' means ESC ''x'', i.e.,  
-press the Escape key then the ''x'' key. This makes ESC  
-the ''meta prefix''. The combination M-C-''x'' means  
-ESC-Control-''x'', or press the Escape key then hold the  
-Control key while pressing the ''x'' key.)  
-  
-  
-Readline commands may be given numeric ''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., __kill-line__) causes that command to  
-act in a backward direction. Commands whose behavior with  
-arguments deviates from this are noted below.  
-  
-  
-When a command is described as ''killing'' text, the text  
-deleted is saved for possible future retrieval  
-(''yanking''). The killed text is saved in a ''kill  
-ring''. 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.  
-  
-  
-__Readline Initialization__  
-  
-  
-Readline is customized by putting commands in an  
-initialization file (the ''inputrc'' file). The name of  
-this file is taken from the value of the  
-__INPUTRC__ variable. If that variable is  
-unset, the default is ''~/.inputrc''. When a program  
-which uses the readline library starts up, the  
-initialization file is read, and the key bindings and  
-variables are set. There are only a few basic constructs  
-allowed in the readline initialization file. Blank lines are  
-ignored. Lines beginning with a __#__ are comments. Lines  
-beginning with a __$__ indicate conditional constructs.  
-Other lines denote key bindings and variable  
-settings.  
-  
-  
-The default key-bindings may be changed with an  
-''inputrc'' file. Other programs that use this library  
-may add their own commands and bindings.  
-  
-  
-For example, placing  
-  
-  
-M-Control-u: universal-argument  
-  
-  
-or  
-  
-  
-C-Meta-u: universal-argument  
-  
-  
-into the ''inputrc'' would make M-C-u execute the  
-readline command ''universal-argument''.  
-  
-  
-The following symbolic character names are recognized:  
-''RUBOUT'', ''DEL'', ''ESC'', ''LFD'',  
-''NEWLINE'', ''RET'', ''RETURN'', ''SPC'',  
-''SPACE'', and ''TAB''.  
-  
-  
-In addition to command names, readline allows keys to be  
-bound to a string that is inserted when the key is pressed  
-(a ''macro'').  
-  
-  
-__Readline Key Bindings__  
-  
-  
-The syntax for controlling key bindings in the  
-''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 ''Meta-'' or ''Control-'' prefixes, or  
-as a key sequence.  
-  
-  
-When using the form __keyname__:''function-name'' or  
-''macro'', ''keyname'' is the name of a key spelled  
-out in English. For example:  
-  
-  
-Control-u: universal-argument  
-Meta-Rubout: backward-kill-word  
-Control-o:  
-  
-  
-In the above example, ''C-u'' is bound to the function  
-__universal-argument__, ''M-DEL'' is bound to the  
-function __backward-kill-word__, and ''C-o'' is bound  
-to run the macro expressed on the right hand side (that is,  
-to insert the text into the  
-line).  
-  
-  
-In the second form,  
-____:''function-name'' or  
-''macro'', __keyseq__ differs from __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, but the symbolic character names are not  
-recognized.  
-  
-  
-  
-  
-In this example, ''C-u'' is again bound to the function  
-__universal-argument__. ''C-x C-r'' is bound to the  
-function __re-read-init-file__, and ''ESC [[ 1 1 ~'' is  
-bound to insert the text Function Key  
-1.  
-  
-  
-The full set of GNU Emacs style escape sequences  
-is  
-  
-  
-__C-__  
-  
-  
-control prefix  
-  
-  
-__M-__  
-  
-  
-meta prefix  
-  
-  
-__e__  
-  
-  
-an escape character  
-  
-  
-__\__  
-  
-  
-backslash  
-  
-  
-____  
-  
-  
-literal  
-  
-  
-__'__  
-  
-  
-literal '  
-  
-  
-In addition to the GNU Emacs style escape sequences, a  
-second set of backslash escapes is available:  
-  
-  
-__a__  
-  
-  
-alert (bell)  
-  
-  
-__b__  
-  
-  
-backspace  
-  
-  
-__d__  
-  
-  
-delete  
-  
-  
-__f__  
-  
-  
-form feed  
-  
-  
-__n__  
-  
-  
-newline  
-  
-  
-__r__  
-  
-  
-carriage return  
-  
-  
-__t__  
-  
-  
-horizontal tab  
-  
-  
-__v__  
-  
-  
-vertical tab  
-  
-  
-__\__''nnn''  
-  
-  
-the eight-bit character whose value is the octal value  
-''nnn'' (one to three digits)  
-  
-  
-__x__''HH''  
-  
-  
-the eight-bit character whose value is the hexadecimal value  
-''HH'' (one or two hex digits)  
-  
-  
-When entering the text of a macro, single or double quotes  
-must be used to indicate a macro definition. Unquoted text  
-is assumed to be a function name. In the macro body, the  
-backslash escapes described above are expanded. Backslash  
-will quote any other character in the macro text, including  
-  
-  
-__Bash__ allows the current readline key bindings to be  
-displayed or modified with the __bind__ builtin command.  
-The editing mode may be switched during interactive use by  
-using the __-o__ option to the __set__ builtin command  
-(see __SHELL BUILTIN COMMANDS__  
-below).  
-  
-  
-__Readline Variables__  
-  
-  
-Readline has variables that can be used to further customize  
-its behavior. A variable may be set in the ''inputrc''  
-file with a statement of the form  
-  
-  
-__set__ ''variable-name value''  
-  
-  
-Except where noted, readline variables can take the values  
-__On__ or __Off__. The variables and their default  
-values are:  
-  
-  
-__bell-style (audible)__  
-  
-  
-Controls what happens when readline wants to ring the  
-terminal bell. If set to __none__, readline never rings  
-the bell. If set to __visible__, readline uses a visible  
-bell if one is available. If set to __audible__, readline  
-attempts to ring the terminal's bell.  
-  
-  
-__comment-begin (``#'')__  
-  
-  
-The string that is inserted when the readline  
-__insert-comment__ command is executed. This command is  
-bound to __M-#__ in emacs mode and to __#__ in vi  
-command mode.  
-  
-  
-__completion-ignore-case (Off)__  
-  
-  
-If set to __On__, readline performs filename matching and  
-completion in a case-insensitive fashion.  
-  
-  
-__completion-query-items (100)__  
-  
-  
-This determines when the user is queried about viewing the  
-number of possible completions generated by the  
-__possible-completions__ 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.  
-  
-  
-__convert-meta (On)__  
-  
-  
-If set to __On__, readline will convert characters with  
-the eighth bit set to an ASCII key sequence by stripping the  
-eighth bit and prefixing an escape character (in effect,  
-using escape as the ''meta prefix'').  
-  
-  
-__disable-completion (Off)__  
-  
-  
-If set to __On__, readline will inhibit word completion.  
-Completion characters will be inserted into the line as if  
-they had been mapped to __self-insert__.  
-  
-  
-__editing-mode (emacs)__  
-  
-  
-Controls whether readline begins with a set of key bindings  
-similar to ''emacs'' or ''vi''. __editing-mode__  
-can be set to either __emacs__ or __vi__.  
-  
-  
-__enable-keypad (Off)__  
-  
-  
-When set to __On__, readline will try to enable the  
-application keypad when it is called. Some systems need this  
-to enable the arrow keys.  
-  
-  
-__expand-tilde (Off)__  
-  
-  
-If set to __on__, tilde expansion is performed when  
-readline attempts word completion.  
-  
-  
-__history-preserve-point__  
-  
-  
-If set to __on__, the history code attempts to place  
-point at the same location on each history line retrived  
-with __previous-history__ or  
-__next-history__.  
-  
-  
-__horizontal-scroll-mode (Off)__  
-  
-  
-When set to __On__, 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.  
-  
-  
-__input-meta (Off)__  
-  
-  
-If set to __On__, 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. The name __meta-flag__ is a synonym for this  
-variable.  
-  
-  
-__isearch-terminators (``C-[[C-J'')__  
-  
-  
-The string of characters that should terminate an  
-incremental search without subsequently executing the  
-character as a command. If this variable has not been given  
-a value, the characters ''ESC'' and ''C-J'' will  
-terminate an incremental search.  
-  
-  
-__keymap (emacs)__  
-  
-  
-Set the current readline keymap. The set of valid keymap  
-names is ''emacs, emacs-standard, emacs-meta, emacs-ctlx,  
-vi, vi-command'', and ''vi-insert''. ''vi'' is  
-equivalent to ''vi-command''; ''emacs'' is equivalent  
-to ''emacs-standard''. The default value is ''emacs'';  
-the value of __editing-mode__ also affects the default  
-keymap.  
-  
-  
-__mark-directories (On)__  
-  
-  
-If set to __On__, completed directory names have a slash  
-appended.  
-  
-  
-__mark-modified-lines (Off)__  
-  
-  
-If set to __On__, history lines that have been modified  
-are displayed with a preceding asterisk  
-(__*__).  
-  
-  
-__match-hidden-files (On)__  
-  
-  
-This variable, when set to __On__, causes readline to  
-match files whose names begin with a `.' (hidden files) when  
-performing filename completion, unless the leading `.' is  
-supplied by the user in the filename to be  
-completed.  
-  
-  
-__output-meta (Off)__  
-  
-  
-If set to __On__, readline will display characters with  
-the eighth bit set directly rather than as a meta-prefixed  
-escape sequence.  
-  
-  
-__print-completions-horizontally (Off)__  
-  
-  
-If set to __On__, readline will display completions with  
-matches sorted horizontally in alphabetical order, rather  
-than down the screen.  
-  
-  
-__show-all-if-ambiguous (Off)__  
-  
-  
-This alters the default behavior of the completion  
-functions. If set to __on__, words which have more than  
-one possible completion cause the matches to be listed  
-immediately instead of ringing the bell.  
-  
-  
-__visible-stats (Off)__  
-  
-  
-If set to __On__, a character denoting a file's type as  
-reported by stat(2) is appended to the filename when  
-listing possible completions.  
-  
-  
-__Readline Conditional Constructs__  
-  
-  
-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 four parser directives  
-used.  
-  
-  
-__$if__  
-  
-  
-The __$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.  
-  
-  
-__mode__  
-  
-  
-The __mode=__ form of the __$if__ directive is used to  
-test whether readline is in emacs or vi mode. This may be  
-used in conjunction with the __set keymap__ command, for  
-instance, to set bindings in the ''emacs-standard'' and  
-''emacs-ctlx'' keymaps only if readline is starting out  
-in emacs mode.  
-  
-  
-__term__  
-  
-  
-The __term=__ 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 __=__ is tested against the both  
-full name of the terminal and the portion of the terminal  
-name before the first __-__. This allows ''sun'' to  
-match both ''sun'' and ''sun-cmd'', for  
-instance.  
-  
-  
-__application__  
-  
-  
-The __application__ construct is used to include  
-application-specific settings. Each program using the  
-readline library sets the ''application name'', 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:  
-  
-  
-__$if__ Bash  
-# Quote the current or previous word  
-__$endif  
-__  
-  
-  
-__$endif__  
-  
-  
-This command, as seen in the previous example, terminates an  
-__$if__ command.  
-  
-  
-__$else__  
-  
-  
-Commands in this branch of the __$if__ directive are  
-executed if the test fails.  
-  
-  
-__$include__  
-  
-  
-This directive takes a single filename as an argument and  
-reads commands and bindings from that file. For example, the  
-following directive would read  
-''/etc/inputrc'':  
-  
-  
-__$include__ '' /etc/inputrc  
-''  
-  
-  
-__Searching__  
-  
-  
-Readline provides commands for searching through the command  
-history (see __HISTORY__ below) for lines  
-containing a specified string. There are two search modes:  
-''incremental'' and ''non-incremental''.  
-  
-  
-Incremental searches begin before the user has finished  
-typing the search string. As each character of the search  
-string is typed, readline displays the next entry from the  
-history matching the string typed so far. An incremental  
-search requires only as many characters as needed to find  
-the desired history entry. The characters present in the  
-value of the __isearch-terminators__ variable are used to  
-terminate an incremental search. If that variable has not  
-been assigned a value the Escape and Control-J characters  
-will terminate an incremental search. Control-G will abort  
-an incremental search and restore the original line. When  
-the search is terminated, the history entry containing the  
-search string becomes the current line.  
-  
-  
-To find other matching entries in the history list, type  
-Control-S or Control-R as appropriate. This will search  
-backward or forward in the history for the next entry  
-matching the search string typed so far. Any other key  
-sequence bound to a readline command will terminate the  
-search and execute that command. For instance, a  
-''newline'' will terminate the search and accept the  
-line, thereby executing the command from the history  
-list.  
-  
-  
-Readline remembers the last incremental search string. If  
-two Control-Rs are typed without any intervening characters  
-defining a new search string, any remembered search string  
-is used.  
-  
-  
-Non-incremental searches read the entire search string  
-before starting to search for matching history lines. The  
-search string may be typed by the user or be part of the  
-contents of the current line.  
-  
-  
-__Readline Command Names__  
-  
-  
-The following is a list of the names of the commands and the  
-default key sequences to which they are bound. Command names  
-without an accompanying key sequence are unbound by default.  
-In the following descriptions, ''point'' refers to the  
-current cursor position, and ''mark'' refers to a cursor  
-position saved by the __set-mark__ command. The text  
-between the point and mark is referred to as the  
-''region''.  
-  
-  
-__Commands for Moving__  
-  
-  
-__beginning-of-line (C-a)__  
-  
-  
-Move to the start of the current line.  
-  
-  
-__end-of-line (C-e)__  
-  
-  
-Move to the end of the line.  
-  
-  
-__forward-char (C-f)__  
-  
-  
-Move forward a character.  
-  
-  
-__backward-char (C-b)__  
-  
-  
-Move back a character.  
-  
-  
-__forward-word (M-f)__  
-  
-  
-Move forward to the end of the next word. Words are composed  
-of alphanumeric characters (letters and  
-digits).  
-  
-  
-__backward-word (M-b)__  
-  
-  
-Move back to the start of the current or previous word.  
-Words are composed of alphanumeric characters (letters and  
-digits).  
-  
-  
-__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.  
-  
-  
-__redraw-current-line__  
-  
-  
-Refresh the current line.  
-  
-  
-__Commands for Manipulating the History__  
-  
-  
-__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 __HISTCONTROL__ variable.  
-If the line is a modified history line, then restore the  
-history line to its original state.  
-  
-  
-__previous-history (C-p)__  
-  
-  
-Fetch the previous command from the history list, moving  
-back in the list.  
-  
-  
-__next-history (C-n)__  
-  
-  
-Fetch the next command from the history list, moving forward  
-in the list.  
-  
-  
-__beginning-of-history (M-__  
-  
-  
-Move to the first line in the history.  
-  
-  
-__end-of-history (M-__  
-  
-  
-Move to the end of the input history, i.e., the line  
-currently being entered.  
-  
-  
-__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.  
-  
-  
-__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.  
-  
-  
-__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.  
-  
-  
-__non-incremental-forward-search-history  
-(M-n)__  
-  
-  
-Search forward through the history using a non-incremental  
-search for a string supplied by the user.  
-  
-  
-__history-search-forward__  
-  
-  
-Search forward through the history for the string of  
-characters between the start of the current line and the  
-point. This is a non-incremental search.  
-  
-  
-__history-search-backward__  
-  
-  
-Search backward through the history for the string of  
-characters between the start of the current line and the  
-point. This is a non-incremental search.  
-  
-  
-__yank-nth-arg (M-C-y)__  
-  
-  
-Insert the first argument to the previous command (usually  
-the second word on the previous line) at point. With an  
-argument ''n'', insert the ''n''th word from the  
-previous command (the words in the previous command begin  
-with word ). A negative argument inserts the ''n''th  
-word from the end of the previous command.  
-  
-  
-__yank-last-arg (M-., M-_)__  
-  
-  
-Insert the last argument to the previous command (the last  
-word of the previous history entry). With an argument,  
-behave exactly like __yank-nth-arg__. Successive calls to  
-__yank-last-arg__ move back through the history list,  
-inserting the last argument of each line in  
-turn.  
-  
-  
-__shell-expand-line (M-C-e)__  
-  
-  
-Expand the line as the shell does. This performs alias and  
-history expansion as well as all of the shell word  
-expansions. See __HISTORY EXPANSION__  
-below for a description of history expansion.  
-  
-  
-__history-expand-line (M-^)__  
-  
-  
-Perform history expansion on the current line. See  
-__HISTORY EXPANSION__ below for a  
-description of history expansion.  
-  
-  
-__magic-space__  
-  
-  
-Perform history expansion on the current line and insert a  
-space. See __HISTORY EXPANSION__ below for  
-a description of history expansion.  
-  
-  
-__alias-expand-line__  
-  
-  
-Perform alias expansion on the current line. See  
-__ALIASES__ above for a description of  
-alias expansion.  
-  
-  
-__history-and-alias-expand-line__  
-  
-  
-Perform history and alias expansion on the current  
-line.  
-  
-  
-__insert-last-argument (M-., M-_)__  
-  
-  
-A synonym for __yank-last-arg__.  
-  
-  
-__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.  
-  
-  
-__Commands for Changing Text__  
-  
-  
-__delete-char (C-d)__  
-  
-  
-Delete the character at point. If point is at the beginning  
-of the line, there are no characters in the line, and the  
-last character typed was not bound to __delete-char__,  
-then return  
-__EOF__.  
-  
-  
-__backward-delete-char (Rubout)__  
-  
-  
-Delete the character behind the cursor. When given a numeric  
-argument, save the deleted text on the kill  
-ring.  
-  
-  
-__forward-backward-delete-char__  
-  
-  
-Delete the character under the cursor, unless the cursor is  
-at the end of the line, in which case the character behind  
-the cursor is deleted.  
-  
-  
-__quoted-insert (C-q, C-v)__  
-  
-  
-Add the next character typed to the line verbatim. This is  
-how to insert characters like __C-q__, for  
-example.  
-  
-  
-__tab-insert (C-v TAB)__  
-  
-  
-Insert a tab character.  
-  
-  
-__self-insert (a, b, A, 1, !, ...)__  
-  
-  
-Insert the character typed.  
-  
-  
-__transpose-chars (C-t)__  
-  
-  
-Drag the character before point forward over the character  
-at point, moving point forward as well. If point is at the  
-end of the line, then this transposes the two characters  
-before point. Negative arguments have no  
-effect.  
-  
-  
-__transpose-words (M-t)__  
-  
-  
-Drag the word before point past the word after point, moving  
-point over that word as well. If point is at the end of the  
-line, this transposes the last two words on the  
-line.  
-  
-  
-__upcase-word (M-u)__  
-  
-  
-Uppercase the current (or following) word. With a negative  
-argument, uppercase the previous word, but do not move  
-point.  
-  
-  
-__downcase-word (M-l)__  
-  
-  
-Lowercase the current (or following) word. With a negative  
-argument, lowercase the previous word, but do not move  
-point.  
-  
-  
-__capitalize-word (M-c)__  
-  
-  
-Capitalize the current (or following) word. With a negative  
-argument, capitalize the previous word, but do not move  
-point.  
-  
-  
-__Killing and Yanking__  
-  
-  
-__kill-line (C-k)__  
-  
-  
-Kill the text from point to the end of the  
-line.  
-  
-  
-__backward-kill-line (C-x Rubout)__  
-  
-  
-Kill backward to the beginning of the line.  
-  
-  
-__unix-line-discard (C-u)__  
-  
-  
-Kill backward from point to the beginning of the line. The  
-killed text is saved on the kill-ring.  
-  
-  
-__kill-whole-line__  
-  
-  
-Kill all characters on the current line, no matter where  
-point is.  
-  
-  
-__kill-word (M-d)__  
-  
-  
-Kill from point 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  
-__forward-word__.  
-  
-  
-__backward-kill-word (M-Rubout)__  
-  
-  
-Kill the word behind point. Word boundaries are the same as  
-those used by __backward-word__.  
-  
-  
-__unix-word-rubout (C-w)__  
-  
-  
-Kill the word behind point, using white space as a word  
-boundary. The killed text is saved on the  
-kill-ring.  
-  
-  
-__delete-horizontal-space (M-)__  
-  
-  
-Delete all spaces and tabs around point.  
-  
-  
-__kill-region__  
-  
-  
-Kill the text in the current region.  
-  
-  
-__copy-region-as-kill__  
-  
-  
-Copy the text in the region to the kill buffer.  
-  
-  
-__copy-backward-word__  
-  
-  
-Copy the word before point to the kill buffer. The word  
-boundaries are the same as  
-__backward-word__.  
-  
-  
-__copy-forward-word__  
-  
-  
-Copy the word following point to the kill buffer. The word  
-boundaries are the same as __forward-word__.  
-  
-  
-__yank (C-y)__  
-  
-  
-Yank the top of the kill ring into the buffer at  
-point.  
-  
-  
-__yank-pop (M-y)__  
-  
-  
-Rotate the kill ring, and yank the new top. Only works  
-following __yank__ or __yank-pop__.  
-  
-  
-__Numeric Arguments__  
-  
-  
-__digit-argument (M-, M-1, ..., M--)__  
-  
-  
-Add this digit to the argument already accumulating, or  
-start a new argument. M-- starts a negative  
-argument.  
-  
-  
-__universal-argument__  
-  
-  
-This is another way to specify an argument. If this command  
-is followed by one or more digits, optionally with a leading  
-minus sign, those digits define the argument. If the command  
-is followed by digits, executing __universal-argument__  
-again ends the numeric argument, but is otherwise ignored.  
-As a special case, if this command is immediately followed  
-by a character that is neither a digit or minus sign, the  
-argument count for the next command is multiplied by four.  
-The argument count is initially one, so executing this  
-function the first time makes the argument count four, a  
-second time makes the argument count sixteen, and so  
-on.  
-  
-  
-__Completing__  
-  
-  
-__complete (TAB)__  
-  
-  
-Attempt to perform completion on the text before point.  
-__Bash__ attempts completion treating the text as a  
-variable (if the text begins with __$__), username (if  
-the text begins with __~__), hostname (if the text begins  
-with __@__), or command (including aliases and functions)  
-in turn. If none of these produces a match, filename  
-completion is attempted.  
-  
-  
-__possible-completions (M-?)__  
-  
-  
-List the possible completions of the text before  
-point.  
-  
-  
-__insert-completions (M-*)__  
-  
-  
-Insert all completions of the text before point that would  
-have been generated by  
-__possible-completions__.  
-  
-  
-__menu-complete__  
-  
-  
-Similar to __complete__, but replaces the word to be  
-completed with a single match from the list of possible  
-completions. Repeated execution of __menu-complete__  
-steps through the list of possible completions, inserting  
-each match in turn. At the end of the list of completions,  
-the bell is rung (subject to the setting of  
-__bell-style__) and the original text is restored. An  
-argument of ''n'' moves ''n'' positions forward in the  
-list of matches; a negative argument may be used to move  
-backward through the list. This command is intended to be  
-bound to __TAB__, but is unbound by default.  
-  
-  
-__delete-char-or-list__  
-  
-  
-Deletes the character under the cursor if not at the  
-beginning or end of the line (like __delete-char__). If  
-at the end of the line, behaves identically to  
-__possible-completions__. This command is unbound by  
-default.  
-  
-  
-__complete-filename (M-/)__  
-  
-  
-Attempt filename completion on the text before  
-point.  
-  
-  
-__possible-filename-completions (C-x /)__  
-  
-  
-List the possible completions of the text before point,  
-treating it as a filename.  
-  
-  
-__complete-username (M-~)__  
-  
-  
-Attempt completion on the text before point, treating it as  
-a username.  
-  
-  
-__possible-username-completions (C-x ~)__  
-  
-  
-List the possible completions of the text before point,  
-treating it as a username.  
-  
-  
-__complete-variable (M-$)__  
-  
-  
-Attempt completion on the text before point, treating it as  
-a shell variable.  
-  
-  
-__possible-variable-completions (C-x $)__  
-  
-  
-List the possible completions of the text before point,  
-treating it as a shell variable.  
-  
-  
-__complete-hostname (M-@)__  
-  
-  
-Attempt completion on the text before point, treating it as  
-a hostname.  
-  
-  
-__possible-hostname-completions (C-x @)__  
-  
-  
-List the possible completions of the text before point,  
-treating it as a hostname.  
-  
-  
-__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, shell  
-builtins, and finally executable filenames, in that  
-order.  
-  
-  
-__possible-command-completions (C-x !)__  
-  
-  
-List the possible completions of the text before point,  
-treating it as a command name.  
-  
-  
-__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.  
-  
-  
-__complete-into-braces (M-{)__  
-  
-  
-Perform filename completion and insert the list of possible  
-completions enclosed within braces so the list is available  
-to the shell (see __Brace Expansion__  
-above).  
-  
-  
-__Keyboard Macros__  
-  
-  
-__start-kbd-macro (C-x ()__  
-  
-  
-Begin saving the characters typed into the current keyboard  
-macro.  
-  
-  
-__end-kbd-macro (C-x ))__  
-  
-  
-Stop saving the characters typed into the current keyboard  
-macro and store the definition.  
-  
-  
-__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.  
-  
-  
-__Miscellaneous__  
-  
-  
-__re-read-init-file (C-x C-r)__  
-  
-  
-Read in the contents of the ''inputrc'' file, and  
-incorporate any bindings or variable assignments found  
-there.  
-  
-  
-__abort (C-g)__  
-  
-  
-Abort the current editing command and ring the terminal's  
-bell (subject to the setting of  
-__bell-style__).  
-  
-  
-__do-uppercase-version (M-a, M-b, M-__''x''__,  
-...)__  
-  
-  
-If the metafied character ''x'' is lowercase, run the  
-command that is bound to the corresponding uppercase  
-character.  
-  
-  
-__prefix-meta (ESC)__  
-  
-  
-Metafy the next character typed. __ESC f__  
-is equivalent to __Meta-f__.  
-  
-  
-__undo (C-_, C-x C-u)__  
-  
-  
-Incremental undo, separately remembered for each  
-line.  
-  
-  
-__revert-line (M-r)__  
-  
-  
-Undo all changes made to this line. This is like executing  
-the __undo__ command enough times to return the line to  
-its initial state.  
-  
-  
-__tilde-expand (M-__  
-  
-  
-Perform tilde expansion on the current word.  
-  
-  
-__set-mark (C-@, M-__  
-  
-  
-Set the mark to the point. If a numeric argument is  
-supplied, the mark is set to that position.  
-  
-  
-__exchange-point-and-mark (C-x C-x)__  
-  
-  
-Swap the point with the mark. The current cursor position is  
-set to the saved position, and the old cursor position is  
-saved as the mark.  
-  
-  
-__character-search (C-])__  
-  
-  
-A character is read and point is moved to the next  
-occurrence of that character. A negative count searches for  
-previous occurrences.  
-  
-  
-__character-search-backward (M-C-])__  
-  
-  
-A character is read and point is moved to the previous  
-occurrence of that character. A negative count searches for  
-subsequent occurrences.  
-  
-  
-__insert-comment (M-#)__  
-  
-  
-The value of the readline __comment-begin__ variable is  
-inserted at the beginning of the current line, and the line  
-is accepted as if a newline had been typed. The default  
-value of __comment-begin__ causes this command to make  
-the current line a shell comment.  
-  
-  
-__glob-expand-word (C-x *)__  
-  
-  
-The word before point is treated as a pattern for pathname  
-expansion, and the list of matching file names is inserted,  
-replacing the word.  
-  
-  
-__glob-list-expansions (C-x g)__  
-  
-  
-The list of expansions that would have been generated by  
-__glob-expand-word__ is displayed, and the line is  
-redrawn.  
-  
-  
-__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 ''inputrc'' file.  
-  
-  
-__dump-variables__  
-  
-  
-Print all of the settable readline variables and their  
-values 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 ''inputrc'' file.  
-  
-  
-__dump-macros__  
-  
-  
-Print all of the readline key sequences bound to macros and  
-the strings they ouput. If a numeric argument is supplied,  
-the output is formatted in such a way that it can be made  
-part of an ''inputrc'' file.  
-  
-  
-__display-shell-version (C-x C-v)__  
-  
-  
-Display version information about the current instance of  
-__bash__.  
-  
-  
-__Programmable Completion__  
-  
-  
-When word completion is attempted for an argument to a  
-command for which a completion specification (a  
-''compspec'') has been defined using the __complete__  
-builtin (see __SHELL BUILTIN COMMANDS__  
-below), the programmable completion facilities are  
-invoked.  
-  
-  
-First, the command name is identified. If a compspec has  
-been defined for that command, the compspec is used to  
-generate the list of possible completions for the word. If  
-the command word is a full pathname, a compspec for the full  
-pathname is searched for first. If no compspec is found for  
-the full pathname, an attempt is made to find a compspec for  
-the portion following the final slash.  
-  
-  
-Once a compspec has been found, it is used to generate the  
-list of matching words. If a compspec is not found, the  
-default __bash__ completion as described above under  
-__Completing__ is performed.  
-  
-  
-First, the actions specified by the compspec are used. Only  
-matches which are prefixed by the word being completed are  
-returned. When the __-f__ or __-d__ option is used for  
-filename or directory name completion, the shell variable  
-__FIGNORE__ is used to filter the  
-matches.  
-  
-  
-Any completions specified by a filename expansion pattern to  
-the __-G__ option are generated next. The words generated  
-by the pattern need not match the word being completed. The  
-__GLOBIGNORE__ shell variable is not used  
-to filter the matches, but the __FIGNORE__  
-variable is used.  
-  
-  
-Next, the string specified as the argument to the __-W__  
-option is considered. The string is first split using the  
-characters in the __IFS__ special variable  
-as delimiters. Shell quoting is honored. Each word is then  
-expanded using brace expansion, tilde expansion, parameter  
-and variable expansion, command substitution, arithmetic  
-expansion, and pathname expansion, as described above under  
-__EXPANSION__. The results  
-are split using the rules described above under __Word  
-Splitting__. The results of the expansion are  
-prefix-matched against the word being completed, and the  
-matching words become the possible completions.  
-  
-  
-After these matches have been generated, any shell function  
-or command specified with the __-F__ and __-C__  
-options is invoked. When the command or function is invoked,  
-the __COMP_LINE__ and  
-__COMP_POINT__ variables are assigned  
-values as described above under __Shell Variables__. If a  
-shell function is being invoked, the  
-__COMP_WORDS__ and  
-__COMP_CWORD__ variables are also set.  
-When the function or command is invoked, the first argument  
-is the name of the command whose arguments are being  
-completed, the second argument is the word being completed,  
-and the third argument is the word preceding the word being  
-completed on the current command line. No filtering of the  
-generated completions against the word being completed is  
-performed; the function or command has complete freedom in  
-generating the matches.  
-  
-  
-Any function specified with __-F__ is invoked first. The  
-function may use any of the shell facilities, including the  
-__compgen__ builtin described below, to generate the  
-matches. It must put the possible completions in the  
-__COMPREPLY__ array variable.  
-  
-  
-Next, any command specified with the __-C__ option is  
-invoked in an environment equivalent to command  
-substitution. It should print a list of completions, one per  
-line, to the standard output. Backslash may be used to  
-escape a newline, if necessary.  
-  
-  
-After all of the possible completions are generated, any  
-filter specified with the __-X__ option is applied to the  
-list. The filter is a pattern as used for pathname  
-expansion; a ____ in the pattern is replaced with  
-the text of the word being completed. A literal ____  
-may be escaped with a backslash; the backslash is removed  
-before attempting a match. Any completion that matches the  
-pattern will be removed from the list. A leading __!__  
-negates the pattern; in this case any completion not  
-matching the pattern will be removed.  
-  
-  
-Finally, any prefix and suffix specified with the __-P__  
-and __-S__ options are added to each member of the  
-completion list, and the result is returned to the readline  
-completion code as the list of possible  
-completions.  
-  
-  
-If the previously-applied actions do not generate any  
-matches, and the __-o dirnames__ option was supplied to  
-__complete__ when the compspec was defined, directory  
-name completion is attempted.  
-  
-  
-By default, if a compspec is found, whatever it generates is  
-returned to the completion code as the full set of possible  
-completions. The default __bash__ completions are not  
-attempted, and the readline default of filename completion  
-is disabled. If the __-o default__ option was supplied to  
-__complete__ when the compspec was defined, readline's  
-default completion will be performed if the compspec  
-generates no matches.  
-!!HISTORY  
-  
-  
-When the __-o history__ option to the __set__ builtin  
-is enabled, the shell provides access to the ''command  
-history'', the list of commands previously typed. The  
-value of the __HISTSIZE__ variable is used as the number  
-of commands to save in a history list. The text of the last  
-__HISTSIZE__ commands (default 500) is  
-saved. The shell stores each command in the history list  
-prior to parameter and variable expansion (see  
-__EXPANSION__ above) but after history  
-expansion is performed, subject to the values of the shell  
-variables __HISTIGNORE__ and  
-__HISTCONTROL__.  
-  
-  
-On startup, the history is initialized from the file named  
-by the variable __HISTFILE__ (default  
-''~/.bash_history''). The file named by the value of  
-__HISTFILE__ is truncated, if necessary,  
-to contain no more than the number of lines specified by the  
-value of __HISTFILESIZE__.  
-When an interactive shell exits, the last  
-__$HISTSIZE__ lines are copied from the  
-history list to  
-__$HISTFILE__. If the  
-__histappend__ shell option is enabled (see the  
-description of __shopt__ under __SHELL BUILTIN  
-COMMANDS__ below), the lines are appended to the  
-history file, otherwise the history file is overwritten. If  
-__HISTFILE__ is unset, or if the history  
-file is unwritable, the history is not saved. After saving  
-the history, the history file is truncated to contain no  
-more than __HISTFILESIZE__ lines. If  
-__HISTFILESIZE__ is not set, no truncation  
-is performed.  
-  
-  
-The builtin command __fc__ (see __SHELL BUILTIN  
-COMMANDS__ below) may be used to list or edit and  
-re-execute a portion of the history list. The __history__  
-builtin may be used to display or modify the history list  
-and manipulate the history file. When using command-line  
-editing, search commands are available in each editing mode  
-that provide access to the history list.  
-  
-  
-The shell allows control over which commands are saved on  
-the history list. The __HISTCONTROL__ and  
-__HISTIGNORE__ variables may be set to  
-cause the shell to save only a subset of the commands  
-entered. The __cmdhist__ shell option, if enabled, causes  
-the shell to attempt to save each line of a multi-line  
-command in the same history entry, adding semicolons where  
-necessary to preserve syntactic correctness. The  
-__lithist__ shell option causes the shell to save the  
-command with embedded newlines instead of semicolons. See  
-the description of the __shopt__ builtin below under  
-__SHELL BUILTIN COMMANDS__ for information  
-on setting and unsetting shell options.  
-!!HISTORY EXPANSION  
-  
-  
-The shell supports a history expansion feature that is  
-similar to the history expansion in __csh.__ This section  
-describes what syntax features are available. This feature  
-is enabled by default for interactive shells, and can be  
-disabled using the __+H__ option to the __set__  
-builtin command (see __SHELL BUILTIN  
-COMMANDS__ below). Non-interactive shells do not  
-perform history expansion by default.  
-  
-  
-History expansions introduce words from the history list  
-into the input stream, making it easy to repeat commands,  
-insert the arguments to a previous command into the current  
-input line, or fix errors in previous commands  
-quickly.  
-  
-  
-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 history list to use during substitution. The  
-second is to select portions of that line for inclusion into  
-the current one. The line selected from the history is the  
-''event'', and the portions of that line that are acted  
-upon are ''words''. Various ''modifiers'' are  
-available to manipulate the selected words. The line is  
-broken into words in the same fashion as when reading input,  
-so that several ''metacharacter''-separated words  
-surrounded by quotes are considered one word. History  
-expansions are introduced by the appearance of the history  
-expansion character, which is __!__ by default. Only  
-backslash (__\__) and single quotes can quote the history  
-expansion character.  
-  
-  
-Several shell options settable with the __shopt__ builtin  
-may be used to tailor the behavior of history expansion. If  
-the __histverify__ shell option is enabled (see the  
-description of the __shopt__ builtin), and  
-__readline__ is being used, history substitutions are not  
-immediately passed to the shell parser. Instead, the  
-expanded line is reloaded into the __readline__ editing  
-buffer for further modification. If __readline__ is being  
-used, and the __histreedit__ shell option is enabled, a  
-failed history substitution will be reloaded into the  
-__readline__ editing buffer for correction. The __-p__  
-option to the __history__ builtin command may be used to  
-see what a history expansion will do before using it. The  
-__-s__ option to the __history__ builtin may be used  
-to add commands to the end of the history list without  
-actually executing them, so that they are available for  
-subsequent recall.  
-  
-  
-The shell allows control of the various characters used by  
-the history expansion mechanism (see the description of  
-__histchars__ above under __Shell  
-Variables__).  
-  
-  
-__Event Designators__  
-  
-  
-An event designator is a reference to a command line entry  
-in the history list.  
-  
-  
-__!__  
-  
-  
-Start a history substitution, except when followed by a  
-__blank__, newline, = or (.  
-  
-  
-__!__''n''  
-  
-  
-Refer to command line ''n''.  
-  
-  
-__!-__''n''  
-  
-  
-Refer to the current command line minus  
-''n''.  
-  
-  
-__!!__  
-  
-  
-Refer to the previous command. This is a synonym for  
-`!-1'.  
-  
-  
-__!__''string''  
-  
-  
-Refer to the most recent command starting with  
-''string''.  
-  
-  
-__!?__''string''__[[?]__  
-  
-  
-Refer to the most recent command containing ''string''.  
-The trailing __?__ may be omitted if ''string'' is  
-followed immediately by a newline.  
-  
-  
-__^__ ''string1'' __^__  
-''string2'' __^__  
-  
-  
-Quick substitution. Repeat the last command, replacing  
-''string1'' with ''string2''. Equivalent to  
-``!!:s/''string1''/''string2''/'' (see  
-__Modifiers__ below).  
-  
-  
-__!#__  
-  
-  
-The entire command line typed so far.  
-  
-  
-__Word Designators__  
-  
-  
-Word designators are used to select desired words from the  
-event. A __:__ separates the event specification from the  
-word designator. It may be omitted if the word designator  
-begins with a __^__, __$__, __*__, __-__, or  
-__%__. Words are numbered from the beginning of the line,  
-with the first word being denoted by 0 (zero). Words are  
-inserted into the current line separated by single  
-spaces.  
-  
-  
-__0 (zero)__  
-  
-  
-The zeroth word. For the shell, this is the command  
-word.  
-  
-  
-''n''  
-  
-  
-The ''n''th word.  
-  
-  
-__^__  
-  
-  
-The first argument. That is, word 1.  
-  
-  
-__$__  
-  
-  
-The last argument.  
-  
-  
-__%__  
-  
-  
-The word matched by the most recent `?''string''?'  
-search.  
-  
-  
-''x''__-__''y''  
-  
-  
-A range of words; `-''y''' abbreviates  
-`-''y'''.  
-  
-  
-__*__  
-  
-  
-All of the words but the zeroth. This is a synonym for  
-`''1-$'''. It is not an error to use __*__ if there is  
-just one word in the event; the empty string is returned in  
-that case.  
-  
-  
-__x*__  
-  
-  
-Abbreviates ''x-$''.  
-  
-  
-__x-__  
-  
-  
-Abbreviates ''x-$'' like __x*__, but omits the last  
-word.  
-  
-  
-If a word designator is supplied without an event  
-specification, the previous command is used as the  
-event.  
-  
-  
-__Modifiers__  
-  
-  
-After the optional word designator, there may appear a  
-sequence of one or more of the following modifiers, each  
-preceded by a `:'.  
-  
-  
-__h__  
-  
-  
-Remove a trailing file name component, leaving only the  
-head.  
-  
-  
-__t__  
-  
-  
-Remove all leading file name components, leaving the  
-tail.  
-  
-  
-__r__  
-  
-  
-Remove a trailing suffix of the form ''.xxx'', leaving  
-the basename.  
-  
-  
-__e__  
-  
-  
-Remove all but the trailing suffix.  
-  
-  
-__p__  
-  
-  
-Print the new command but do not execute it.  
-  
-  
-__q__  
-  
-  
-Quote the substituted words, escaping further  
-substitutions.  
-  
-  
-__x__  
-  
-  
-Quote the substituted words as with __q__, but break into  
-words at __blanks__ and newlines.  
-  
-  
-__s/__''old''__/__''new''__/__  
-  
-  
-Substitute ''new'' for the first occurrence of ''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 ''old''  
-and ''new'' with a single backslash. If  
-''new'', it is replaced by ''old''. A single backslash  
-will quote the ''old'' is null, it is set to  
-the last ''old'' substituted, or, if no previous history  
-substitutions took place, the last ''string'' in a  
-__!?__''string''__[[?]__ search.  
-  
-  
-____  
-  
-  
-Repeat the previous substitution.  
-  
-  
-__g__  
-  
-  
-Cause changes to be applied over the entire event line. This  
-is used in conjunction with `__:s__' (e.g.,  
-`__:gs/__''old''__/__''new''__/__') or  
-`__:__'. If used with `__:s__', any delimiter can  
-be used in place of /, and the final delimiter is optional  
-if it is the last character of the event line.  
-!!SHELL BUILTIN COMMANDS  
-  
-  
-Unless otherwise noted, each builtin command documented in  
-this section as accepting options preceded by __-__  
-accepts __--__ to signify the end of the  
-options.  
-  
-  
-__:__ [[''arguments'']  
-  
-  
-No effect; the command does nothing beyond expanding  
-''arguments'' and performing any specified redirections.  
-A zero exit code is returned.  
-  
-  
-__.__ ''filename'' [[''arguments'']  
-  
-  
-__source__ ''filename''  
-[[''arguments'']  
-  
-  
-Read and execute commands from ''filename'' in the  
-current shell environment and return the exit status of the  
-last command executed from ''filename''. If  
-''filename'' does not contain a slash, file names in  
-__PATH__ are used to find the directory  
-containing ''filename''. The file searched for in  
-__PATH__ need not be executable. When  
-__bash__ is not in ''posix mode'', the current  
-directory is searched if no file is found in  
-__PATH__. If the  
-__sourcepath__ option to the __shopt__ builtin command  
-is turned off, the __PATH__ is not  
-searched. If any ''arguments'' are supplied, they become  
-the positional parameters when ''filename'' 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 ''filename'' is not found or cannot be  
-read.  
-  
-  
-__alias__ [[__-p__] [[''name''[[=''value'']  
-...]  
-  
-  
-__Alias__ with no arguments or with the __-p__ option  
-prints the list of aliases in the form __alias__  
-''name''=''value'' on standard output. When arguments  
-are supplied, an alias is defined for each ''name'' whose  
-''value'' is given. A trailing space in ''value''  
-causes the next word to be checked for alias substitution  
-when the alias is expanded. For each ''name'' in the  
-argument list for which no ''value'' is supplied, the  
-name and value of the alias is printed. __Alias__ returns  
-true unless a ''name'' is given for which no alias has  
-been defined.  
-  
-  
-__bg__ [[''jobspec'']  
-  
-  
-Resume the suspended job ''jobspec'' in the background,  
-as if it had been started with ____. If  
-''jobspec'' is not present, the shell's notion of the  
-''current job'' is used. __bg__ ''jobspec'' returns  
-0 unless run when job control is disabled or, when run with  
-job control enabled, if ''jobspec'' was not found or  
-started without job control.  
-  
-  
-__bind__ [[__-m__ ''keymap'']  
-[[__-lpsvPSV__]  
-  
-  
-__bind__ [[__-m__ ''keymap''] [[__-q__  
-''function''] [[__-u__ ''function''] [[__-r__  
-''keyseq'']  
-  
-  
-__bind__ [[__-m__ ''keymap''] __-f__  
-''filename''  
-  
-  
-__bind__ [[__-m__ ''keymap''] __-x__  
-''keyseq'':''shell-command''  
-  
-  
-__bind__ [[__-m__ ''keymap'']  
-''keyseq'':''function-name''  
-  
-  
-Display current __readline__ key and function bindings,  
-or bind a key sequence to a __readline__ function or  
-macro. The binding syntax accepted is identical to that of  
-''.inputrc'', but each binding must be passed as a  
-separate argument; e.g., '  
-''  
-  
-  
-__-m__ ''keymap''  
-  
-  
-Use ''keymap'' as the keymap to be affected by the  
-subsequent bindings. Acceptable ''keymap'' names are  
-''emacs, emacs-standard, emacs-meta, emacs-ctlx, vi,  
-vi-move, vi-command'', and ''vi-insert''. ''vi'' is  
-equivalent to ''vi-command''; ''emacs'' is equivalent  
-to ''emacs-standard''.  
-  
-  
-__-l__  
-  
-  
-List the names of all __readline__  
-functions.  
-  
-  
-__-p__  
-  
-  
-Display __readline__ function names and bindings in such  
-a way that they can be re-read.  
-  
-  
-__-P__  
-  
-  
-List current __readline__ function names and  
-bindings.  
-  
-  
-__-v__  
-  
-  
-Display __readline__ variable names and values in such a  
-way that they can be re-read.  
-  
-  
-__-V__  
-  
-  
-List current __readline__ variable names and  
-values.  
-  
-  
-__-s__  
-  
-  
-Display __readline__ key sequences bound to macros and  
-the strings they output in such a way that they can be  
-re-read.  
-  
-  
-__-S__  
-  
-  
-Display __readline__ key sequences bound to macros and  
-the strings they output.  
-  
-  
-__-f__ ''filename''  
-  
-  
-Read key bindings from ''filename''.  
-  
-  
-__-q__ ''function''  
-  
-  
-Query about which keys invoke the named  
-''function''.  
-  
-  
-__-u__ ''function''  
-  
-  
-Unbind all keys bound to the named  
-''function''.  
-  
-  
-__-r__ ''keyseq''  
-  
-  
-Remove any current binding for ''keyseq''.  
-  
-  
-__-x__  
-''keyseq''__:__''shell-command''  
-  
-  
-Cause ''shell-command'' to be executed whenever  
-''keyseq'' is entered.  
-  
-  
-The return value is 0 unless an unrecognized option is given  
-or an error occurred.  
-  
-  
-__break__ [[''n'']  
-  
-  
-Exit from within a __for__, __while__, __until__,  
-or __select__ loop. If ''n'' is specified, break  
-''n'' levels. ''n'' must be 1. If ''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 __break__ is executed.  
-  
-  
-__builtin__ ''shell-builtin''  
-[[''arguments'']  
-  
-  
-Execute the specified shell builtin, passing it  
-''arguments'', and return its exit status. This is useful  
-when defining a function whose name is the same as a shell  
-builtin, retaining the functionality of the builtin within  
-the function. The __cd__ builtin is commonly redefined  
-this way. The return status is false if ''shell-builtin''  
-is not a shell builtin command.  
-  
-  
-__cd__ [[__-LP__] [[''dir'']  
-  
-  
-Change the current directory to ''dir''. The variable  
-__HOME__ is the default ''dir''. The  
-variable __CDPATH__ defines the search  
-path for the directory containing ''dir''. Alternative  
-directory names in __CDPATH__ are  
-separated by a colon (:). A null directory name in  
-__CDPATH__ is the same as the current  
-directory, i.e., ``__.__''. If ''dir'' begins with a  
-slash (/), then __CDPATH__ is not used.  
-The __-P__ option says to use the physical directory  
-structure instead of following symbolic links (see also the  
-__-P__ option to the __set__ builtin command); the  
-__-L__ option forces symbolic links to be followed. An  
-argument of __-__ is equivalent to  
-__$OLDPWD__. The return  
-value is true if the directory was successfully changed;  
-false otherwise.  
-  
-  
-__command__ [[__-pVv__] ''command'' [[''arg''  
-...]  
-  
-  
-Run ''command'' with ''args'' suppressing the normal  
-shell function lookup. Only builtin commands or commands  
-found in the __PATH__ are executed. If the  
-__-p__ option is given, the search for ''command'' is  
-performed using a default value for __PATH__ that is  
-guaranteed to find all of the standard utilities. If either  
-the __-V__ or __-v__ option is supplied, a description  
-of ''command'' is printed. The __-v__ option causes a  
-single word indicating the command or file name used to  
-invoke ''command'' to be displayed; the __-V__ option  
-produces a more verbose description. If the __-V__ or  
-__-v__ option is supplied, the exit status is 0 if  
-''command'' was found, and 1 if not. If neither option is  
-supplied and an error occurred or ''command'' cannot be  
-found, the exit status is 127. Otherwise, the exit status of  
-the __command__ builtin is the exit status of  
-''command''.  
-  
-  
-__compgen__ [[''option''] [[''word'']  
-  
-  
-Generate possible completion matches for ''word''  
-according to the ''option''s, which may be any option  
-accepted by the __complete__ builtin with the exception  
-of __-p__ and __-r__, and write the matches to the  
-standard output. When using the __-F__ or __-C__  
-options, the various shell variables set by the programmable  
-completion facilities, while available, will not have useful  
-values.  
-  
-  
-The matches will be generated in the same way as if the  
-programmable completion code had generated them directly  
-from a completion specification with the same flags. If  
-''word'' is specified, only those completions matching  
-''word'' will be displayed.  
-  
-  
-The return value is true unless an invalid option is  
-supplied, or no matches were generated.  
-  
-  
-__complete__ [[__-abcdefgjksvu__] [[__-o__  
-''comp-option''] [[__-A__ ''action''] [[__-G__  
-''globpat''] [[__-W__ ''wordlist''] [[__-P__  
-''prefix''] [[__-S__ ''suffix'']  
-  
-  
-[[__-X__ ''filterpat''] [[__-F__ ''function'']  
-[[__-C__ ''command''] ''name'' [[''name  
-...'']  
-  
-  
-__complete -pr__ [[''name'' ...]  
-  
-  
-Specify how arguments to each ''name'' should be  
-completed. If the __-p__ option is supplied, or if no  
-options are supplied, existing completion specifications are  
-printed in a way that allows them to be reused as input. The  
-__-r__ option removes a completion specification for each  
-''name'', or, if no ''name''s are supplied, all  
-completion specifications.  
-  
-  
-The process of applying these completion specifications when  
-word completion is attempted is described above under  
-__Programmable Completion__.  
-  
-  
-Other options, if specified, have the following meanings.  
-The arguments to the __-G__, __-W__, and __-X__  
-options (and, if necessary, the __-P__ and __-S__  
-options) should be quoted to protect them from expansion  
-before the __complete__ builtin is invoked.  
-  
-  
-__-o__ ''comp-option''  
-  
-  
-The ''comp-option'' controls several aspects of the  
-compspec's behavior beyond the simple generation of  
-completions. ''comp-option'' may be one of:  
-  
-  
-__default__  
-  
-  
-Use readline's default completion if the compspec generates  
-no matches.  
-  
-  
-__dirnames__  
-  
-  
-Perform directory name completion if the compspec generates  
-no matches.  
-  
-  
-__filenames__  
-  
-  
-Tell readline that the compspec generates filenames, so it  
-can perform any filename-specific processing (like adding a  
-slash to directory names or suppressing trailing spaces).  
-Intended to be used with shell functions.  
-  
-  
-__-A__ ''action''  
-  
-  
-The ''action'' may be one of the following to generate a  
-list of possible completions:  
-  
-  
-__alias__  
-  
-  
-Alias names. May also be specified as  
-__-a__.  
-  
-  
-__arrayvar__  
-  
-  
-Array variable names.  
-  
-  
-__binding__  
-  
-  
-__Readline__ key binding names.  
-  
-  
-__builtin__  
-  
-  
-Names of shell builtin commands. May also be specified as  
-__-b__.  
-  
-  
-__command__  
-  
-  
-Command names. May also be specified as  
-__-c__.  
-  
-  
-__directory__  
-  
-  
-Directory names. May also be specified as  
-__-d__.  
-  
-  
-__disabled__  
-  
-  
-Names of disabled shell builtins.  
-  
-  
-__enabled__  
-  
-  
-Names of enabled shell builtins.  
-  
-  
-__export__  
-  
-  
-Names of exported shell variables. May also be specified as  
-__-e__.  
-  
-  
-__file__  
-  
-  
-File names. May also be specified as __-f__.  
-  
-  
-__function__  
-  
-  
-Names of shell functions.  
-  
-  
-__group__  
-  
-  
-Group names. May also be specified as  
-__-g__.  
-  
-  
-__helptopic__  
-  
-  
-Help topics as accepted by the __help__  
-builtin.  
-  
-  
-__hostname__  
-  
-  
-Hostnames, as taken from the file specified by the  
-__HOSTFILE__ shell variable.  
-  
-  
-__job__  
-  
-  
-Job names, if job control is active. May also be specified  
-as __-j__.  
-  
-  
-__keyword__  
-  
-  
-Shell reserved words. May also be specified as  
-__-k__.  
-  
-  
-__running__  
-  
-  
-Names of running jobs, if job control is  
-active.  
-  
-  
-__service__  
-  
-  
-Service names. May also be specified as  
-__-s__.  
-  
-  
-__setopt__  
-  
-  
-Valid arguments for the __-o__ option to the __set__  
-builtin.  
-  
-  
-__shopt__  
-  
-  
-Shell option names as accepted by the __shopt__  
-builtin.  
-  
-  
-__signal__  
-  
-  
-Signal names.  
-  
-  
-__stopped__  
-  
-  
-Names of stopped jobs, if job control is  
-active.  
-  
-  
-__user__  
-  
-  
-User names. May also be specified as __-u__.  
-  
-  
-__variable__  
-  
-  
-Names of all shell variables. May also be specified as  
-__-v__.  
-  
-  
-__-G__ ''globpat''  
-  
-  
-The filename expansion pattern ''globpat'' is expanded to  
-generate the possible completions.  
-  
-  
-__-W__ ''wordlist''  
-  
-  
-The ''wordlist'' is split using the characters in the  
-__IFS__ special variable as delimiters,  
-and each resultant word is expanded. The possible  
-completions are the members of the resultant list which  
-match the word being completed.  
-  
-  
-__-C__ ''command''  
-  
-  
-''command'' is executed in a subshell environment, and  
-its output is used as the possible completions.  
-  
-  
-__-F__ ''function''  
-  
-  
-The shell function ''function'' is executed in the  
-current shell environment. When it finishes, the possible  
-completions are retrieved from the value of the  
-__COMPREPLY__ array variable.  
-  
-  
-__-X__ ''filterpat''  
-  
-  
-''filterpat'' is a pattern as used for filename  
-expansion. It is applied to the list of possible completions  
-generated by the preceding options and arguments, and each  
-completion matching ''filterpat'' is removed from the  
-list. A leading __!__ in ''filterpat'' negates the  
-pattern; in this case, any completion not matching  
-''filterpat'' is removed.  
-  
-  
-__-P__ ''prefix''  
-  
-  
-''prefix'' is added at the beginning of each possible  
-completion after all other options have been  
-applied.  
-  
-  
-__-S__ ''suffix''  
-  
-  
-''suffix'' is appended to each possible completion after  
-all other options have been applied.  
-  
-  
-The return value is true unless an invalid option is  
-supplied, an option other than __-p__ or __-r__ is  
-supplied without a ''name'' argument, an attempt is made  
-to remove a completion specification for a ''name'' for  
-which no specification exists, or an error occurs adding a  
-completion specification.  
-  
-  
-__continue__ [[''n'']  
-  
-  
-Resume the next iteration of the enclosing __for__,  
-__while__, __until__, or __select__ loop. If  
-''n'' is specified, resume at the ''n''th enclosing  
-loop. ''n'' must be 1. If ''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 __continue__ is  
-executed.  
-  
-  
-__declare__ [[__-afFirx__] [[__-p__]  
-[[''name''[[=''value'']]  
-  
-  
-__typeset__ [[__-afFirx__] [[__-p__]  
-[[''name''[[=''value'']]  
-  
-  
-Declare variables and/or give them attributes. If no  
-''name''s are given then display the values of variables.  
-The __-p__ option will display the attributes and values  
-of each ''name''. When __-p__ is used, additional  
-options are ignored. The __-F__ option inhibits the  
-display of function definitions; only the function name and  
-attributes are printed. The __-F__ option implies  
-__-f__. The following options can be used to restrict  
-output to variables with the specified attribute or to give  
-variables attributes:  
-  
-  
-__-a__  
-  
-  
-Each ''name'' is an array variable (see __Arrays__  
-above).  
-  
-  
-__-f__  
-  
-  
-Use function names only.  
-  
-  
-__-i__  
-  
-  
-The variable is treated as an integer; arithmetic evaluation  
-(see __ARITHMETIC EVALUATION )__ is  
-performed when the variable is assigned a  
-value.  
-  
-  
-__-r__  
-  
-  
-Make ''name''s readonly. These names cannot then be  
-assigned values by subsequent assignment statements or  
-unset.  
-  
-  
-__-x__  
-  
-  
-Mark ''name''s for export to subsequent commands via the  
-environment.  
-  
-  
-Using `+' instead of `-' turns off the attribute instead,  
-with the exception that __+a__ may not be used to destroy  
-an array variable. When used in a function, makes each  
-''name'' local, as with the __local__ command. The  
-return value is 0 unless an invalid option is encountered,  
-an attempt is made to define a function using -f  
-foo=bar, an attempt is made to assign a value to a  
-readonly variable, an attempt is made to assign a value to  
-an array variable without using the compound assignment  
-syntax (see __Arrays__ above), one of the ''names'' is  
-not a valid shell variable name, an attempt is made to turn  
-off readonly status for a readonly variable, an attempt is  
-made to turn off array status for an array variable, or an  
-attempt is made to display a non-existent function with  
-__-f__.  
-  
-  
-__dirs [[-clpv] [[+__''n''__]  
-[[-__''n''__]__  
-  
-  
-Without options, displays the list of currently remembered  
-directories. The default display is on a single line with  
-directory names separated by spaces. Directories are added  
-to the list with the __pushd__ command; the __popd__  
-command removes entries from the list.  
-  
-  
-__+__''n''  
-  
-  
-Displays the ''n''th entry counting from the left of the  
-list shown by __dirs__ when invoked without options,  
-starting with zero.  
-  
-  
-__-__''n''  
-  
-  
-Displays the ''n''th entry counting from the right of the  
-list shown by __dirs__ when invoked without options,  
-starting with zero.  
-  
-  
-__-c__  
-  
-  
-Clears the directory stack by deleting all of the  
-entries.  
-  
-  
-__-l__  
-  
-  
-Produces a longer listing; the default listing format uses a  
-tilde to denote the home directory.  
-  
-  
-__-p__  
-  
-  
-Print the directory stack with one entry per  
-line.  
-  
-  
-__-v__  
-  
-  
-Print the directory stack with one entry per line, prefixing  
-each entry with its index in the stack.  
-  
-  
-The return value is 0 unless an invalid option is supplied  
-or ''n'' indexes beyond the end of the directory  
-stack.  
-  
-  
-__disown__ [[__-ar__] [[__-h__] [[''jobspec''  
-...]  
-  
-  
-Without options, each ''jobspec'' is removed from the  
-table of active jobs. If the __-h__ option is given, each  
-''jobspec'' is not removed from the table, but is marked  
-so that __SIGHUP__ is not sent to the job  
-if the shell receives a  
-__SIGHUP__. If no  
-''jobspec'' is present, and neither the __-a__ nor the  
-__-r__ option is supplied, the ''current job'' is  
-used. If no ''jobspec'' is supplied, the __-a__ option  
-means to remove or mark all jobs; the __-r__ option  
-without a ''jobspec'' argument restricts operation to  
-running jobs. The return value is 0 unless a ''jobspec''  
-does not specify a valid job.  
-  
-  
-__echo__ [[__-neE__] [[''arg'' ...]  
-  
-  
-Output the ''arg''s, separated by spaces, followed by a  
-newline. The return status is always . If __-n__ is  
-specified, the trailing newline is suppressed. If the  
-__-e__ option is given, interpretation of the following  
-backslash-escaped characters is enabled. The __-E__  
-option disables the interpretation of these escape  
-characters, even on systems where they are interpreted by  
-default. The __xpg_echo__ shell option may be used to  
-dynamically determine whether or not __echo__ expands  
-these escape characters by default. __echo__ does not  
-interpret __--__ to mean the end of options. __echo__  
-interprets the following escape sequences:  
-  
-  
-__a__  
-  
-  
-alert (bell)  
-  
-  
-__b__  
-  
-  
-backspace  
-  
-  
-__c__  
-  
-  
-suppress trailing newline  
-  
-  
-__e__  
-  
-  
-an escape character  
-  
-  
-__f__  
-  
-  
-form feed  
-  
-  
-__n__  
-  
-  
-new line  
-  
-  
-__r__  
-  
-  
-carriage return  
-  
-  
-__t__  
-  
-  
-horizontal tab  
-  
-  
-__v__  
-  
-  
-vertical tab  
-  
-  
-__\__  
-  
-  
-backslash  
-  
-  
-__\__''nnn''  
-  
-  
-the eight-bit character whose value is the octal value  
-''nnn'' (one to three digits)  
-  
-  
-__x__''HH''  
-  
-  
-the eight-bit character whose value is the hexadecimal value  
-''HH'' (one or two hex digits)  
-  
-  
-__enable__ [[__-adnps__] [[__-f__ ''filename'']  
-[[''name'' ...]  
-  
-  
-Enable and disable builtin shell commands. Disabling a  
-builtin allows a disk command which has the same name as a  
-shell builtin to be executed without specifying a full  
-pathname, even though the shell normally searches for  
-builtins before disk commands. If __-n__ is used, each  
-''name'' is disabled; otherwise, ''names'' are  
-enabled. For example, to use the __test__ binary found  
-via the __PATH__ instead of the shell  
-builtin version, run enable -n test. The __-f__  
-option means to load the new builtin command ''name''  
-from shared object ''filename'', on systems that support  
-dynamic loading. The __-d__ option will delete a builtin  
-previously loaded with __-f__. If no ''name''  
-arguments are given, or if the __-p__ option is supplied,  
-a list of shell builtins is printed. With no other option  
-arguments, the list consists of all enabled shell builtins.  
-If __-n__ is supplied, only disabled builtins are  
-printed. If __-a__ is supplied, the list printed includes  
-all builtins, with an indication of whether or not each is  
-enabled. If __-s__ is supplied, the output is restricted  
-to the POSIX ''special'' builtins. The return value is  
-unless a ''name'' is not a shell builtin or there is an  
-error loading a new builtin from a shared  
-object.  
-  
-  
-__eval__ [[''arg'' ...]  
-  
-  
-The ''arg''s 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  
-__eval__. If there are no ''args'', or only null  
-arguments, __eval__ returns .  
-  
-  
-__exec__ [[__-cl__] [[__-a__ ''name'']  
-[[''command'' [[''arguments'']]  
-  
-  
-If ''command'' is specified, it replaces the shell. No  
-new process is created. The ''arguments'' become the  
-arguments to ''command''. If the __-l__ option is  
-supplied, the shell places a dash at the beginning of the  
-zeroth arg passed to ''command''. This is what  
-login(1) does. The __-c__ option causes  
-''command'' to be executed with an empty environment. If  
-__-a__ is supplied, the shell passes ''name'' as the  
-zeroth argument to the executed command. If ''command''  
-cannot be executed for some reason, a non-interactive shell  
-exits, unless the shell option __execfail__ is enabled,  
-in which case it returns failure. An interactive shell  
-returns failure if the file cannot be executed. If  
-''command'' is not specified, any redirections take  
-effect in the current shell, and the return status is . If  
-there is a redirection error, the return status is  
-1.  
-  
-  
-__exit__ [[''n'']  
-  
-  
-Cause the shell to exit with a status of ''n''. If  
-''n'' is omitted, the exit status is that of the last  
-command executed. A trap on __EXIT__ is  
-executed before the shell terminates.  
-  
-  
-__export__ [[__-fn__] [[''name''[[=''word'']]  
-...  
-  
-  
-__export -p__  
-  
-  
-The supplied ''names'' are marked for automatic export to  
-the environment of subsequently executed commands. If the  
-__-f__ option is given, the ''names'' refer to  
-functions. If no ''names'' are given, or if the __-p__  
-option is supplied, a list of all names that are exported in  
-this shell is printed. The __-n__ option causes the  
-export property to be removed from the named variables.  
-__export__ returns an exit status of 0 unless an invalid  
-option is encountered, one of the ''names'' is not a  
-valid shell variable name, or __-f__ is supplied with a  
-''name'' that is not a function.  
-  
-  
-__fc__ [[__-e__ ''ename''] [[__-nlr__]  
-[[''first''] [[''last'']  
-  
-  
-__fc -s__ [[''pat''=''rep'']  
-[[''cmd'']  
-  
-  
-Fix Command. In the first form, a range of commands from  
-''first'' to ''last'' is selected from the history  
-list. ''First'' and ''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 ''last'' is not specified it  
-is set to the current command for listing (so that fc -l  
--10 prints the last 10 commands) and to ''first''  
-otherwise. If ''first'' is not specified it is set to the  
-previous command for editing and -16 for  
-listing.  
-  
-  
-The __-n__ option suppresses the command numbers when  
-listing. The __-r__ option reverses the order of the  
-commands. If the __-l__ option is given, the commands are  
-listed on standard output. Otherwise, the editor given by  
-''ename'' is invoked on a file containing those commands.  
-If ''ename'' is not given, the value of the  
-__FCEDIT__ variable is used, and the value  
-of __EDITOR__ if  
-__FCEDIT__ is not set. If neither variable  
-is set, ''vi'' is used. When editing is complete, the  
-edited commands are echoed and executed.  
-  
-  
-In the second form, ''command'' is re-executed after each  
-instance of ''pat'' is replaced by ''rep''. 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.  
-  
-  
-If the first form is used, the return value is 0 unless an  
-invalid option is encountered or ''first'' or ''last''  
-specify history lines out of range. If the __-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  
-''cmd'' does not specify a valid history line, in which  
-case __fc__ returns failure.  
-  
-  
-__fg__ [[''jobspec'']  
-  
-  
-Resume ''jobspec'' in the foreground, and make it the  
-current job. If ''jobspec'' is not present, the shell's  
-notion of the ''current job'' 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 ''jobspec'' does not specify  
-a valid job or ''jobspec'' specifies a job that was  
-started without job control.  
-  
-  
-__getopts__ ''optstring name''  
-[[''args'']  
-  
-  
-__getopts__ is used by shell procedures to parse  
-positional parameters. ''optstring'' contains the option  
-characters to be recognized; if a character is followed by a  
-colon, the option is expected to have an argument, which  
-should be separated from it by white space. The colon and  
-question mark characters may not be used as option  
-characters. Each time it is invoked, __getopts__ places  
-the next option in the shell variable ''name'',  
-initializing ''name'' if it does not exist, and the index  
-of the next argument to be processed into the variable  
-__OPTIND__. __OPTIND__  
-is initialized to 1 each time the shell or a shell script is  
-invoked. When an option requires an argument, __getopts__  
-places that argument into the variable  
-__OPTARG__. The shell does  
-not reset __OPTIND__ automatically; it  
-must be manually reset between multiple calls to  
-__getopts__ within the same shell invocation if a new set  
-of parameters is to be used.  
-  
-  
-When the end of options is encountered, __getopts__ exits  
-with a return value greater than zero. __OPTIND__ is set  
-to the index of the first non-option argument, and  
-__name__ is set to ?.  
-  
-  
-__getopts__ normally parses the positional parameters,  
-but if more arguments are given in ''args'',  
-__getopts__ parses those instead.  
-  
-  
-__getopts__ can report errors in two ways. If the first  
-character of ''optstring'' is a colon, ''silent''  
-error reporting is used. In normal operation diagnostic  
-messages are printed when invalid options or missing option  
-arguments are encountered. If the variable  
-__OPTERR__ is set to , no error messages  
-will be displayed, even if the first character of  
-''optstring'' is not a colon.  
-  
-  
-If an invalid option is seen, __getopts__ places ? into  
-''name'' and, if not silent, prints an error message and  
-unsets __OPTARG__. If  
-__getopts__ is silent, the option character found is  
-placed in __OPTARG__ and no diagnostic  
-message is printed.  
-  
-  
-If a required argument is not found, and __getopts__ is  
-not silent, a question mark (__?__) is placed in  
-''name'', __OPTARG__ is unset, and a  
-diagnostic message is printed. If __getopts__ is silent,  
-then a colon (__:__) is placed in ''name'' and  
-__OPTARG__ is set to the option character  
-found.  
-  
-  
-__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.  
-  
-  
-__hash__ [[__-r__] [[__-p__ ''filename'']  
-[[__-t__] [[''name'']  
-  
-  
-For each ''name'', the full file name of the command is  
-determined by searching the directories in __$PATH__ and  
-remembered. If the __-p__ option is supplied, no path  
-search is performed, and ''filename'' is used as the full  
-file name of the command. The __-r__ option causes the  
-shell to forget all remembered locations. If the __-t__  
-option is supplied, the full pathname to which each  
-''name'' corresponds is printed. If multiple ''name''  
-arguments are supplied with __-t__, the ''name'' is  
-printed before the hashed full pathname. If no arguments are  
-given, information about remembered commands is printed. The  
-return status is true unless a ''name'' is not found or  
-an invalid option is supplied.  
-  
-  
-__help__ [[__-s__] [[''pattern'']  
-  
-  
-Display helpful information about builtin commands. If  
-''pattern'' is specified, __help__ gives detailed help  
-on all commands matching ''pattern''; otherwise help for  
-all the builtins and shell control structures is printed.  
-The __-s__ option restricts the information displayed to  
-a short usage synopsis. The return status is 0 unless no  
-command matches ''pattern''.  
-  
-  
-__history [[__''n''__]__  
-  
-  
-__history -c__  
-  
-  
-__history -d__ ''offset''  
-  
-  
-__history -anrw__ [[''filename'']  
-  
-  
-__history -p__ ''arg'' [[''arg ...'']  
-  
-  
-__history -s__ ''arg'' [[''arg ...'']  
-  
-  
-With no options, display the command history list with line  
-numbers. Lines listed with a __*__ have been modified. An  
-argument of ''n'' lists only the last ''n'' lines. If  
-''filename'' is supplied, it is used as the name of the  
-history file; if not, the value of  
-__HISTFILE__ is used. Options, if  
-supplied, have the following meanings:  
-  
-  
-__-c__  
-  
-  
-Clear the history list by deleting all the  
-entries.  
-  
-  
-__-d__ ''offset''  
-  
-  
-Delete the history entry at position  
-''offset''.  
-  
-  
-__-a__  
-  
-  
-Append the ``new'' history lines (history lines entered  
-since the beginning of the current __bash__ session) to  
-the history file.  
-  
-  
-__-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  
-__bash__ session.  
-  
-  
-__-r__  
-  
-  
-Read the contents of the history file and use them as the  
-current history.  
-  
-  
-__-w__  
-  
-  
-Write the current history to the history file, overwriting  
-the history file's contents.  
-  
-  
-__-p__  
-  
-  
-Perform history substitution on the following ''args''  
-and display the result on the standard output. Does not  
-store the results in the history list. Each ''arg'' must  
-be quoted to disable normal history expansion.  
-  
-  
-__-s__  
-  
-  
-Store the ''args'' in the history list as a single entry.  
-The last command in the history list is removed before the  
-''args'' are added.  
-  
-  
-The return value is 0 unless an invalid option is  
-encountered, an error occurs while reading or writing the  
-history file, an invalid ''offset'' is supplied as an  
-argument to __-d__, or the history expansion supplied as  
-an argument to __-p__ fails.  
-  
-  
-__jobs__ [[__-lnprs__] [[ ''jobspec'' ...  
-]  
-  
-  
-__jobs -x__ ''command'' [[ ''args'' ...  
-]  
-  
-  
-The first form lists the active jobs. The options have the  
-following meanings:  
-  
-  
-__-l__  
-  
-  
-List process IDs in addition to the normal  
-information.  
-  
-  
-__-p__  
-  
-  
-List only the process ID of the job's process group  
-leader.  
-  
-  
-__-n__  
-  
-  
-Display information only about jobs that have changed status  
-since the user was last notified of their  
-status.  
-  
-  
-__-r__  
-  
-  
-Restrict output to running jobs.  
-  
-  
-__-s__  
-  
-  
-Restrict output to stopped jobs.  
-  
-  
-If ''jobspec'' is given, output is restricted to  
-information about that job. The return status is 0 unless an  
-invalid option is encountered or an invalid ''jobspec''  
-is supplied.  
-  
-  
-If the __-x__ option is supplied, __jobs__ replaces  
-any ''jobspec'' found in ''command'' or ''args''  
-with the corresponding process group ID, and executes  
-''command'' passing it ''args'', returning its exit  
-status.  
-  
-  
-__kill__ [[__-s__ ''sigspec'' | __-n__  
-''signum'' | __-__''sigspec''] [[''pid'' |  
-''jobspec''] ...  
-  
-  
-__kill -l__ [[''sigspec'' |  
-''exit_status'']  
-  
-  
-Send the signal named by ''sigspec'' or ''signum'' to  
-the processes named by ''pid'' or ''jobspec''.  
-''sigspec'' is either a signal name such as  
-__SIGKILL__ or a signal number;  
-''signum'' is a signal number. If ''sigspec'' is a  
-signal name, the name may be given with or without the  
-__SIG__ prefix. If ''sigspec'' is not  
-present, then __SIGTERM__ is assumed. An  
-argument of __-l__ lists the signal names. If any  
-arguments are supplied when __-l__ is given, the names of  
-the signals corresponding to the arguments are listed, and  
-the return status is . The ''exit_status'' argument to  
-__-l__ is a number specifying either a signal number or  
-the exit status of a process terminated by a signal.  
-__kill__ returns true if at least one signal was  
-successfully sent, or false if an error occurs or an invalid  
-option is encountered.  
-  
-  
-__let__ ''arg'' [[''arg'' ...]  
-  
-  
-Each ''arg'' is an arithmetic expression to be evaluated  
-(see __ARITHMETIC  
-EVALUATION__). If the last  
-''arg'' evaluates to , __let__ returns 1; 0 is  
-returned otherwise.  
-  
-  
-__local__ [[''option''] [[''name''[[=''value'']  
-...]  
-  
-  
-For each argument, a local variable named ''name'' is  
-created, and assigned ''value''. The ''option'' can be  
-any of the options accepted by __declare__. When  
-__local__ is used within a function, it causes the  
-variable ''name'' to have a visible scope restricted to  
-that function and its children. With no operands,  
-__local__ writes a list of local variables to the  
-standard output. It is an error to use __local__ when not  
-within a function. The return status is 0 unless  
-__local__ is used outside a function, an invalid  
-''name'' is supplied, or ''name'' is a readonly  
-variable.  
-  
-  
-__logout__  
-  
-  
-Exit a login shell.  
-  
-  
-__popd__ [[-__n__] [[+''n''] [[-''n'']  
-  
-  
-Removes entries from the directory stack. With no arguments,  
-removes the top directory from the stack, and performs a  
-__cd__ to the new top directory. Arguments, if supplied,  
-have the following meanings:  
-  
-  
-__+__''n''  
-  
-  
-Removes the ''n''th entry counting from the left of the  
-list shown by __dirs__, starting with zero. For example:  
-popd +0 removes the first directory, popd  
-+1 the second.  
-  
-  
-__-__''n''  
-  
-  
-Removes the ''n''th entry counting from the right of the  
-list shown by __dirs__, starting with zero. For example:  
-popd -0 removes the last directory, popd  
--1 the next to last.  
-  
-  
-__-n__  
-  
-  
-Suppresses the normal change of directory when removing  
-directories from the stack, so that only the stack is  
-manipulated.  
-  
-  
-If the __popd__ command is successful, a __dirs__ is  
-performed as well, and the return status is . __popd__  
-returns false if an invalid option is encountered, the  
-directory stack is empty, a non-existent directory stack  
-entry is specified, or the directory change  
-fails.  
-  
-  
-__printf__ ''format'' [[''arguments'']  
-  
-  
-Write the formatted ''arguments'' to the standard output  
-under the control of the ''format''. The ''format'' is  
-a character string which contains three types of objects:  
-plain characters, which are simply copied to standard  
-output, character escape sequences, which are converted and  
-copied to the standard output, and format specifications,  
-each of which causes printing of the next successive  
-''argument''. In addition to the standard  
-printf(1) formats, __%b__ causes __printf__ to  
-expand backslash escape sequences in the corresponding  
-''argument'', and __%q__ causes __printf__ to  
-output the corresponding ''argument'' in a format that  
-can be reused as shell input.  
-  
-  
-The ''format'' is reused as necessary to consume all of  
-the ''arguments''. If the ''format'' requires more  
-''arguments'' than are supplied, the extra format  
-specifications behave as if a zero value or null string, as  
-appropriate, had been supplied. The return value is zero on  
-success, non-zero on failure.  
-  
-  
-__pushd__ [[__-n__] [[''dir'']  
-  
-  
-__pushd__ [[__-n__] [[+''n'']  
-[[-''n'']  
-  
-  
-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 , unless the directory  
-stack is empty. Arguments, if supplied, have the following  
-meanings:  
-  
-  
-__+__''n''  
-  
-  
-Rotates the stack so that the ''n''th directory (counting  
-from the left of the list shown by __dirs__, starting  
-with zero) is at the top.  
-  
-  
-__-__''n''  
-  
-  
-Rotates the stack so that the ''n''th directory (counting  
-from the right of the list shown by __dirs__, starting  
-with zero) is at the top.  
-  
-  
-__-n__  
-  
-  
-Suppresses the normal change of directory when adding  
-directories to the stack, so that only the stack is  
-manipulated.  
-  
-  
-''dir''  
-  
-  
-Adds ''dir'' to the directory stack at the top, making it  
-the new current working directory.  
-  
-  
-If the __pushd__ command is successful, a __dirs__ is  
-performed as well. If the first form is used, __pushd__  
-returns 0 unless the cd to ''dir'' fails. With the second  
-form, __pushd__ returns 0 unless the directory stack is  
-empty, a non-existent directory stack element is specified,  
-or the directory change to the specified new current  
-directory fails.  
-  
-  
-__pwd__ [[__-LP__]  
-  
-  
-Print the absolute pathname of the current working  
-directory. The pathname printed contains no symbolic links  
-if the __-P__ option is supplied or the __-o  
-physical__ option to the __set__ builtin command is  
-enabled. If the __-L__ option is used, the pathname  
-printed may contain symbolic links. The return status is  
-unless an error occurs while reading the name of the current  
-directory or an invalid option is supplied.  
-  
-  
-__read__ [[__-ers__] [[__-t__ ''timeout'']  
-[[__-a__ ''aname''] [[__-p__ ''prompt'']  
-[[__-n__ ''nchars''] [[__-d__ ''delim'']  
-[[''name'' ...]  
-  
-  
-One line is read from the standard input, and the first word  
-is assigned to the first ''name'', the second word to the  
-second ''name'', and so on, with leftover words and their  
-intervening separators assigned to the last ''name''. If  
-there are fewer words read from the standard input than  
-names, the remaining names are assigned empty values. The  
-characters in __IFS__ are used to split  
-the line into words. The backslash character (__\__) may  
-be used to remove any special meaning for the next character  
-read and for line continuation. Options, if supplied, have  
-the following meanings:  
-  
-  
-__-a__ ''aname''  
-  
-  
-The words are assigned to sequential indices of the array  
-variable ''aname'', starting at . ''aname'' is unset  
-before any new values are assigned. Other ''name''  
-arguments are ignored.  
-  
-  
-__-d__ ''delim''  
-  
-  
-The first character of ''delim'' is used to terminate the  
-input line, rather than newline.  
-  
-  
-__-e__  
-  
-  
-If the standard input is coming from a terminal,  
-__readline__ (see __READLINE__ above)  
-is used to obtain the line.  
-  
-  
-__-n__ ''nchars''  
-  
-  
-__read__ returns after reading ''nchars'' characters  
-rather than waiting for a complete line of  
-input.  
-  
-  
-__-p__ ''prompt''  
-  
-  
-Display ''prompt'' on standard error, without a trailing  
-newline, before attempting to read any input. The prompt is  
-displayed only if input is coming from a  
-terminal.  
-  
-  
-__-r__  
-  
-  
-Backslash does not act as an escape character. The backslash  
-is considered to be part of the line. In particular, a  
-backslash-newline pair may not be used as a line  
-continuation.  
-  
-  
-__-s__  
-  
-  
-Silent mode. If input is coming from a terminal, characters  
-are not echoed.  
-  
-  
-__-t__ ''timeout''  
-  
-  
-Cause __read__ to time out and return failure if a  
-complete line of input is not read within ''timeout''  
-seconds. This option has no effect if __read__ is not  
-reading input from the terminal or a pipe.  
-  
-  
-If no ''names'' are supplied, the line read is assigned  
-to the variable __REPLY__.  
-The return code is zero, unless end-of-file is encountered  
-or __read__ times out.  
-  
-  
-__readonly__ [[__-apf__] [[''name'' ...]  
-  
-  
-The given ''names'' are marked readonly; the values of  
-these ''names'' may not be changed by subsequent  
-assignment. If the __-f__ option is supplied, the  
-functions corresponding to the ''names'' are so marked.  
-The __-a__ option restricts the variables to arrays. If  
-no ''name'' arguments are given, or if the __-p__  
-option is supplied, a list of all readonly names is printed.  
-The __-p__ option causes output to be displayed in a  
-format that may be reused as input. The return status is  
-unless an invalid option is encountered, one of the  
-''names'' is not a valid shell variable name, or  
-__-f__ is supplied with a ''name'' that is not a  
-function.  
-  
-  
-__return__ [[''n'']  
-  
-  
-Causes a function to exit with the return value specified by  
-''n''. If ''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  
-__.__ (__source__) command, it causes the shell to  
-stop executing that script and return either ''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 __.__, the return  
-status is false.  
-  
-  
-__set__ [[__--abefhkmnptuvxBCHP__] [[__-o__  
-''option''] [[''arg'' ...]  
-  
-  
-Without options, the name and value of each shell variable  
-are displayed in a format that can be reused as input. The  
-output is sorted according to the current locale. When  
-options are specified, they set or unset shell attributes.  
-Any arguments remaining after the options are processed are  
-treated as values for the positional parameters and are  
-assigned, in order, to __$1__, __$2__, __...  
-$__''n''. Options, if specified, have the following  
-meanings:  
-  
-  
-__-a__  
-  
-  
-Automatically mark variables and functions which are  
-modified or created for export to the environment of  
-subsequent commands.  
-  
-  
-__-b__  
-  
-  
-Report the status of terminated background jobs immediately,  
-rather than before the next primary prompt. This is  
-effective only when job control is enabled.  
-  
-  
-__-e__  
-  
-  
-Exit immediately if a ''simple command'' (see  
-__SHELL GRAMMAR__ above) exits with a  
-non-zero status. The shell does not exit if the command that  
-fails is part of an ''until'' or ''while'' loop, part  
-of an ''if'' statement, part of a ____ or  
-list, or if the command's return value is being inverted via  
-__!__. A trap on __ERR__, if set, is executed before  
-the shell exits.  
-  
-  
-__-f__  
-  
-  
-Disable pathname expansion.  
-  
-  
-__-h__  
-  
-  
-Remember the location of commands as they are looked up for  
-execution. This is enabled by default.  
-  
-  
-__-k__  
-  
-  
-All arguments in the form of assignment statements are  
-placed in the environment for a command, not just those that  
-precede the command name.  
-  
-  
-__-m__  
-  
-  
-Monitor mode. Job control is enabled. This option is on by  
-default for interactive shells on systems that support it  
-(see __JOB CONTROL__ above). Background  
-processes run in a separate process group and a line  
-containing their exit status is printed upon their  
-completion.  
-  
-  
-__-n__  
-  
-  
-Read commands but do not execute them. This may be used to  
-check a shell script for syntax errors. This is ignored by  
-interactive shells.  
-  
-  
-__-o__ ''option-name''  
-  
-  
-The ''option-name'' can be one of the  
-following:  
-  
-  
-__allexport__  
-  
-  
-Same as __-a__.  
-  
-  
-__braceexpand__  
-  
-  
-Same as __-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 __--noediting__  
-option.  
-  
-  
-__errexit__  
-  
-  
-Same as __-e__.  
-  
-  
-__hashall__  
-  
-  
-Same as __-h__.  
-  
-  
-__histexpand__  
-  
-  
-Same as __-H__.  
-  
-  
-__history__  
-  
-  
-Enable command history, as described above under  
-__HISTORY__. This option is  
-on by default in interactive shells.  
-  
-  
-__ignoreeof__  
-  
-  
-The effect is as if the shell command IGNOREEOF=10  
-had been executed (see __Shell Variables__  
-above).  
-  
-  
-__keyword__  
-  
-  
-Same as __-k__.  
-  
-  
-__monitor__  
-  
-  
-Same as __-m__.  
-  
-  
-__noclobber__  
-  
-  
-Same as __-C__.  
-  
-  
-__noexec__  
-  
-  
-Same as __-n__.  
-  
-  
-__noglob__  
-  
-  
-Same as __-f__. __nolog__ Currently  
-ignored.  
-  
-  
-__notify__  
-  
-  
-Same as __-b__.  
-  
-  
-__nounset__  
-  
-  
-Same as __-u__.  
-  
-  
-__onecmd__  
-  
-  
-Same as __-t__.  
-  
-  
-__physical__  
-  
-  
-Same as __-P__.  
-  
-  
-__posix__  
-  
-  
-Change the behavior of __bash__ where the default  
-operation differs from the POSIX 1003.2 standard to match  
-the standard (''posix mode'').  
-  
-  
-__privileged__  
-  
-  
-Same as __-p__.  
-  
-  
-__verbose__  
-  
-  
-Same as __-v__.  
-  
-  
-__vi__  
-  
-  
-Use a vi-style command line editing interface.  
-  
-  
-__xtrace__  
-  
-  
-Same as __-x__.  
-  
-  
-If __-o__ is supplied with no ''option-name'', the  
-values of the current options are printed. If __+o__ is  
-supplied with no ''option-name'', a series of __set__  
-commands to recreate the current option settings is  
-displayed on the standard output.  
-  
-  
-__-p__  
-  
-  
-Turn on ''privileged'' mode. In this mode, the  
-__$ENV__ and  
-__$BASH_ENV__ files are not processed,  
-shell functions are not inherited from the environment, and  
-the __SHELLOPTS__ variable, if it appears  
-in the environment, is ignored. If the shell is started with  
-the effective user (group) id not equal to the real user  
-(group) id, and the __-p__ option is not supplied, these  
-actions are taken and the effective user id is set to the  
-real user id. If the __-p__ option is supplied at  
-startup, the effective user id is not reset. Turning this  
-option off causes the effective user and group ids to be set  
-to the real user and group ids.  
-  
-  
-__-t__  
-  
-  
-Exit after reading and executing one command.  
-  
-  
-__-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.  
-  
-  
-__-v__  
-  
-  
-Print shell input lines as they are read.  
-  
-  
-__-x__  
-  
-  
-After expanding each ''simple command'', display the  
-expanded value of __PS4__,  
-followed by the command and its expanded  
-arguments.  
-  
-  
-__-B__  
-  
-  
-The shell performs brace expansion (see __Brace  
-Expansion__ above). This is on by default.  
-  
-  
-__-C__  
-  
-  
-If set, __bash__ does not overwrite an existing file with  
-the ____, ____, and ____  
-redirection operators. This may be overridden when creating  
-output files by using the redirection operator ____  
-instead of ____.  
-  
-  
-__-H__  
-  
-  
-Enable __!__ style history substitution. This option is  
-on by default when the shell is interactive.  
-  
-  
-__-P__  
-  
-  
-If set, the shell does not follow symbolic links when  
-executing commands such as __cd__ that change the current  
-working directory. It uses the physical directory structure  
-instead. By default, __bash__ follows the logical chain  
-of directories when performing commands which change the  
-current directory.  
-  
-  
-__--__  
-  
-  
-If no arguments follow this option, then the positional  
-parameters are unset. Otherwise, the positional parameters  
-are set to the ''arg''s, even if some of them begin with  
-a __-__.  
-  
-  
-__-__  
-  
-  
-Signal the end of options, cause all remaining ''arg''s  
-to be assigned to the positional parameters. The __-x__  
-and __-v__ options are turned off. If there are no  
-''arg''s, the positional parameters remain  
-unchanged.  
-  
-  
-The options are off by default unless otherwise noted. Using  
-+ rather than - causes these options to be turned off. The  
-options can also be specified as arguments to an invocation  
-of the shell. The current set of options may be found in  
-__$-__. The return status is always true unless an  
-invalid option is encountered.  
-  
-  
-__shift__ [[''n'']  
-  
-  
-The positional parameters from ''n''+1 ... are renamed to  
-__$1 ....__ Parameters represented by the numbers  
-__$#__ down to __$#__-''n''+1 are unset. ''n''  
-must be a non-negative number less than or equal to  
-__$#__. If ''n'' is , no parameters are changed. If  
-''n'' is not given, it is assumed to be 1. If ''n'' is  
-greater than __$#__, the positional parameters are not  
-changed. The return status is greater than zero if ''n''  
-is greater than __$#__ or less than zero; otherwise  
-.  
-  
-  
-__shopt__ [[__-pqsu__] [[__-o__] [[''optname''  
-...]  
-  
-  
-Toggle the values of variables controlling optional shell  
-behavior. With no options, or with the __-p__ option, a  
-list of all settable options is displayed, with an  
-indication of whether or not each is set. The __-p__  
-option causes output to be displayed in a form that may be  
-reused as input. Other options have the following  
-meanings:  
-  
-  
-__-s__  
-  
-  
-Enable (set) each ''optname''.  
-  
-  
-__-u__  
-  
-  
-Disable (unset) each ''optname''.  
-  
-  
-__-q__  
-  
-  
-Suppresses normal output (quiet mode); the return status  
-indicates whether the ''optname'' is set or unset. If  
-multiple ''optname'' arguments are given with __-q__,  
-the return status is zero if all ''optnames'' are  
-enabled; non-zero otherwise.  
-  
-  
-__-o__  
-  
-  
-Restricts the values of ''optname'' to be those defined  
-for the __-o__ option to the __set__  
-builtin.  
-  
-  
-If either __-s__ or __-u__ is used with no  
-''optname'' arguments, the display is limited to those  
-options which are set or unset, respectively. Unless  
-otherwise noted, the __shopt__ options are disabled  
-(unset) by default.  
-  
-  
-The return status when listing options is zero if all  
-''optnames'' are enabled, non-zero otherwise. When  
-setting or unsetting options, the return status is zero  
-unless an ''optname'' is not a valid shell  
-option.  
-  
-  
-The list of __shopt__ options is:  
-  
-  
-__cdable_vars__  
-  
-  
-If set, an argument to the __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.  
-  
-  
-__cdspell__  
-  
-  
-If set, minor errors in the spelling of a directory  
-component in a __cd__ command will be corrected. The  
-errors checked for are transposed characters, a missing  
-character, and one character too many. If a correction is  
-found, the corrected file name is printed, and the command  
-proceeds. This option is only used by interactive  
-shells.  
-  
-  
-__checkhash__  
-  
-  
-If set, __bash__ checks that a command found in the hash  
-table exists before trying to execute it. If a hashed  
-command no longer exists, a normal path search is  
-performed.  
-  
-  
-__checkwinsize__  
-  
-  
-If set, __bash__ checks the window size after each  
-command and, if necessary, updates the values of  
-__LINES__ and  
-__COLUMNS__.  
-  
-  
-__cmdhist__  
-  
-  
-If set, __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.  
-  
-  
-__dotglob__  
-  
-  
-If set, __bash__ includes filenames beginning with a `.'  
-in the results of pathname expansion.  
-  
-  
-__execfail__  
-  
-  
-If set, a non-interactive shell will not exit if it cannot  
-execute the file specified as an argument to the __exec__  
-builtin command. An interactive shell does not exit if  
-__exec__ fails.  
-  
-  
-__expand_aliases__  
-  
-  
-If set, aliases are expanded as described above under  
-__ALIASES__. This option is  
-enabled by default for interactive shells.  
-  
-  
-__extglob__  
-  
-  
-If set, the extended pattern matching features described  
-above under __Pathname Expansion__ are  
-enabled.  
-  
-  
-__histappend__  
-  
-  
-If set, the history list is appended to the file named by  
-the value of the __HISTFILE__ variable when the shell  
-exits, rather than overwriting the file.  
-  
-  
-__histreedit__  
-  
-  
-If set, and __readline__ is being used, a user is given  
-the opportunity to re-edit a failed history  
-substitution.  
-  
-  
-__histverify__  
-  
-  
-If set, and __readline__ is being used, the results of  
-history substitution are not immediately passed to the shell  
-parser. Instead, the resulting line is loaded into the  
-__readline__ editing buffer, allowing further  
-modification.  
-  
-  
-__hostcomplete__  
-  
-  
-If set, and __readline__ is being used, __bash__ will  
-attempt to perform hostname completion when a word  
-containing a __@__ is being completed (see  
-__Completing__ under __READLINE__  
-above). This is enabled by default.  
-  
-  
-__huponexit__  
-  
-  
-If set, __bash__ will send __SIGHUP__  
-to all jobs when an interactive login shell  
-exits.  
-  
-  
-__interactive_comments__  
-  
-  
-If set, allow a word beginning with __#__ to cause that  
-word and all remaining characters on that line to be ignored  
-in an interactive shell (see __COMMENTS__  
-above). This option is enabled by default.  
-  
-  
-__lithist__  
-  
-  
-If set, and the __cmdhist__ option is enabled, multi-line  
-commands are saved to the history with embedded newlines  
-rather than using semicolon separators where  
-possible.  
-  
-  
-__login_shell__  
-  
-  
-The shell sets this option if it is started as a login shell  
-(see __INVOCATION__ above). The value may  
-not be changed.  
-  
-  
-__mailwarn__  
-  
-  
-If set, and a file that __bash__ is checking for mail has  
-been accessed since the last time it was checked, the  
-message ``The mail in ''mailfile'' has been read'' is  
-displayed.  
-  
-  
-__no_empty_cmd_completion__  
-  
-  
-If set, and __readline__ is being used, __bash__ will  
-not attempt to search the __PATH__ for possible  
-completions when completion is attempted on an empty  
-line.  
-  
-  
-__nocaseglob__  
-  
-  
-If set, __bash__ matches filenames in a case-insensitive  
-fashion when performing pathname expansion (see __Pathname  
-Expansion__ above).  
-  
-  
-__nullglob__  
-  
-  
-If set, __bash__ allows patterns which match no files  
-(see __Pathname Expansion__ above) to expand to a null  
-string, rather than themselves.  
-  
-  
-__progcomp__  
-  
-  
-If set, the programmable completion facilities (see  
-__Programmable Completion__ above) are enabled. This  
-option is enabled by default.  
-  
-  
-__promptvars__  
-  
-  
-If set, prompt strings undergo variable and parameter  
-expansion after being expanded as described in  
-__PROMPTING__ above. This option is  
-enabled by default.  
-  
-  
-__restricted_shell__  
-  
-  
-The shell sets this option if it is started in restricted  
-mode (see __RESTRICTED SHELL__ below). The  
-value may not be changed. This is not reset when the startup  
-files are executed, allowing the startup files to discover  
-whether or not a shell is restricted.  
-  
-  
-__shift_verbose__  
-  
-  
-If set, the __shift__ builtin prints an error message  
-when the shift count exceeds the number of positional  
-parameters.  
-  
-  
-__sourcepath__  
-  
-  
-If set, the __source__ (__.__) builtin uses the value  
-of __PATH__ to find the directory  
-containing the file supplied as an argument. This option is  
-enabled by default.  
-  
-  
-__xpg_echo__  
-  
-  
-If set, the __echo__ builtin expands backslash-escape  
-sequences by default.  
-  
-  
-__suspend__ [[__-f__]  
-  
-  
-Suspend the execution of this shell until it receives a  
-__SIGCONT__ signal. The __-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 __-f__ is not supplied, or if job control is  
-not enabled.  
-  
-  
-__test__ ''expr''  
-  
-  
-__[[__ ''expr'' __]__  
-  
-  
-Return a status of 0 or 1 depending on the evaluation of the  
-conditional expression ''expr''. Each operator and  
-operand must be a separate argument. Expressions are  
-composed of the primaries described above under  
-__CONDITIONAL  
-EXPRESSIONS__.  
-  
-  
-Expressions may be combined using the following operators,  
-listed in decreasing order of precedence.  
-  
-  
-__!__ ''expr''  
-  
-  
-True if ''expr'' is false.  
-  
-  
-__(__ ''expr'' __)__  
-  
-  
-Returns the value of ''expr''. This may be used to  
-override the normal precedence of operators.  
-  
-  
-''expr1'' -__a__ ''expr2''  
-  
-  
-True if both ''expr1'' and ''expr2'' are  
-true.  
-  
-  
-''expr1'' -__o__ ''expr2''  
-  
-  
-True if either ''expr1'' or ''expr2'' is  
-true.  
-  
-  
-__test__ and __[[__ evaluate conditional expressions  
-using a set of rules based on the number of  
-arguments.  
-  
-  
-0 arguments  
-  
-  
-The expression is false.  
-  
-  
-1 argument  
-  
-  
-The expression is true if and only if the argument is not  
-null.  
-  
-  
-2 arguments  
-  
-  
-If the first argument is __!__, the expression is true if  
-and only if the second argument is null. If the first  
-argument is one of the unary conditional operators listed  
-above under __CONDITIONAL  
-EXPRESSIONS__, the expression is  
-true if the unary test is true. If the first argument is not  
-a valid unary conditional operator, the expression is  
-false.  
-  
-  
-3 arguments  
-  
-  
-If the second argument is one of the binary conditional  
-operators listed above under __CONDITIONAL  
-EXPRESSIONS__, the result of the  
-expression is the result of the binary test using the first  
-and third arguments as operands. If the first argument is  
-__!__, the value is the negation of the two-argument test  
-using the second and third arguments. If the first argument  
-is exactly __(__ and the third argument is exactly  
-__)__, the result is the one-argument test of the second  
-argument. Otherwise, the expression is false. The __-a__  
-and __-o__ operators are considered binary operators in  
-this case.  
-  
-  
-4 arguments  
-  
-  
-If the first argument is __!__, the result is the  
-negation of the three-argument expression composed of the  
-remaining arguments. Otherwise, the expression is parsed and  
-evaluated according to precedence using the rules listed  
-above.  
-  
-  
-5 or more arguments  
-  
-  
-The expression is parsed and evaluated according to  
-precedence using the rules listed above.  
-  
-  
-__times__  
-  
-  
-Print the accumulated user and system times for the shell  
-and for processes run from the shell. The return status is  
-.  
-  
-  
-__trap__ [[__-lp__] [[''arg''] [[''sigspec''  
-...]  
-  
-  
-The command ''arg'' is to be read and executed when the  
-shell receives signal(s) ''sigspec''. If ''arg'' is  
-absent or __-__, all specified signals are reset to their  
-original values (the values they had upon entrance to the  
-shell). If ''arg'' is the null string the signal  
-specified by each ''sigspec'' is ignored by the shell and  
-by the commands it invokes. If ''arg'' is not present and  
-__-p__ has been supplied, then the trap commands  
-associated with each ''sigspec'' are displayed. If no  
-arguments are supplied or if only __-p__ is given,  
-__trap__ prints the list of commands associated with each  
-signal number. Each ''sigspec'' is either a signal name  
-defined in ''signal.h''  
-''sigspec'' is __EXIT__ () the command  
-''arg'' is executed on exit from the shell. If a  
-''sigspec'' is  
-__DEBUG__, the command  
-''arg'' is executed after every ''simple command''  
-(see __SHELL GRAMMAR__ above). If a  
-''sigspec'' is __ERR__,  
-the command ''arg'' is executed whenever a simple command  
-has a non-zero exit status. The __ERR__  
-trap is not executed if the failed command is part of an  
-''until'' or ''while'' loop, part of an ''if''  
-statement, part of a ____ or list, or if the  
-command's return value is being inverted via __!__. The  
-__-l__ option causes the shell to print a list of signal  
-names and their corresponding numbers. 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  
-any ''sigspec'' is invalid; otherwise __trap__ returns  
-true.  
-  
-  
-__type__ [[__-atp__] ''name'' [[''name''  
-...]  
-  
-  
-With no options, indicate how each ''name'' would be  
-interpreted if used as a command name. If the __-t__  
-option is used, __type__ prints a string which is one of  
-''alias'', ''keyword'', ''function'',  
-''builtin'', or ''file'' if ''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  
-__-p__ option is used, __type__ either returns the  
-name of the disk file that would be executed if ''name''  
-were specified as a command name, or nothing if type -t  
-name would not return ''file''. If a command is  
-hashed, __-p__ prints the hashed value, not necessarily  
-the file that appears first in  
-__PATH__. If the __-a__  
-option is used, __type__ prints all of the places that  
-contain an executable named ''name''. This includes  
-aliases and functions, if and only if the __-p__ option  
-is not also used. The table of hashed commands is not  
-consulted when using __-a__. __type__ returns true if  
-any of the arguments are found, false if none are  
-found.  
-  
-  
-__ulimit__ [[__-SHacdflmnpstuv__  
-[[''limit'']]  
-  
-  
-Provides control over the resources available to the shell  
-and to processes started by it, on systems that allow such  
-control. The __-H__ and __-S__ 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  
-__-H__ nor __-S__ is specified, both the soft and hard  
-limits are set. The value of ''limit'' can be a number in  
-the unit specified for the resource or one of the special  
-values __hard__, __soft__, or __unlimited__, which  
-stand for the current hard limit, the current soft limit,  
-and no limit, respectively. If ''limit'' is omitted, the  
-current value of the soft limit of the resource is printed,  
-unless the __-H__ option is given. When more than one  
-resource is specified, the limit name and unit are printed  
-before the value. Other options are interpreted as  
-follows:  
-  
-  
-__-a__  
-  
-  
-All current limits are reported  
-  
-  
-__-c__  
-  
-  
-The maximum size of core files created  
-  
-  
-__-d__  
-  
-  
-The maximum size of a process's data segment  
-  
-  
-__-f__  
-  
-  
-The maximum size of files created by the shell  
-  
-  
-__-l__  
-  
-  
-The maximum size that may be locked into memory  
-  
-  
-__-m__  
-  
-  
-The maximum resident set size  
-  
-  
-__-n__  
-  
-  
-The maximum number of open file descriptors (most systems do  
-not allow this value to be set)  
-  
-  
-__-p__  
-  
-  
-The pipe size in 512-byte blocks (this may not be  
-set)  
-  
-  
-__-s__  
-  
-  
-The maximum stack size  
-  
-  
-__-t__  
-  
-  
-The maximum amount of cpu time in seconds  
-  
-  
-__-u__  
-  
-  
-The maximum number of processes available to a single  
-user  
-  
-  
-__-v__  
-  
-  
-The maximum amount of virtual memory available to the  
-shell  
-  
-  
-If ''limit'' is given, it is the new value of the  
-specified resource (the __-a__ option is display only).  
-If no option is given, then __-f__ is assumed. Values are  
-in 1024-byte increments, except for __-t__, which is in  
-seconds, __-p__, which is in units of 512-byte blocks,  
-and __-n__ and __-u__, which are unscaled values. The  
-return status is 0 unless an invalid option or argument is  
-supplied, or an error occurs while setting a new  
-limit.  
-  
-  
-__umask__ [[__-p__] [[__-S__]  
-[[''mode'']  
-  
-  
-The user file-creation mask is set to ''mode''. If  
-''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 chmod(1). If  
-''mode'' is omitted, the current value of the mask is  
-printed. The __-S__ option causes the mask to be printed  
-in symbolic form; the default output is an octal number. If  
-the __-p__ option is supplied, and ''mode'' is  
-omitted, the output is in a form that may be reused as  
-input. The return status is 0 if the mode was successfully  
-changed or if no ''mode'' argument was supplied, and  
-false otherwise.  
-  
-  
-__unalias__ [[-__a__] [[''name'' ...]  
-  
-  
-Remove each ''name'' from the list of defined aliases. If  
-__-a__ is supplied, all alias definitions are removed.  
-The return value is true unless a supplied ''name'' is  
-not a defined alias.  
-  
-  
-__unset__ [[-__fv__] [[''name'' ...]  
-  
-  
-For each ''name'', remove the corresponding variable or  
-function. If no options are supplied, or the __-v__  
-option is given, each ''name'' refers to a shell  
-variable. Read-only variables may not be unset. If __-f__  
-is specifed, each ''name'' refers to a shell function,  
-and the function definition is removed. Each unset variable  
-or function is removed from the environment passed to  
-subsequent commands. If any of  
-__RANDOM__, __SECONDS__,  
-__LINENO__, __HISTCMD__, __FUNCNAME__,  
-__GROUPS__, or __DIRSTACK__ are  
-unset, they lose their special properties, even if they are  
-subsequently reset. The exit status is true unless a  
-''name'' does not exist or is readonly.  
-  
-  
-__wait__ [[''n'']  
-  
-  
-Wait for the specified process and return its termination  
-status. ''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 ''n'' is not given, all currently  
-active child processes are waited for, and the return status  
-is zero. If ''n'' specifies a non-existent process or  
-job, the return status is 127. Otherwise, the return status  
-is the exit status of the last process or job waited  
-for.  
-!!RESTRICTED SHELL  
-  
-  
-If __bash__ is started with the name __rbash__, or the  
-__-r__ option is supplied at invocation, the shell  
-becomes restricted. A restricted shell is used to set up an  
-environment more controlled than the standard shell. It  
-behaves identically to __bash__ with the exception that  
-the following are disallowed or not performed:  
-  
-  
-changing directories with __cd__  
-  
-  
-setting or unsetting the values of __SHELL__,  
-__PATH__, __ENV__, or __BASH_ENV__  
-  
-  
-specifying command names containing __/__  
-  
-  
-specifying a file name containing a __/__ as an argument  
-to the __.__ builtin command  
-  
-  
-Specifying a filename containing a slash as an argument to  
-the __-p__ option to the __hash__ builtin  
-command  
-  
-  
-importing function definitions from the shell environment at  
-startup  
-  
-  
-parsing the value of __SHELLOPTS__ from the shell  
-environment at startup  
-  
-  
-redirecting output using the  
-  
-  
-using the __exec__ builtin command to replace the shell  
-with another command  
-  
-  
-adding or deleting builtin commands with the __-f__ and  
-__-d__ options to the __enable__ builtin  
-command  
-  
-  
-specifying the __-p__ option to the __command__  
-builtin command  
-  
-  
-turning off restricted mode with __set +r__ or __set +o  
-restricted__.  
-  
-  
-These restrictions are enforced after any startup files are  
-read.  
-  
-  
-When a command that is found to be a shell script is  
-executed (see __COMMAND EXECUTION__  
-above), __rbash__ turns off any restrictions in the shell  
-spawned to execute the script.  
-!!SEE ALSO  
-  
-  
-''Bash Reference Manual'', Brian Fox and Chet  
-Ramey  
-  
-  
-''The Gnu Readline Library'', Brian Fox and Chet  
-Ramey  
-  
-  
-''The Gnu History Library'', Brian Fox and Chet  
-Ramey  
-  
-  
-''Portable Operating System Interface (POSIX) Part 2: Shell  
-and Utilities'', IEEE  
-  
-  
-sh(1), ksh(1), csh(1)  
-  
-  
-emacs(1), vi(1)  
-  
-  
-readline(3)  
-!!FILES  
-  
-  
-''/bin/bash''  
-  
-  
-The __bash__ executable  
-  
-  
-''/etc/profile''  
-  
-  
-The systemwide initialization file, executed for login  
-shells  
-  
-  
-''~/.bash_profile''  
-  
-  
-The personal initialization file, executed for login  
-shells  
-  
-  
-''~/.bashrc''  
-  
-  
-The individual per-interactive-shell startup  
-file  
-  
-  
-''~/.bash_logout''  
-  
-  
-The individual login shell cleanup file, executed when a  
-login shell exits  
-  
-  
-''~/.inputrc''  
-  
-  
-Individual ''readline'' initialization file  
-!!AUTHORS  
-  
-  
-Brian Fox, Free Software Foundation  
-bfox@gnu.org  
-  
-  
-Chet Ramey, Case Western Reserve University  
-chet@ins.CWRU.Edu  
-!!BUG REPORTS  
-  
-  
-If you find a bug in __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 __bash__ that  
-you have.  
-  
-  
-Once you have determined that a bug actually exists, use the  
-''bashbug'' command to submit a bug report. If you have a  
-fix, you are encouraged to mail that as well! Suggestions  
-and `philosophical' bug reports may be mailed to  
-''bug-bash@gnu.org'' or posted to the Usenet newsgroup  
-__gnu.bash.bug__.  
-  
-  
-ALL bug reports should include:  
-  
-  
-The version number of __bash__  
-  
-  
-The hardware and operating system  
-  
-  
-The compiler used to compile  
-  
-  
-A description of the bug behaviour  
-  
-  
-A short script or `recipe' which exercises the  
-bug  
-  
-  
-''bashbug'' inserts the first three items automatically  
-into the template it provides for filing a bug  
-report.  
-  
-  
-Comments and bug reports concerning this manual page should  
-be directed to ''chet@ins.CWRU.Edu''.  
-!!BUGS  
-  
-  
-It's too big and too slow.  
-  
-  
-There are some subtle differences between __bash__ and  
-traditional versions of __sh__, mostly because of the  
-__POSIX__ specification.  
-  
-  
-Aliases are confusing in some uses.  
-  
-  
-Shell builtin commands and functions are not  
-stoppable/restartable.  
-  
-  
-Compound commands and command sequences of the form `a ; b ;  
-c' are not handled gracefully when process suspension is  
-attempted. When a process is stopped, the shell immediately  
-executes the next command in the sequence. It suffices to  
-place the sequence of commands between parentheses to force  
-it into a subshell, which may be stopped as a  
-unit.  
-  
-  
-Commands inside of __$(__...__)__ command substitution  
-are not parsed until substitution is attempted. This will  
-delay error reporting until some time after the command is  
-entered.  
-  
-  
-Array variables may not (yet ) be exported .  
-----  
+See the bash(1) manpage
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.