summaryrefslogtreecommitdiff
path: root/doc/bashref.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/bashref.texi')
-rw-r--r--doc/bashref.texi41
1 files changed, 22 insertions, 19 deletions
diff --git a/doc/bashref.texi b/doc/bashref.texi
index be251fde..3943b85b 100644
--- a/doc/bashref.texi
+++ b/doc/bashref.texi
@@ -2727,7 +2727,7 @@ by @{@var{varname}@}, the value of @var{varname} defines the file
descriptor to close.
If @{@var{varname}@} is supplied, the redirection persists beyond
the scope of the command, allowing the shell programmer to manage
-the file descriptor himself.
+the file descriptor's lifetime manually.
In the following descriptions, if the file descriptor number is
omitted, and the first character of the redirection operator is
@@ -3787,7 +3787,7 @@ shift [@var{n}]
Shift the positional parameters to the left by @var{n}.
The positional parameters from @var{n}+1 @dots{} @code{$#} are
renamed to @code{$1} @dots{} @code{$#}-@var{n}.
-Parameters represented by the numbers @code{$#} to @code{$#}-@var{n}+1
+Parameters represented by the numbers @code{$#} down to @code{$#}-@var{n}+1
are unset.
@var{n} must be a non-negative number less than or equal to @code{$#}.
If @var{n} is zero or greater than @code{$#}, the positional parameters
@@ -4440,6 +4440,8 @@ If @var{name} is @samp{-}, the set of shell options is made local to the
function in which @code{local} is invoked: shell options changed using
the @code{set} builtin inside the function are restored to their original
values when the function returns.
+The restore is effected as if a series of @code{set} commands were executed
+to restore the values that were in place before the function.
The return status is zero unless @code{local} is used outside
a function, an invalid @var{name} is supplied, or @var{name} is a
readonly variable.
@@ -4584,12 +4586,6 @@ are used to split the line into words using the same rules the shell
uses for expansion (described above in @ref{Word Splitting}).
The backslash character @samp{\} may be used to remove any special
meaning for the next character read and for line continuation.
-If no names are supplied, the line read is assigned to the
-variable @env{REPLY}.
-The exit status is zero, unless end-of-file is encountered, @code{read}
-times out (in which case the status is greater than 128),
-a variable assignment error (such as assigning to a readonly variable) occurs,
-or an invalid file descriptor is supplied as the argument to @option{-u}.
Options, if supplied, have the following meanings:
@@ -4666,6 +4662,15 @@ The exit status is greater than 128 if the timeout is exceeded.
Read input from file descriptor @var{fd}.
@end table
+If no @var{name}s are supplied, the line read,
+without the ending delimiter but otherwise unmodified,
+is assigned to the
+variable @env{REPLY}.
+The exit status is zero, unless end-of-file is encountered, @code{read}
+times out (in which case the status is greater than 128),
+a variable assignment error (such as assigning to a readonly variable) occurs,
+or an invalid file descriptor is supplied as the argument to @option{-u}.
+
@item readarray
@btindex readarray
@example
@@ -5529,12 +5534,6 @@ If set, the @code{echo} builtin expands backslash-escape sequences
by default.
@end table
-
-@noindent
-The return status when listing options is zero if all @var{optnames}
-are enabled, non-zero otherwise.
-When setting or unsetting options, the return status is zero unless an
-@var{optname} is not a valid shell option.
@end table
@node Special Builtins
@@ -6284,13 +6283,12 @@ not already set.
The process @sc{id} of the shell's parent process. This variable
is readonly.
-@item PROMPT_COMMANDS
-If this array variable is set,
+@item PROMPT_COMMAND
+If this variable is set, and is an array,
the value of each set element is interpreted as a command to execute
before printing the primary prompt (@env{$PS1}).
-If this is not set, but
-@env{PROMPT_COMMAND}
-is set to a value, its value is used as a command to execute instead.
+If this is set but not an array variable,
+its value is used as a command to execute instead.
@item PROMPT_DIRTRIM
If set to a number greater than zero, the value is used as the number of
@@ -8164,6 +8162,11 @@ more randomness. If the shell compatibility level is set to 50 or
lower, it reverts to the method from bash-5.0 and previous versions,
so seeding the random number generator by assigning a value to
@env{RANDOM} will produce the same sequence as in bash-5.0
+@item
+If the command hash table is empty, Bash versions prior to bash-5.1
+printed an informational message to that effect, even when producing
+output that can be reused as input. Bash-5.1 suppresses that message
+when the @option{-l} option is supplied.
@end itemize
@end table