commit bash-20191122 snapshot

This commit is contained in:
Chet Ramey
2019-11-25 11:48:29 -05:00
parent dfc7113bf2
commit fc35c477cd
48 changed files with 13660 additions and 11860 deletions
+264 -234
View File
@@ -1,10 +1,10 @@
This is bashref.info, produced by makeinfo version 6.5 from
This is bashref.info, produced by makeinfo version 6.7 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.0, 8 July 2019).
Bash shell (version 5.0, 22 November 2019).
This is Edition 5.0, last updated 8 July 2019, of 'The GNU Bash
This is Edition 5.0, last updated 22 November 2019, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.0.
Copyright (C) 1988-2018 Free Software Foundation, Inc.
@@ -27,10 +27,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 5.0, 8 July 2019). The Bash home page is
Bash shell (version 5.0, 22 November 2019). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.0, last updated 8 July 2019, of 'The GNU Bash
This is Edition 5.0, last updated 22 November 2019, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.0.
Bash contains features that appear in other popular shells, and some
@@ -893,7 +893,8 @@ File: bashref.info, Node: Conditional Constructs, Next: Command Grouping, Pre
An additional binary operator, '=~', is available, with the same
precedence as '==' and '!='. When it is used, the string to the
right of the operator is considered a POSIX extended regular
expression and matched accordingly (as in regex3)). The return
expression and matched accordingly (using the POSIX 'regcomp' and
'regexec' interfaces usually described in regex(3)). The return
value is 0 if the string matches the pattern, and 1 otherwise. If
the regular expression is syntactically incorrect, the conditional
expression's return value is 2. If the 'nocasematch' shell option
@@ -905,18 +906,24 @@ File: bashref.info, Node: Conditional Constructs, Next: Command Grouping, Pre
normal quoting characters lose their meanings between brackets. If
the pattern is stored in a shell variable, quoting the variable
expansion forces the entire pattern to be matched as a string.
The pattern will match if it matches any part of the string.
Anchor the pattern using the '^' and '$' regular expression
operators to force it to match the entire string. The array
variable 'BASH_REMATCH' records which parts of the string matched
the pattern. The element of 'BASH_REMATCH' with index 0 contains
the portion of the string matching the entire regular expression.
Substrings matched by parenthesized subexpressions within the
regular expression are saved in the array variable 'BASH_REMATCH'.
The element of 'BASH_REMATCH' with index 0 is the portion of the
string matching the entire regular expression. The element of
'BASH_REMATCH' with index N is the portion of the string matching
the Nth parenthesized subexpression.
regular expression are saved in the remaining 'BASH_REMATCH'
indices. The element of 'BASH_REMATCH' with index N is the portion
of the string matching the Nth parenthesized subexpression.
For example, the following will match a line (stored in the shell
variable LINE) if there is a sequence of characters in the value
consisting of any number, including zero, of space characters, zero
or one instances of 'a', then a 'b':
[[ $line =~ [[:space:]]*?(a)b ]]
variable LINE) if there is a sequence of characters anywhere in the
value consisting of any number, including zero, of characters in
the 'space' character class, zero or one instances of 'a', then a
'b':
[[ $line =~ [[:space:]]*(a)?b ]]
That means values like 'aab' and ' aaaaaab' will match, as will a
line containing a 'b' anywhere in its value.
@@ -929,7 +936,7 @@ File: bashref.info, Node: Conditional Constructs, Next: Command Grouping, Pre
to the shell's quote removal. Using a shell variable to store the
pattern decreases these problems. For example, the following is
equivalent to the above:
pattern='[[:space:]]*?(a)b'
pattern='[[:space:]]*(a)?b'
[[ $line =~ $pattern ]]
If you want to match a character that's special to the regular
@@ -1083,21 +1090,27 @@ names, use find's '-print0' option and parallel's '-0' option.
You can use Parallel to move files from the current directory when
the number of files is too large to process with one 'mv' invocation:
ls | parallel mv {} destdir
printf '%s\n' * | parallel mv {} destdir
As you can see, the {} is replaced with each line read from standard
input. While using 'ls' will work in most instances, it is not
sufficient to deal with all filenames. If you need to accommodate
special characters in filenames, you can use
sufficient to deal with all filenames. 'printf' is a shell builtin, and
therefore is not subject to the kernel's limit on the number of
arguments to a program, so you can use '*' (but see below about the
'dotglob' shell option). If you need to accommodate special characters
in filenames, you can use
find . -depth 1 \! -name '.*' -print0 | parallel -0 mv {} destdir
printf '%s\0' * | parallel -0 mv {} destdir
as alluded to above.
This will run as many 'mv' commands as there are files in the current
directory. You can emulate a parallel 'xargs' by adding the '-X'
option:
find . -depth 1 \! -name '.*' -print0 | parallel -0 -X mv {} destdir
printf '%s\0' * | parallel -0 -X mv {} destdir
(You may have to modify the pattern if you have the 'dotglob' option
enabled.)
GNU Parallel can replace certain common idioms that operate on lines
read from a file (in this case, filenames listed one per line):
@@ -1410,7 +1423,7 @@ only be referenced; assignment to them is not allowed.
the expansion is not within double quotes, each positional
parameter expands to a separate word. In contexts where it is
performed, those words are subject to further word splitting and
pathname expansion. When the expansion occurs within double
filename expansion. 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, '"$*"' is equivalent to '"$1C$2C..."', where C
@@ -1984,7 +1997,7 @@ omitted, the operator tests only for existence.
and the expansion is the resultant list.
The result of the expansion is subject to word splitting and
pathname expansion as described below.
filename expansion as described below.

