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