Penguin

Differences between current version and predecessor to the previous major change of bash(1).

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

Newer page: version 2 Last edited on Friday, November 21, 2003 1:55:47 pm by JohnMcPherson
Older page: version 1 Last edited on Tuesday, June 4, 2002 12:21:48 am by perry Revert
@@ -1,8709 +1,144 @@
-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 
  
+__Navigation__%%%  
+Because this man page is so large that is causes trouble for both our web server and web browsers, it has been split into 7 pages:  
  
-bash - GNU Bourne-Again SHell  
-!! SYNOPSIS 
+__ bash(____1)__ - (this page)  
+* __NAME__  
+* __ SYNOPSIS__  
+* __COPYRIGHT__  
+* __DESCRIPTION__  
+* __OPTIONS__  
+* __ARGUMENTS__  
+* __INVOCATION__  
  
+[bash(1)Part2]  
+* DEFINITIONS  
+* RESERVED WORDS  
+* SHELL GRAMMAR  
+* COMMENTS  
+* QUOTING  
  
-__ bash__ [[options] [[file ]  
-!!COPYRIGHT  
+[ bash(1)Part3 ]  
+* PARAMETERS  
  
+[bash(1)Part4]  
+* EXPANSION  
  
-Bash is Copyright 1989-2001 by the Free Software Foundation,  
-Inc.  
-!!DESCRIPTION  
+[bash(1)Part5]  
+* REDIRECTION  
+* ALIASES  
+* FUNCTIONS  
+* ARITHMETIC EVALUATION  
+* CONDITIONAL EXPRESSIONS  
+* SIMPLE COMMAND EXPANSION  
+* COMMAND EXECUTION  
+* COMMAND EXECUTION ENVIRONMENT  
+* ENVIRONMENT  
+* EXIT STATUS  
+* SIGNALS  
+* JOB CONTROL  
+* PROMPTING  
  
+[bash(1)Part6]  
+* READLINE  
+* HISTORY  
+* HISTORY EXPANSION  
  
-__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(1)Part7]  
+* SHELL BUILTIN COMMANDS  
+* RESTRICTED SHELL  
+* SEE ALSO  
+* FILES  
+* AUTHORS  
+* BUG REPORTS  
+* BUGS  
  
-__Bash__ is intended to be a conformant implementation of  
-the IEEE POSIX Shell and Tools specification (IEEE Working  
-Group 1003.2).  
-!!OPTIONS  
+----  
  
+!!NAME  
+bash - GNU Bourne-Again SHell  
  
-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:  
+!!SYNOPSIS  
+__bash__ [[ options] [[file]  
  
+!!COPYRIGHT  
  
-__ -c__ ''string''  
+ Bash is Copyright (C) 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__).  
  
-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 __$__
+__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:  
  
-__-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''.  
  
+;__-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 __$0__ .  
+;__-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.  
+;__-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.  
+;__-__ : 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 __-__.  
  
-__-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
+__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
  
  
-__-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.  
+; __-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.  
  
-__[[-+]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, __$0__ 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 0.  
  
-  
-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, __$0__ 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 0. 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.  
  
-A ''login shell'' is one whose first character of  
-argument zero is a __- __, or one started with the  
- __--login __ option
+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.  
  
-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
+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''.  
  
-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 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:  
  
  
-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.  
  
+ if [[ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi  
  
-When a login shell exits, __bash__ reads and executes  
-commands from the file ''~/.bash_logout'', if it  
-exists.  
  
+but the value of the __PATH__ variable is not used to search for the file name.  
  
-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 ''. 
+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.  
  
-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:  
+__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 [[ -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.  
-----  
+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. 
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.