File: bashref.info, Node: Command Substitution, Next: Arithmetic Expansion, Prev: Shell Parameter Expansion, Up: Shell Expansions
@@ -2116,18 +2129,17 @@ File: bashref.info, Node: Filename Expansion, Next: Quote Removal, Prev: Word
* Pattern Matching:: How the shell matches patterns.
After word splitting, unless the '-f' option has been set (*note The Set
Builtin::), Bash scans each word for the characters '*', '?', '[', and,
under certain circumstances (e.g., when it appears in the expansion of
an unquoted shell variable), '\\'. If one of these characters appears,
then the word is regarded as a PATTERN, and replaced with an
alphabetically sorted list of filenames matching the pattern (*note
Pattern Matching::). If no matching filenames 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 'failglob' shell option is set, and no matches are found, an
error message is printed and the command is not executed. If the shell
option 'nocaseglob' is enabled, the match is performed without regard to
the case of alphabetic characters.
Builtin::), Bash scans each word for the characters '*', '?', and '['.
If one of these characters appears, and is not quoted, then the word is
regarded as a PATTERN, and replaced with an alphabetically sorted list
of filenames matching the pattern (*note Pattern Matching::). If no
matching filenames 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 'failglob' shell
option is set, and no matches are found, an error message is printed and
the command is not executed. 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 filename expansion, the character '.' at
the start of a filename or immediately following a slash must be matched
@@ -2443,7 +2455,7 @@ A variant of here documents, the format is:
[N]<<< WORD
The WORD undergoes tilde expansion, parameter and variable expansion,
command substitution, arithmetic expansion, and quote removal. Pathname
command substitution, arithmetic expansion, and quote removal. Filename
expansion and word splitting are not performed. The result is supplied
as a single string, with a newline appended, to the command on its
standard input (or file descriptor N if N is specified).
@@ -2828,20 +2840,28 @@ of commands remembered by the parent (see the description of 'hash' in
Most versions of Unix make this a part of the operating system's
command execution mechanism. If the first line of a script begins with
the two characters '#!', the remainder of the line specifies an
interpreter for the program. Thus, you can specify Bash, 'awk', Perl,
or some other interpreter and write the rest of the script file in that
language.
interpreter for the program and, depending on the operating system, one
or more optional arguments for that interpreter. Thus, you can specify
Bash, 'awk', Perl, or some other interpreter and write the rest of the
script file in that language.
The arguments to the interpreter consist of a single optional
argument following the interpreter name on the first line of the script
The arguments to the interpreter consist of one or more optional
arguments following the interpreter name on the first line of the script
file, followed by the name of the script file, followed by the rest of
the arguments. Bash will perform this action on operating systems that
do not handle it themselves. Note that some older versions of Unix
limit the interpreter name and argument to a maximum of 32 characters.
the arguments supplied to the script. The details of how the
interpreter line is split into an interpreter name and a set of
arguments vary across systems. Bash will perform this action on
operating systems that do not handle it themselves. Note that some
older versions of Unix limit the interpreter name and a single argument
to a maximum of 32 characters, so it's not portable to assume that using
more than one argument will work.
Bash scripts often begin with '#! /bin/bash' (assuming that Bash has
been installed in '/bin'), since this ensures that Bash will be used to
interpret the script, even if it is executed under another shell.
interpret the script, even if it is executed under another shell. It's
a common idiom to use 'env' to find 'bash' even if it's been installed
in another directory: '#!/usr/bin/env bash' will find the first
occurrence of 'bash' in '$PATH'.

File: bashref.info, Node: Shell Builtin Commands, Next: Shell Variables, Prev: Basic Shell Features, Up: Top
@@ -3032,7 +3052,7 @@ standard.
supplied with a name that is not a shell function.
'getopts'
getopts OPTSTRING NAME [ARGS]
getopts OPTSTRING NAME [ARG ...]
'getopts' is used by shell scripts to parse positional parameters.
OPTSTRING contains the option characters to be recognized; if a
@@ -3054,7 +3074,8 @@ standard.
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.
arguments are supplied as ARG values, '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
@@ -4681,12 +4702,6 @@ This builtin allows you to change additional shell optional behavior.
If set, Bash allows filename patterns which match no files to
expand to a null string, rather than themselves.
'posixglob'
If set, Bash makes words containing unquoted backslashes after
expansion eligible for filename expansion, even if they don't
contain any other unquoted pattern characters. This option is
enabled by default and is enabled when POSIX mode is enabled.
'progcomp'
If set, the programmable completion facilities (*note
Programmable Completion::) are enabled. This option is
@@ -4963,7 +4978,7 @@ Variables::).
Constructs::). The element with index 0 is the portion of the
string matching the entire regular expression. The element with
index N is the portion of the string matching the Nth parenthesized
subexpression. This variable is read-only.
subexpression.
'BASH_SOURCE'
An array variable whose members are the source filenames where the
@@ -6776,66 +6791,62 @@ startup files.
option, so numeric arguments to 'shift' that exceed the number of
positional parameters will result in an error message.
45. Enabling POSIX mode has the effect of setting the 'posixglob'
option, which affects how unquoted backslashes are treated during
filename expansion (*note Filename Expansion::).
46. When the 'alias' builtin displays alias definitions, it does not
45. When the 'alias' builtin displays alias definitions, it does not
display them with a leading 'alias ' unless the '-p' option is
supplied.
47. When the 'set' builtin is invoked without options, it does not
46. When the 'set' builtin is invoked without options, it does not
display shell function names and definitions.
48. When the 'set' builtin is invoked without options, it displays
47. When the 'set' builtin is invoked without options, it displays
variable values without quotes, unless they contain shell
metacharacters, even if the result contains nonprinting characters.
49. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname
48. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname
constructed from '$PWD' and the directory name supplied as an
argument does not refer to an existing directory, 'cd' will fail
instead of falling back to PHYSICAL mode.
50. When the 'cd' builtin cannot change a directory because the length
49. When the 'cd' builtin cannot change a directory because the length
of the pathname constructed from '$PWD' and the directory name
supplied as an argument exceeds PATH_MAX when all symbolic links
are expanded, 'cd' will fail instead of attempting to use only the
supplied directory name.
51. The 'pwd' builtin verifies that the value it prints is the same as
50. The 'pwd' builtin verifies that the value it prints is the same as
the current directory, even if it is not asked to check the file
system with the '-P' option.
52. When listing the history, the 'fc' builtin does not include an
51. When listing the history, the 'fc' builtin does not include an
indication of whether or not a history entry has been modified.
53. The default editor used by 'fc' is 'ed'.
52. The default editor used by 'fc' is 'ed'.
54. The 'type' and 'command' builtins will not report a non-executable
53. The 'type' and 'command' builtins will not report a non-executable
file as having been found, though the shell will attempt to execute
such a file if it is the only so-named file found in '$PATH'.
55. The 'vi' editing mode will invoke the 'vi' editor directly when
54. The 'vi' editing mode will invoke the 'vi' editor directly when
the 'v' command is run, instead of checking '$VISUAL' and
'$EDITOR'.
56. When the 'xpg_echo' option is enabled, Bash does not attempt to
55. When the 'xpg_echo' option is enabled, Bash does not attempt to
interpret any arguments to 'echo' as options. Each argument is
displayed, after escape characters are converted.
57. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
56. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
and '-f' options.
58. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not
57. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not
interrupt the 'wait' builtin and cause it to return immediately.
The trap command is run once for each child that exits.
59. The 'read' builtin may be interrupted by a signal for which a trap
58. The 'read' builtin may be interrupted by a signal for which a trap
has been set. If Bash receives a trapped signal while executing
'read', the trap handler executes and 'read' returns an exit status
greater than 128.
60. Bash removes an exited background process's status from the list
59. Bash removes an exited background process's status from the list
of such statuses after the 'wait' builtin is used to obtain it.
There is other POSIX behavior that Bash does not implement by default
@@ -7037,7 +7048,7 @@ File: bashref.info, Node: Job Control Builtins, Next: Job Control Variables,
option is encountered.
'wait'
wait [-fn] [JOBSPEC or PID ...]
wait [-fn] [-p VARNAME] [JOBSPEC or PID ...]
Wait until the child process specified by each process ID PID or
job specification JOBSPEC exits and return the exit status of the
@@ -7046,12 +7057,16 @@ File: bashref.info, Node: Job Control Builtins, Next: Job Control Variables,
for all running background jobs and the last-executed process
substitution, if its process id is the same as $!, and the return
status is zero. If the '-n' option is supplied, 'wait' waits for a
single job to terminate and returns its exit status. Supplying the
'-f' option, when job control is enabled, forces 'wait' to wait for
each PID or JOBSPEC to terminate before returning its status,
intead of returning when it changes status. If neither JOBSPEC nor
PID specifies an active child process of the shell, the return
status is 127.
single job to terminate and returns its exit status. If the '-p'
option is supplied, the process or job identifier of the job for
which the exit status is returned is assigned to the variable
VARNAME named by the option argument. The variable will be unset
initially, before any assignment. This is useful only when the
'-n' option is supplied. Supplying the '-f' option, when job
control is enabled, forces 'wait' to wait for each PID or JOBSPEC
to terminate before returning its status, intead of returning when
it changes status. If neither JOBSPEC nor PID specifies an active
child process of the shell, the return status is 127.
'disown'
disown [-ar] [-h] [JOBSPEC ... | PID ... ]
@@ -9490,11 +9505,13 @@ the current position in the history list.
'!?STRING[?]'
Refer to the most recent command preceding the current position in
the history list containing STRING. The trailing '?' may be
omitted if the STRING is followed immediately by a newline.
omitted if the STRING is followed immediately by a newline. If
STRING is missing, the string from the most recent search is used;
it is an error if there is no previous search string.
'^STRING1^STRING2^'
Quick Substitution. Repeat the last command, replacing STRING1
with STRING2. Equivalent to '!!:s/STRING1/STRING2/'.
with STRING2. Equivalent to '!!:s^STRING1^STRING2^'.
'!#'
The entire command line typed so far.
@@ -9541,7 +9558,8 @@ separated by single spaces.
The last argument.
'%'
The word matched by the most recent '?STRING?' search.
The first word matched by the most recent '?STRING?' search, if the
search string begins with a character that is part of a word.
'X-Y'
A range of words; '-Y' abbreviates '0-Y'.
@@ -9555,7 +9573,8 @@ separated by single spaces.
Abbreviates 'X-$'
'X-'
Abbreviates 'X-$' like 'X*', but omits the last word.
Abbreviates 'X-$' like 'X*', but omits the last word. If 'x' is
missing, it defaults to 0.
If a word designator is supplied without an event specification, the
previous command is used as the event.
@@ -9567,7 +9586,8 @@ File: bashref.info, Node: Modifiers, Prev: Word Designators, Up: History Inte
---------------
After the optional word designator, you can add a sequence of one or
more of the following modifiers, each preceded by a ':'.
more of the following modifiers, each preceded by a ':'. These modify,
or edit, the word or words selected from the history event.
'h'
Remove a trailing pathname component, leaving only the head.
@@ -9590,15 +9610,19 @@ more of the following modifiers, each preceded by a ':'.
'x'
Quote the substituted words as with 'q', but break into words at
spaces, tabs, and newlines.
spaces, tabs, and newlines. The 'q' and 'x' modifiers are mutually
exclusive; the last one supplied is used.
's/OLD/NEW/'
Substitute NEW for the first occurrence of OLD in the event line.
Any delimiter may be used in place of '/'. The delimiter may be
quoted in OLD and NEW with a single backslash. If '&' appears in
NEW, it is replaced by OLD. A single backslash will quote the '&'.
The final delimiter is optional if it is the last character on the
input line.
Any character may be used as the delimiter in place of '/'. The
delimiter may be quoted in OLD and NEW with a single backslash. If
'&' appears in NEW, it is replaced by OLD. A single backslash will
quote the '&'. If 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. If NEW is is null, each
matching OLD is deleted. The final delimiter is optional if it is
the last character on the input line.
'&'
Repeat the previous substitution.
@@ -9609,7 +9633,8 @@ more of the following modifiers, each preceded by a ':'.
conjunction with 's', as in 'gs/OLD/NEW/', or with '&'.
'G'
Apply the following 's' modifier once to each word in the event.
Apply the following 's' or '&' modifier once to each word in the
event.

File: bashref.info, Node: Installing Bash, Next: Reporting Bugs, Prev: Using History Interactively, Up: Top
@@ -11019,7 +11044,7 @@ D.1 Index of Shell Builtin Commands
* :: Bourne Shell Builtins.
(line 11)
* [: Bourne Shell Builtins.
(line 269)
(line 270)
* alias: Bash Builtins. (line 11)
* bg: Job Control Builtins.
(line 7)
@@ -11043,7 +11068,7 @@ D.1 Index of Shell Builtin Commands
* dirs: Directory Stack Builtins.
(line 7)
* disown: Job Control Builtins.
(line 93)
(line 97)
* echo: Bash Builtins. (line 246)
* enable: Bash Builtins. (line 295)
* eval: Bourne Shell Builtins.
@@ -11061,7 +11086,7 @@ D.1 Index of Shell Builtin Commands
* getopts: Bourne Shell Builtins.
(line 143)
* hash: Bourne Shell Builtins.
(line 186)
(line 187)
* help: Bash Builtins. (line 324)
* history: Bash History Builtins.
(line 40)
@@ -11079,34 +11104,34 @@ D.1 Index of Shell Builtin Commands
* pushd: Directory Stack Builtins.
(line 53)
* pwd: Bourne Shell Builtins.
(line 206)
(line 207)
* read: Bash Builtins. (line 460)
* readarray: Bash Builtins. (line 554)
* readonly: Bourne Shell Builtins.
(line 216)
(line 217)
* return: Bourne Shell Builtins.
(line 235)
(line 236)
* set: The Set Builtin. (line 11)
* shift: Bourne Shell Builtins.
(line 256)
(line 257)
* shopt: The Shopt Builtin. (line 9)
* source: Bash Builtins. (line 563)
* suspend: Job Control Builtins.
(line 105)
(line 109)
* test: Bourne Shell Builtins.
(line 269)
(line 270)
* times: Bourne Shell Builtins.
(line 348)
(line 349)
* trap: Bourne Shell Builtins.
(line 354)
(line 355)
* type: Bash Builtins. (line 568)
* typeset: Bash Builtins. (line 600)
* ulimit: Bash Builtins. (line 606)
* umask: Bourne Shell Builtins.
(line 403)
(line 404)
* unalias: Bash Builtins. (line 705)
* unset: Bourne Shell Builtins.
(line 421)
(line 422)
* wait: Job Control Builtins.
(line 76)
@@ -11743,134 +11768,139 @@ D.5 Concept Index

Tag Table:
Node: Top887
Node: Introduction2797
Node: What is Bash?3013
Node: What is a shell?4127
Node: Definitions6665
Node: Basic Shell Features9616
Node: Shell Syntax10835
Node: Shell Operation11861
Node: Quoting13154
Node: Escape Character14454
Node: Single Quotes14939
Node: Double Quotes15287
Node: ANSI-C Quoting16565
Node: Locale Translation17824
Node: Comments18720
Node: Shell Commands19338
Node: Simple Commands20210
Node: Pipelines20841
Node: Lists23773
Node: Compound Commands25564
Node: Looping Constructs26576
Node: Conditional Constructs29071
Node: Command Grouping40239
Node: Coprocesses41718
Node: GNU Parallel43621
Node: Shell Functions47679
Node: Shell Parameters54762
Node: Positional Parameters59175
Node: Special Parameters60075
Node: Shell Expansions63829
Node: Brace Expansion65952
Node: Tilde Expansion68675
Node: Shell Parameter Expansion71292
Node: Command Substitution85725
Node: Arithmetic Expansion87080
Node: Process Substitution88012
Node: Word Splitting89132
Node: Filename Expansion91076
Node: Pattern Matching93713
Node: Quote Removal97699
Node: Redirections97994
Node: Executing Commands107552
Node: Simple Command Expansion108222
Node: Command Search and Execution110176
Node: Command Execution Environment112552
Node: Environment115536
Node: Exit Status117195
Node: Signals118865
Node: Shell Scripts120832
Node: Shell Builtin Commands123347
Node: Bourne Shell Builtins125385
Node: Bash Builtins146284
Node: Modifying Shell Behavior175209
Node: The Set Builtin175554
Node: The Shopt Builtin185967
Node: Special Builtins203945
Node: Shell Variables204924
Node: Bourne Shell Variables205361
Node: Bash Variables207465
Node: Bash Features238906
Node: Invoking Bash239805
Node: Bash Startup Files245818
Node: Interactive Shells250921
Node: What is an Interactive Shell?251331
Node: Is this Shell Interactive?251980
Node: Interactive Shell Behavior252795
Node: Bash Conditional Expressions256282
Node: Shell Arithmetic260859
Node: Aliases263799
Node: Arrays266419
Node: The Directory Stack271784
Node: Directory Stack Builtins272568
Node: Controlling the Prompt275536
Node: The Restricted Shell278457
Node: Bash POSIX Mode280939
Node: Job Control292066
Node: Job Control Basics292526
Node: Job Control Builtins297490
Node: Job Control Variables302308
Node: Command Line Editing303464
Node: Introduction and Notation305135
Node: Readline Interaction306758
Node: Readline Bare Essentials307949
Node: Readline Movement Commands309732
Node: Readline Killing Commands310692
Node: Readline Arguments312610
Node: Searching313654
Node: Readline Init File315840
Node: Readline Init File Syntax317099
Node: Conditional Init Constructs337538
Node: Sample Init File341734
Node: Bindable Readline Commands344851
Node: Commands For Moving346055
Node: Commands For History347914
Node: Commands For Text352209
Node: Commands For Killing355597
Node: Numeric Arguments358412
Node: Commands For Completion359551
Node: Keyboard Macros363742
Node: Miscellaneous Commands364429
Node: Readline vi Mode370382
Node: Programmable Completion371289
Node: Programmable Completion Builtins379069
Node: A Programmable Completion Example389764
Node: Using History Interactively395011
Node: Bash History Facilities395695
Node: Bash History Builtins398700
Node: History Interaction403231
Node: Event Designators406851
Node: Word Designators408070
Node: Modifiers409707
Node: Installing Bash411109
Node: Basic Installation412246
Node: Compilers and Options415504
Node: Compiling For Multiple Architectures416245
Node: Installation Names417938
Node: Specifying the System Type418756
Node: Sharing Defaults419472
Node: Operation Controls420145
Node: Optional Features421103
Node: Reporting Bugs431621
Node: Major Differences From The Bourne Shell432815
Node: GNU Free Documentation License449667
Node: Indexes474844
Node: Builtin Index475298
Node: Reserved Word Index482125
Node: Variable Index484573
Node: Function Index500397
Node: Concept Index513836
Node: Top897
Node: Introduction2817
Node: What is Bash?3033
Node: What is a shell?4147
Node: Definitions6685
Node: Basic Shell Features9636
Node: Shell Syntax10855
Node: Shell Operation11881
Node: Quoting13174
Node: Escape Character14474
Node: Single Quotes14959
Node: Double Quotes15307
Node: ANSI-C Quoting16585
Node: Locale Translation17844
Node: Comments18740
Node: Shell Commands19358
Node: Simple Commands20230
Node: Pipelines20861
Node: Lists23793
Node: Compound Commands25584
Node: Looping Constructs26596
Node: Conditional Constructs29091
Node: Command Grouping40662
Node: Coprocesses42141
Node: GNU Parallel44044
Node: Shell Functions48345
Node: Shell Parameters55428
Node: Positional Parameters59841
Node: Special Parameters60741
Node: Shell Expansions64495
Node: Brace Expansion66618
Node: Tilde Expansion69341
Node: Shell Parameter Expansion71958
Node: Command Substitution86391
Node: Arithmetic Expansion87746
Node: Process Substitution88678
Node: Word Splitting89798
Node: Filename Expansion91742
Node: Pattern Matching94291
Node: Quote Removal98277
Node: Redirections98572
Node: Executing Commands108130
Node: Simple Command Expansion108800
Node: Command Search and Execution110754
Node: Command Execution Environment113130
Node: Environment116114
Node: Exit Status117773
Node: Signals119443
Node: Shell Scripts121410
Node: Shell Builtin Commands124422
Node: Bourne Shell Builtins126460
Node: Bash Builtins147376
Node: Modifying Shell Behavior176301
Node: The Set Builtin176646
Node: The Shopt Builtin187059
Node: Special Builtins204729
Node: Shell Variables205708
Node: Bourne Shell Variables206145
Node: Bash Variables208249
Node: Bash Features239661
Node: Invoking Bash240560
Node: Bash Startup Files246573
Node: Interactive Shells251676
Node: What is an Interactive Shell?252086
Node: Is this Shell Interactive?252735
Node: Interactive Shell Behavior253550
Node: Bash Conditional Expressions257037
Node: Shell Arithmetic261614
Node: Aliases264554
Node: Arrays267174
Node: The Directory Stack272539
Node: Directory Stack Builtins273323
Node: Controlling the Prompt276291
Node: The Restricted Shell279212
Node: Bash POSIX Mode281694
Node: Job Control292627
Node: Job Control Basics293087
Node: Job Control Builtins298051
Node: Job Control Variables303197
Node: Command Line Editing304353
Node: Introduction and Notation306024
Node: Readline Interaction307647
Node: Readline Bare Essentials308838
Node: Readline Movement Commands310621
Node: Readline Killing Commands311581
Node: Readline Arguments313499
Node: Searching314543
Node: Readline Init File316729
Node: Readline Init File Syntax317988
Node: Conditional Init Constructs338427
Node: Sample Init File342623
Node: Bindable Readline Commands345740
Node: Commands For Moving346944
Node: Commands For History348803
Node: Commands For Text353098
Node: Commands For Killing356486
Node: Numeric Arguments359301
Node: Commands For Completion360440
Node: Keyboard Macros364631
Node: Miscellaneous Commands365318
Node: Readline vi Mode371271
Node: Programmable Completion372178
Node: Programmable Completion Builtins379958
Node: A Programmable Completion Example390653
Node: Using History Interactively395900
Node: Bash History Facilities396584
Node: Bash History Builtins399589
Node: History Interaction404120
Node: Event Designators407740
Node: Word Designators409094
Node: Modifiers410854
Node: Installing Bash412665
Node: Basic Installation413802
Node: Compilers and Options417060
Node: Compiling For Multiple Architectures417801
Node: Installation Names419494
Node: Specifying the System Type420312
Node: Sharing Defaults421028
Node: Operation Controls421701
Node: Optional Features422659
Node: Reporting Bugs433177
Node: Major Differences From The Bourne Shell434371
Node: GNU Free Documentation License451223
Node: Indexes476400
Node: Builtin Index476854
Node: Reserved Word Index483681
Node: Variable Index486129
Node: Function Index501953
Node: Concept Index515392

End Tag Table

Local Variables:
coding: utf-8
End: