bash-5.0-rc1 release

This commit is contained in:
Chet Ramey
2018-12-20 11:41:58 -05:00
parent 2ae59c1134
commit f250956cb2
138 changed files with 13535 additions and 12329 deletions
+38
View File
@@ -1,3 +1,41 @@
This document details the changes between this version, bash-5.0-rc1, and
the previous version, bash-5.0-beta2.
1. Changes to Bash
a. Fix to initial word completion detection code.
b. Fixed a bug that caused issues with assignment statements containing ^A in
the value assigned when IFS contains ^A.
c. Added a fallback to fnmatch() when strcoll can't correctly deal with
bracket expression character equivalence classes.
d. Fixed a bug that caused $BASH_COMMAND to contain the trap handler command
when running a trap handler containing [[ or (( commands.
e. Fixed a bug that caused nameref assignments in the temporary environment
to potentially create variables with invalid names.
f. Fixed a bug that caused `local -' to turn off alias expansion in scripts.
g. Fixed a parser issue with a command string containing EOF after an invalid
command as an argument to a special builtin not causing a posix-mode shell
to exit.
h. Made a slight change to the FNV-1 string hash algorithm used for associative
arrays (corrected the initial seed).
2. Changes to Readline
3. New Features in Bash
a. The `select' command now supports command forms without a word list
following `in'.
4. New Features in Readline
------------------------------------------------------------------------------
This document details the changes between this version, bash-5.0-beta2, and
the previous version, bash-5.0-beta.
+148
View File
@@ -4762,3 +4762,151 @@ bashline.c
from Luca Boccassi <bluca@debian.org>
[bash-5.0-beta2 frozen]
11/27
-----
bashline.c
- attempt_shell_completion: better fix for problems with fix from
11/16. Report and fix from Tom Ryder <tom@sanctum.geek.nz>
expr.c
- expr_skipsubscript: fix return type. Report and fix from
Andreas Schwab <schwab@linux-m68k.org>
11/29
-----
subst.c
- quote_escapes_internal: refactored quote_escapes into a function
that takes an additional flag saying whether or not we are going
to split the result. If we are not, and CTLESC is in IFS, we quote
the CTLESC (ditto for CTLNUL) to prevent it being removed when the
string is dequoted.
- quote_escapes: call quote_escapes_internal with FLAGS == 0
- quote_rhs: new function, calls quote_escapes with FLAGS == PF_NOSPLIT2
so that a CTLESC will be quoted if CTLESC is in $IFS
- parameter_brace_expand_word: call quote_rhs on the value of a variable
if PFLAGS includes PF_ASSIGNRHS, indicating that we will not be
splitting the word, but we will be dequoting it. Fixes bug reported
by Martijn Dekker <martijn@inlv.org>
- param_expand: same change as for parameter_brace_expand_word
execute_cmd.c
- execute_in_subshell: if we are running a trap (running_trap > 0),
turn off the SIG_INPROGRESS and SIG_CHANGED flags for that signal
by calling run_trap_cleanup and reset running_trap to 0 (watch the
second part!). Tagged for bash-5.1.
11/30
-----
lib/readline/doc/rltech.texi
- rl_set_keymap_name: correct typo in the name; some updates to the
description that clarify usage. Report from <hirooih@gmail.com>
12/4
----
aclocal.m4
- BASH_FUNC_FNMATCH_EQUIV_FALLBACK: a test of whether fnmatch(3)
understands bracket equivalence classes ([=c=]) for characters
that collate with equal weights but are not identical
configure.ac,config.h.in
- call BASH_FUNC_FNMATCH_EQUIV_FALLBACK and define
FNMATCH_EQUIV_FALLBACK to 1 if it can be used for equivalence
classes
12/5
----
execute_cmd.c
- eval_arith_for_expr,execute_arith_command,execute_cond_command: make
sure running_trap == 0 before we reset the_printed_command_except_trap
Report from Peng Yu <pengyu.ut@gmail.com>
lib/glob/smatch.c
- _fnmatch_fallback_wc: new function, takes two wide characters c1 and
c2, converts them to a pattern ([[=c2=]]) and a string (c1) for
fnmatch to determine whether or not they are members of the same
equivalence class
- collequiv_wc: call _fnmatch_fallback_wc if rangecmp_wc returns
non-zero if FNMATCH_EQUIV_FALLBACK is defined, so we know that
fnmatch understands equivalence classes. Another Posix test suite
issue from Martin Rehak <martin.rehak@oracle.com>
12/6
----
redir.c
- add missing cases to switch statements to shut up gcc
12/7
----
builtins/set.def
- find_minus_o_option: new helper function, returns index into
o_options given option name
- minus_o_option_value,set_minus_o_option: use find_minus_o_option
general.c
- new table of variables (currently all shopt options) that are
modified by going into and out of posix mode; num_posix_options()
returns the number of variables
- get_posix_options: fill in a bitmap passed as an argument (or return
a new one) of values of posix-mode-modified variables in the table
- set_posix_options: set values of posix-mode-modified variables from
the table using the passed bitmap for values
builtins/set.def
- get_current_options: make the bitmap large enough to hold the options
in the set table and the table of posix-mode-modified variables; call
get_posix_options to fill in those values after the values from the
o_options table
- set_current_options: call set_posix_options to reset the values of
the posix-mode-modified variables at the end of the bitmap, after
the o_options values. Fixes issue reported by PJ Eby
<pje@telecommunity.com>
12/9
----
parse.y
- select_command: add two additional productions to support select
commands without a word_list following the `in'. Fixes omission
reported by Martijn Dekker <martijn@inlv.org>
12/11
-----
variables.c
- assign_in_env: don't allow namerefs in temporary environment
assignments to create variables with invalid names for export. Fixes
bug reported by Grisha Levit <grishalevit@gmail.com>
12/14
-----
parse.y
- don't change last_command_exit_value in the 'error yacc_EOF' production
if the parser sets it to something non-zero; just make sure it
indicates an error. Fixes problem with unexpected EOF in eval
reported by Martijn Dekker <martijn@inlv.org>
12/17
-----
expr.c
- exp2 -> expmuldiv
lib/sh/smatch.c
- fnmatch: add extern declaration if FNMATCH_EQUIV_FALLBACK is being
used
hashlib.c
- hash_string: add FNV offset as initial value for hash instead of
starting at 0, changes hash for associative arrays and requires a
bunch of changes to the "right" test suite files
variables.c
- rseed: make it explicitly 32 bits; that's all we're interested in
anyway
12/18
-----
variables.c
- brand: add some comments, make the constants explicitly 32 bits;
use signed 32-bit values for the intermediate calculations. The
algorithm is still minstd
-1
View File
@@ -941,7 +941,6 @@ tests/cond-regexp2.sub f
tests/cond-regexp3.sub f
tests/coproc.tests f
tests/coproc.right f
tests/coproc1.sub f
tests/cprint.tests f
tests/cprint.right f
tests/dbg-support.right f
Vendored
+37
View File
@@ -4223,3 +4223,40 @@ main(int c, char **v)
[Define if you have a working sbrk function.])
fi
])
AC_DEFUN(BASH_FUNC_FNMATCH_EQUIV_FALLBACK,
[AC_MSG_CHECKING(whether fnmatch can be used to check bracket equivalence classes)
AC_CACHE_VAL(bash_cv_fnmatch_equiv_fallback,
[AC_TRY_RUN([
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <fnmatch.h>
#include <locale.h>
char *pattern = "[[=a=]]";
/* char *string = "ä"; */
unsigned char string[4] = { '\xc3', '\xa4', '\0' };
int
main (int c, char **v)
{
setlocale (LC_ALL, "de_DE.UTF-8");
if (fnmatch (pattern, (const char *)string, 0) != FNM_NOMATCH)
exit (0);
exit (1);
}
], bash_cv_fnmatch_equiv_fallback=yes, bash_cv_fnmatch_equiv_fallback=no,
[AC_MSG_WARN(cannot check fnmatch if cross compiling -- defaulting to no)
bash_cv_fnmatch_equiv_fallback=no]
)])
AC_MSG_RESULT($bash_cv_fnmatch_equiv_fallback)
if test "$bash_cv_fnmatch_equiv_fallback" = "yes" ; then
bash_cv_fnmatch_equiv_value=1
else
bash_cv_fnmatch_equiv_value=0
fi
AC_DEFINE_UNQUOTED([FNMATCH_EQUIV_FALLBACK], [$bash_cv_fnmatch_equiv_value], [Whether fnmatch can be used for bracket equivalence classes])
])
+2 -1
View File
@@ -1583,7 +1583,8 @@ attempt_shell_completion (text, start, end)
/* command completion if programmable completion fails */
/* If we have a completion for the initial word, we can prefer that */
in_command_position = s == start && (iw_compspec || STREQ (n, text)); /* XXX */
foundcs = foundcs && (iw_compspec == 0);
if (iw_compspec && in_command_position)
foundcs = 0;
}
/* empty command name following command separator */
else if (s >= e && n[0] == '\0' && text[0] == '\0' && start > 0 &&
+1 -1
View File
@@ -38,7 +38,7 @@ Options:
without any specific completion defined
-E apply the completions and actions to "empty" commands --
completion attempted on a blank line
-I apply the completions and actions to the intial (usually the
-I apply the completions and actions to the initial (usually the
command) word
When completion is attempted, the actions are applied in the order the
+5 -1
View File
@@ -1,7 +1,7 @@
This file is echo.def, from which is created echo.c.
It implements the builtin "echo" in Bash.
Copyright (C) 1987-2016 Free Software Foundation, Inc.
Copyright (C) 1987-2018 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -62,6 +62,10 @@ Options:
0 to 3 octal digits
\xHH the eight-bit character whose value is HH (hexadecimal). HH
can be one or two hex digits
\uHHHH the Unicode character whose value is the hexadecimal value HHHH.
HHHH can be one to four hex digits.
\UHHHHHHHH the Unicode character whose value is the hexadecimal value
HHHHHHHH. HHHHHHHH can be one to eight hex digits.
Exit Status:
Returns success unless a write error occurs.
+59 -41
View File
@@ -1,7 +1,7 @@
This file is set.def, from which is created set.c.
It implements the "set" and "unset" builtins in Bash.
Copyright (C) 1987-2015 Free Software Foundation, Inc.
Copyright (C) 1987-2018 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -154,6 +154,8 @@ $END
typedef int setopt_set_func_t __P((int, char *));
typedef int setopt_get_func_t __P((char *));
static int find_minus_o_option __P((char *));
static void print_minus_o_option __P((char *, int, int));
static void print_all_shell_variables __P((void));
@@ -242,6 +244,18 @@ const struct {
((o_options[i].set_func) ? (*o_options[i].set_func) (onoff, name) \
: (*o_options[i].variable = (onoff == FLAG_ON)))
static int
find_minus_o_option (name)
char *name;
{
register int i;
for (i = 0; o_options[i].name; i++)
if (STREQ (name, o_options[i].name))
return i;
return -1;
}
int
minus_o_option_value (name)
char *name;
@@ -249,21 +263,17 @@ minus_o_option_value (name)
register int i;
int *on_or_off;
for (i = 0; o_options[i].name; i++)
{
if (STREQ (name, o_options[i].name))
{
if (o_options[i].letter)
{
on_or_off = find_flag (o_options[i].letter);
return ((on_or_off == FLAG_UNKNOWN) ? -1 : *on_or_off);
}
else
return (GET_BINARY_O_OPTION_VALUE (i, name));
}
}
i = find_minus_o_option (name);
if (i < 0)
return (-1);
return (-1);
if (o_options[i].letter)
{
on_or_off = find_flag (o_options[i].letter);
return ((on_or_off == FLAG_UNKNOWN) ? -1 : *on_or_off);
}
else
return (GET_BINARY_O_OPTION_VALUE (i, name));
}
#define MINUS_O_FORMAT "%-15s\t%s\n"
@@ -323,9 +333,12 @@ char *
get_current_options ()
{
char *temp;
int i;
int i, posixopts;
temp = (char *)xmalloc (1 + N_O_OPTIONS);
posixopts = num_posix_options (); /* shopts modified by posix mode */
/* Make the buffer big enough to hold the set -o options and the shopt
options modified by posix mode. */
temp = (char *)xmalloc (1 + N_O_OPTIONS + posixopts);
for (i = 0; o_options[i].name; i++)
{
if (o_options[i].letter)
@@ -333,7 +346,11 @@ get_current_options ()
else
temp[i] = GET_BINARY_O_OPTION_VALUE (i, o_options[i].name);
}
temp[i] = '\0';
/* Add the shell options that are modified by posix mode to the end of the
bitmap. They will be handled in set_current_options() */
get_posix_options (temp+i);
temp[i+posixopts] = '\0';
return (temp);
}
@@ -345,6 +362,7 @@ set_current_options (bitmap)
if (bitmap == 0)
return;
for (i = 0; o_options[i].name; i++)
{
if (o_options[i].letter)
@@ -352,6 +370,9 @@ set_current_options (bitmap)
else
SET_BINARY_O_OPTION_VALUE (i, bitmap[i] ? FLAG_ON : FLAG_OFF, o_options[i].name);
}
/* Now reset the variables changed by posix mode */
set_posix_options (bitmap+i);
}
static int
@@ -451,32 +472,29 @@ set_minus_o_option (on_or_off, option_name)
{
register int i;
for (i = 0; o_options[i].name; i++)
i = find_minus_o_option (option_name);
if (i < 0)
{
if (STREQ (option_name, o_options[i].name))
{
if (o_options[i].letter == 0)
{
previous_option_value = GET_BINARY_O_OPTION_VALUE (i, o_options[i].name);
SET_BINARY_O_OPTION_VALUE (i, on_or_off, option_name);
return (EXECUTION_SUCCESS);
}
else
{
if ((previous_option_value = change_flag (o_options[i].letter, on_or_off)) == FLAG_ERROR)
{
sh_invalidoptname (option_name);
return (EXECUTION_FAILURE);
}
else
return (EXECUTION_SUCCESS);
}
}
sh_invalidoptname (option_name);
return (EX_USAGE);
}
sh_invalidoptname (option_name);
return (EX_USAGE);
if (o_options[i].letter == 0)
{
previous_option_value = GET_BINARY_O_OPTION_VALUE (i, o_options[i].name);
SET_BINARY_O_OPTION_VALUE (i, on_or_off, option_name);
return (EXECUTION_SUCCESS);
}
else
{
if ((previous_option_value = change_flag (o_options[i].letter, on_or_off)) == FLAG_ERROR)
{
sh_invalidoptname (option_name);
return (EXECUTION_FAILURE);
}
else
return (EXECUTION_SUCCESS);
}
}
static void
+3
View File
@@ -612,6 +612,9 @@
/* Define if you have the fnmatch function. */
#undef HAVE_FNMATCH
/* Can fnmatch be used as a fallback to match [=equiv=] with collation weights? */
#undef FNMATCH_EQUIV_FALLBACK
/* Define if you have the fpurge/__fpurge function. */
#undef HAVE_FPURGE
#undef HAVE___FPURGE
Vendored
+82 -17
View File
@@ -1,7 +1,7 @@
#! /bin/sh
# From configure.ac for Bash 5.0, version 5.003.
# From configure.ac for Bash 5.0, version 5.005.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for bash 5.0-beta2.
# Generated by GNU Autoconf 2.69 for bash 5.0-rc1.
#
# Report bugs to <bug-bash@gnu.org>.
#
@@ -581,8 +581,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='bash'
PACKAGE_TARNAME='bash'
PACKAGE_VERSION='5.0-beta2'
PACKAGE_STRING='bash 5.0-beta2'
PACKAGE_VERSION='5.0-rc1'
PACKAGE_STRING='bash 5.0-rc1'
PACKAGE_BUGREPORT='bug-bash@gnu.org'
PACKAGE_URL=''
@@ -1394,7 +1394,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures bash 5.0-beta2 to adapt to many kinds of systems.
\`configure' configures bash 5.0-rc1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1459,7 +1459,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of bash 5.0-beta2:";;
short | recursive ) echo "Configuration of bash 5.0-rc1:";;
esac
cat <<\_ACEOF
@@ -1655,7 +1655,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
bash configure 5.0-beta2
bash configure 5.0-rc1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2364,7 +2364,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by bash $as_me 5.0-beta2, which was
It was created by bash $as_me 5.0-rc1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2759,7 +2759,7 @@ ac_config_headers="$ac_config_headers config.h"
BASHVERS=5.0
RELSTATUS=beta2
RELSTATUS=rc1
case "$RELSTATUS" in
alp*|bet*|dev*|rc*|releng*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
@@ -4938,12 +4938,6 @@ fi
CFLAGS=${CFLAGS-"$AUTO_CFLAGS"}
# LDFLAGS=${LDFLAGS="$AUTO_LDFLAGS"} # XXX
# turn off paren warnings in gcc
if test "$GCC" = yes # && test -n "$DEBUG"
then
CFLAGS="$CFLAGS -Wno-parentheses -Wno-format-security"
fi
if test "$opt_profiling" = "yes"; then
PROFILE_FLAGS=-pg
case "$host_os" in
@@ -15275,6 +15269,67 @@ $as_echo "#define HAVE_PRINTF_A_FORMAT 1" >>confdefs.h
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether fnmatch can be used to check bracket equivalence classes" >&5
$as_echo_n "checking whether fnmatch can be used to check bracket equivalence classes... " >&6; }
if ${bash_cv_fnmatch_equiv_fallback+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot check fnmatch if cross compiling -- defaulting to no" >&5
$as_echo "$as_me: WARNING: cannot check fnmatch if cross compiling -- defaulting to no" >&2;}
bash_cv_fnmatch_equiv_fallback=no
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <fnmatch.h>
#include <locale.h>
char *pattern = "[[=a=]]";
/* char *string = "ä"; */
unsigned char string[4] = { '\xc3', '\xa4', '\0' };
int
main (int c, char **v)
{
setlocale (LC_ALL, "de_DE.UTF-8");
if (fnmatch (pattern, (const char *)string, 0) != FNM_NOMATCH)
exit (0);
exit (1);
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
bash_cv_fnmatch_equiv_fallback=yes
else
bash_cv_fnmatch_equiv_fallback=no
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $bash_cv_fnmatch_equiv_fallback" >&5
$as_echo "$bash_cv_fnmatch_equiv_fallback" >&6; }
if test "$bash_cv_fnmatch_equiv_fallback" = "yes" ; then
bash_cv_fnmatch_equiv_value=1
else
bash_cv_fnmatch_equiv_value=0
fi
cat >>confdefs.h <<_ACEOF
#define FNMATCH_EQUIV_FALLBACK $bash_cv_fnmatch_equiv_value
_ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if signal handlers must be reinstalled when invoked" >&5
@@ -16301,6 +16356,16 @@ m88k-motorola-sysv3) LOCAL_CFLAGS=-DWAITPID_BROKEN ;;
mips-pyramid-sysv4) LOCAL_CFLAGS=-Xa ;;
esac
# turn off paren warnings in gcc
if test "$GCC" = yes # && test -n "$DEBUG"
then
CFLAGS="$CFLAGS -Wno-parentheses -Wno-format-security"
# if test -n "$DEBUG"
# then
# CFLAGS="$CFLAGS -Werror"
# fi
fi
#
# Shared object configuration section. These values are generated by
# ${srcdir}/support/shobj-conf
@@ -16903,7 +16968,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by bash $as_me 5.0-beta2, which was
This file was extended by bash $as_me 5.0-rc1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16969,7 +17034,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
bash config.status 5.0-beta2
bash config.status 5.0-rc1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
+14 -8
View File
@@ -21,10 +21,10 @@ dnl Process this file with autoconf to produce a configure script.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
AC_REVISION([for Bash 5.0, version 5.003])dnl
AC_REVISION([for Bash 5.0, version 5.005])dnl
define(bashvers, 5.0)
define(relstatus, beta2)
define(relstatus, rc1)
AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
@@ -474,12 +474,6 @@ dnl default values
CFLAGS=${CFLAGS-"$AUTO_CFLAGS"}
# LDFLAGS=${LDFLAGS="$AUTO_LDFLAGS"} # XXX
# turn off paren warnings in gcc
if test "$GCC" = yes # && test -n "$DEBUG"
then
CFLAGS="$CFLAGS -Wno-parentheses -Wno-format-security"
fi
dnl handle options that alter how bash is compiled and linked
dnl these must come after the test for cc/gcc
if test "$opt_profiling" = "yes"; then
@@ -1030,6 +1024,8 @@ fi
BASH_FUNC_PRINTF_A_FORMAT
BASH_FUNC_FNMATCH_EQUIV_FALLBACK
dnl presence and behavior of OS functions
BASH_SYS_REINSTALL_SIGHANDLERS
BASH_SYS_JOB_CONTROL_MISSING
@@ -1157,6 +1153,16 @@ m88k-motorola-sysv3) LOCAL_CFLAGS=-DWAITPID_BROKEN ;;
mips-pyramid-sysv4) LOCAL_CFLAGS=-Xa ;;
esac
# turn off paren warnings in gcc
if test "$GCC" = yes # && test -n "$DEBUG"
then
CFLAGS="$CFLAGS -Wno-parentheses -Wno-format-security"
# if test -n "$DEBUG"
# then
# CFLAGS="$CFLAGS -Werror"
# fi
fi
#
# Shared object configuration section. These values are generated by
# ${srcdir}/support/shobj-conf
+2699 -2698
View File
File diff suppressed because it is too large Load Diff
+9 -6
View File
@@ -5,12 +5,12 @@
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
.\" Last Change: Mon Oct 22 09:55:27 EDT 2018
.\" Last Change: Fri Dec 7 09:48:47 EST 2018
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
.TH BASH 1 "2018 October 22" "GNU Bash 5.0"
.TH BASH 1 "2018 December 7" "GNU Bash 5.0"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
@@ -629,8 +629,11 @@ of a semicolon to delimit commands.
If a command is terminated by the control operator
.BR & ,
the shell executes the command in the \fIbackground\fP
in a subshell. The shell does not wait for the command to
finish, and the return status is 0. Commands separated by a
in a subshell.
The shell does not wait for the command to
finish, and the return status is 0.
These are referred to as \fIasynchronous\fP commands.
Commands separated by a
.B ;
are executed sequentially; the shell waits for each
command to terminate in turn. The return status is the
@@ -8036,8 +8039,8 @@ Mark \fIname\fPs for export to subsequent commands via the environment.
.PP
Using `+' instead of `\-'
turns off the attribute instead,
with the exceptions that \fB+a\fP
may not be used to destroy an array variable and \fB+r\fP will not
with the exceptions that \fB+a\fP and \fB+A\fP
may not be used to destroy array variables and \fB+r\fP will not
remove the readonly attribute.
When used in a function,
.B declare
+10 -7
View File
@@ -3,7 +3,7 @@
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2018 October 22<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2018 December 7<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
@@ -836,8 +836,11 @@ If a command is terminated by the control operator
<B>&amp;</B>,
the shell executes the command in the <I>background</I>
in a subshell. The shell does not wait for the command to
finish, and the return status is 0. Commands separated by a
in a subshell.
The shell does not wait for the command to
finish, and the return status is 0.
These are referred to as <I>asynchronous</I> commands.
Commands separated by a
<B>;</B>
are executed sequentially; the shell waits for each
@@ -10208,8 +10211,8 @@ Mark <I>name</I>s for export to subsequent commands via the environment.
Using `+' instead of `-'
turns off the attribute instead,
with the exceptions that <B>+a</B>
may not be used to destroy an array variable and <B>+r</B> will not
with the exceptions that <B>+a</B> and <B>+A</B>
may not be used to destroy array variables and <B>+r</B> will not
remove the readonly attribute.
When used in a function,
<B>declare</B>
@@ -13916,7 +13919,7 @@ There may be only one active coprocess at a time.
<HR>
<TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>GNU Bash 5.0<TH ALIGN=CENTER width=33%>2018 October 22<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>GNU Bash 5.0<TH ALIGN=CENTER width=33%>2018 December 7<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
@@ -14022,6 +14025,6 @@ There may be only one active coprocess at a time.
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
Time: 19 November 2018 15:21:08 EST
Time: 18 December 2018 11:43:50 EST
</BODY>
</HTML>
+141 -139
View File
@@ -2,9 +2,9 @@ This is bash.info, produced by makeinfo version 6.5 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.0, 9 November 2018).
Bash shell (version 5.0, 7 December 2018).
This is Edition 5.0, last updated 9 November 2018, of 'The GNU Bash
This is Edition 5.0, last updated 7 December 2018, 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, 9 November 2018). The Bash home page is
Bash shell (version 5.0, 7 December 2018). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.0, last updated 9 November 2018, of 'The GNU Bash
This is Edition 5.0, last updated 7 December 2018, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.0.
Bash contains features that appear in other popular shells, and some
@@ -619,11 +619,12 @@ commands, equivalent to a semicolon.
If a command is terminated by the control operator '&', the shell
executes the command asynchronously in a subshell. This is known as
executing the command in the BACKGROUND. The shell does not wait for
the command to finish, and the return status is 0 (true). When job
control is not active (*note Job Control::), the standard input for
asynchronous commands, in the absence of any explicit redirections, is
redirected from '/dev/null'.
executing the command in the BACKGROUND, and these are referred to as
ASYNCHRONOUS commands. The shell does not wait for the command to
finish, and the return status is 0 (true). When job control is not
active (*note Job Control::), the standard input for asynchronous
commands, in the absence of any explicit redirections, is redirected
from '/dev/null'.
Commands separated by a ';' are executed sequentially; the shell
waits for each command to terminate in turn. The return status is the
@@ -3543,11 +3544,12 @@ standard.
environment.
Using '+' instead of '-' turns off the attribute instead, with the
exceptions that '+a' may not be used to destroy an array variable
and '+r' will not remove the readonly attribute. When used in a
function, 'declare' makes each NAME local, as with the 'local'
command, unless the '-g' option is used. If a variable name is
followed by =VALUE, the value of the variable is set to VALUE.
exceptions that '+a' and '+A' may not be used to destroy array
variables and '+r' will not remove the readonly attribute. When
used in a function, 'declare' makes each NAME local, as with the
'local' command, unless the '-g' option is used. If a variable
name is followed by =VALUE, the value of the variable is set to
VALUE.
When using '-a' or '-A' and the compound assignment syntax to
create array variables, additional attributes do not take effect
@@ -10984,8 +10986,8 @@ D.1 Index of Shell Builtin Commands
(line 7)
* disown: Job Control Builtins.
(line 92)
* echo: Bash Builtins. (line 245)
* enable: Bash Builtins. (line 294)
* echo: Bash Builtins. (line 246)
* enable: Bash Builtins. (line 295)
* eval: Bourne Shell Builtins.
(line 94)
* exec: Bourne Shell Builtins.
@@ -11002,26 +11004,26 @@ D.1 Index of Shell Builtin Commands
(line 143)
* hash: Bourne Shell Builtins.
(line 186)
* help: Bash Builtins. (line 323)
* help: Bash Builtins. (line 324)
* history: Bash History Builtins.
(line 40)
* jobs: Job Control Builtins.
(line 27)
* kill: Job Control Builtins.
(line 58)
* let: Bash Builtins. (line 342)
* local: Bash Builtins. (line 350)
* logout: Bash Builtins. (line 364)
* mapfile: Bash Builtins. (line 369)
* let: Bash Builtins. (line 343)
* local: Bash Builtins. (line 351)
* logout: Bash Builtins. (line 365)
* mapfile: Bash Builtins. (line 370)
* popd: Directory Stack Builtins.
(line 35)
* printf: Bash Builtins. (line 415)
* printf: Bash Builtins. (line 416)
* pushd: Directory Stack Builtins.
(line 53)
* pwd: Bourne Shell Builtins.
(line 206)
* read: Bash Builtins. (line 459)
* readarray: Bash Builtins. (line 553)
* read: Bash Builtins. (line 460)
* readarray: Bash Builtins. (line 554)
* readonly: Bourne Shell Builtins.
(line 216)
* return: Bourne Shell Builtins.
@@ -11030,7 +11032,7 @@ D.1 Index of Shell Builtin Commands
* shift: Bourne Shell Builtins.
(line 256)
* shopt: The Shopt Builtin. (line 9)
* source: Bash Builtins. (line 562)
* source: Bash Builtins. (line 563)
* suspend: Job Control Builtins.
(line 104)
* test: Bourne Shell Builtins.
@@ -11039,12 +11041,12 @@ D.1 Index of Shell Builtin Commands
(line 348)
* trap: Bourne Shell Builtins.
(line 354)
* type: Bash Builtins. (line 567)
* typeset: Bash Builtins. (line 599)
* ulimit: Bash Builtins. (line 605)
* type: Bash Builtins. (line 568)
* typeset: Bash Builtins. (line 600)
* ulimit: Bash Builtins. (line 606)
* umask: Bourne Shell Builtins.
(line 403)
* unalias: Bash Builtins. (line 704)
* unalias: Bash Builtins. (line 705)
* unset: Bourne Shell Builtins.
(line 421)
* wait: Job Control Builtins.
@@ -11699,115 +11701,115 @@ Node: Shell Commands19354
Node: Simple Commands20226
Node: Pipelines20857
Node: Lists23789
Node: Compound Commands25528
Node: Looping Constructs26540
Node: Conditional Constructs29035
Node: Command Grouping40118
Node: Coprocesses41597
Node: GNU Parallel43500
Node: Shell Functions47558
Node: Shell Parameters54641
Node: Positional Parameters59054
Node: Special Parameters59954
Node: Shell Expansions63708
Node: Brace Expansion65831
Node: Tilde Expansion68555
Node: Shell Parameter Expansion71172
Node: Command Substitution85628
Node: Arithmetic Expansion86983
Node: Process Substitution87915
Node: Word Splitting89035
Node: Filename Expansion90979
Node: Pattern Matching93509
Node: Quote Removal97495
Node: Redirections97790
Node: Executing Commands107348
Node: Simple Command Expansion108018
Node: Command Search and Execution109948
Node: Command Execution Environment112324
Node: Environment115308
Node: Exit Status116967
Node: Signals118637
Node: Shell Scripts120604
Node: Shell Builtin Commands123119
Node: Bourne Shell Builtins125157
Node: Bash Builtins145907
Node: Modifying Shell Behavior174820
Node: The Set Builtin175165
Node: The Shopt Builtin185578
Node: Special Builtins203150
Node: Shell Variables204129
Node: Bourne Shell Variables204566
Node: Bash Variables206670
Node: Bash Features237130
Node: Invoking Bash238029
Node: Bash Startup Files244042
Node: Interactive Shells249145
Node: What is an Interactive Shell?249555
Node: Is this Shell Interactive?250204
Node: Interactive Shell Behavior251019
Node: Bash Conditional Expressions254506
Node: Shell Arithmetic259083
Node: Aliases261900
Node: Arrays264520
Node: The Directory Stack269886
Node: Directory Stack Builtins270670
Node: Controlling the Prompt273638
Node: The Restricted Shell276404
Node: Bash POSIX Mode278229
Node: Job Control289162
Node: Job Control Basics289622
Node: Job Control Builtins294590
Node: Job Control Variables299317
Node: Command Line Editing300473
Node: Introduction and Notation302144
Node: Readline Interaction303767
Node: Readline Bare Essentials304958
Node: Readline Movement Commands306741
Node: Readline Killing Commands307701
Node: Readline Arguments309619
Node: Searching310663
Node: Readline Init File312849
Node: Readline Init File Syntax313996
Node: Conditional Init Constructs334435
Node: Sample Init File338631
Node: Bindable Readline Commands341748
Node: Commands For Moving342952
Node: Commands For History344801
Node: Commands For Text349096
Node: Commands For Killing352484
Node: Numeric Arguments354965
Node: Commands For Completion356104
Node: Keyboard Macros360295
Node: Miscellaneous Commands360982
Node: Readline vi Mode366935
Node: Programmable Completion367842
Node: Programmable Completion Builtins375622
Node: A Programmable Completion Example386315
Node: Using History Interactively391555
Node: Bash History Facilities392239
Node: Bash History Builtins395244
Node: History Interaction399775
Node: Event Designators403395
Node: Word Designators404614
Node: Modifiers406251
Node: Installing Bash407653
Node: Basic Installation408790
Node: Compilers and Options412048
Node: Compiling For Multiple Architectures412789
Node: Installation Names414482
Node: Specifying the System Type415300
Node: Sharing Defaults416016
Node: Operation Controls416689
Node: Optional Features417647
Node: Reporting Bugs428165
Node: Major Differences From The Bourne Shell429359
Node: GNU Free Documentation License446211
Node: Indexes471388
Node: Builtin Index471842
Node: Reserved Word Index478669
Node: Variable Index481117
Node: Function Index496868
Node: Concept Index510171
Node: Compound Commands25580
Node: Looping Constructs26592
Node: Conditional Constructs29087
Node: Command Grouping40170
Node: Coprocesses41649
Node: GNU Parallel43552
Node: Shell Functions47610
Node: Shell Parameters54693
Node: Positional Parameters59106
Node: Special Parameters60006
Node: Shell Expansions63760
Node: Brace Expansion65883
Node: Tilde Expansion68607
Node: Shell Parameter Expansion71224
Node: Command Substitution85680
Node: Arithmetic Expansion87035
Node: Process Substitution87967
Node: Word Splitting89087
Node: Filename Expansion91031
Node: Pattern Matching93561
Node: Quote Removal97547
Node: Redirections97842
Node: Executing Commands107400
Node: Simple Command Expansion108070
Node: Command Search and Execution110000
Node: Command Execution Environment112376
Node: Environment115360
Node: Exit Status117019
Node: Signals118689
Node: Shell Scripts120656
Node: Shell Builtin Commands123171
Node: Bourne Shell Builtins125209
Node: Bash Builtins145959
Node: Modifying Shell Behavior174884
Node: The Set Builtin175229
Node: The Shopt Builtin185642
Node: Special Builtins203214
Node: Shell Variables204193
Node: Bourne Shell Variables204630
Node: Bash Variables206734
Node: Bash Features237194
Node: Invoking Bash238093
Node: Bash Startup Files244106
Node: Interactive Shells249209
Node: What is an Interactive Shell?249619
Node: Is this Shell Interactive?250268
Node: Interactive Shell Behavior251083
Node: Bash Conditional Expressions254570
Node: Shell Arithmetic259147
Node: Aliases261964
Node: Arrays264584
Node: The Directory Stack269950
Node: Directory Stack Builtins270734
Node: Controlling the Prompt273702
Node: The Restricted Shell276468
Node: Bash POSIX Mode278293
Node: Job Control289226
Node: Job Control Basics289686
Node: Job Control Builtins294654
Node: Job Control Variables299381
Node: Command Line Editing300537
Node: Introduction and Notation302208
Node: Readline Interaction303831
Node: Readline Bare Essentials305022
Node: Readline Movement Commands306805
Node: Readline Killing Commands307765
Node: Readline Arguments309683
Node: Searching310727
Node: Readline Init File312913
Node: Readline Init File Syntax314060
Node: Conditional Init Constructs334499
Node: Sample Init File338695
Node: Bindable Readline Commands341812
Node: Commands For Moving343016
Node: Commands For History344865
Node: Commands For Text349160
Node: Commands For Killing352548
Node: Numeric Arguments355029
Node: Commands For Completion356168
Node: Keyboard Macros360359
Node: Miscellaneous Commands361046
Node: Readline vi Mode366999
Node: Programmable Completion367906
Node: Programmable Completion Builtins375686
Node: A Programmable Completion Example386379
Node: Using History Interactively391619
Node: Bash History Facilities392303
Node: Bash History Builtins395308
Node: History Interaction399839
Node: Event Designators403459
Node: Word Designators404678
Node: Modifiers406315
Node: Installing Bash407717
Node: Basic Installation408854
Node: Compilers and Options412112
Node: Compiling For Multiple Architectures412853
Node: Installation Names414546
Node: Specifying the System Type415364
Node: Sharing Defaults416080
Node: Operation Controls416753
Node: Optional Features417711
Node: Reporting Bugs428229
Node: Major Differences From The Bourne Shell429423
Node: GNU Free Documentation License446275
Node: Indexes471452
Node: Builtin Index471906
Node: Reserved Word Index478733
Node: Variable Index481181
Node: Function Index496932
Node: Concept Index510235

End Tag Table
BIN
View File
Binary file not shown.
+154 -153
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
%%CreationDate: Mon Nov 19 15:20:58 2018
%%CreationDate: Tue Dec 18 11:43:40 2018
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
@@ -340,7 +340,7 @@ F .475(xtended deb)-.15 F(ug-)-.2 E
(~/.bashr)3.598 E(c)-.37 E F0 1.598(if the)4.408 F(shell is interacti)
144 710.4 Q .3 -.15(ve \()-.25 H(see).15 E F4(INV)2.5 E(OCA)-.405 E
(TION)-.855 E F0(belo)2.25 E(w\).)-.25 E(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(1)195.395 E 0 Cg EP
(2018 December 7)139.295 E(1)193.455 E 0 Cg EP
%%Page: 2 2
%%BeginPageSetup
BP
@@ -462,8 +462,8 @@ F2(~/.bashr)108 691.2 Q(c)-.37 E F0 2.535(,i)C 2.535(ft)-2.535 G .035
Q F1(bash)5.306 E F0 2.806(is started non-interacti)5.306 F -.15(ve)-.25
G(ly).15 E 5.306(,t)-.65 G 5.306(or)-5.306 G 2.806
(un a shell script, for e)-5.306 F 2.805(xample, it looks for the v)-.15
F(ariable)-.25 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(2)
195.395 E 0 Cg EP
F(ariable)-.25 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(2)
193.455 E 0 Cg EP
%%Page: 3 3
%%BeginPageSetup
BP
@@ -598,7 +598,7 @@ F .389(wed by)-.25 F F2(blank)2.889 E F0 .389(-separated w)B .389
-.15(xe)-.15 G(cuted,).15 E(and is passed as ar)108 722.4 Q
(gument zero.)-.18 E(The remaining w)5 E(ords are passed as ar)-.1 E
(guments to the in)-.18 E -.2(vo)-.4 G -.1(ke).2 G 2.5(dc).1 G(ommand.)
-2.5 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(3)195.395 E 0 Cg
-2.5 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(3)193.455 E 0 Cg
EP
%%Page: 4 4
%%BeginPageSetup
@@ -693,18 +693,20 @@ F .961(wed by)-.25 F F2(;)3.461 E F0(and)3.461 E F2(&)3.461 E F0 3.461
(If a command is terminated by the control operator)108 544.8 R F2(&)
2.529 E F0 2.529(,t)C .029(he shell e)-2.529 F -.15(xe)-.15 G .029
(cutes the command in the).15 F F1(bac)2.528 E(kgr)-.2 E(ound)-.45 E F0
(in)2.528 E 2.875(as)108 556.8 S 2.875(ubshell. The)-2.875 F .375
(shell does not w)2.875 F .375
(ait for the command to \214nish, and the return status is 0.)-.1 F .376
(Commands sepa-)5.376 F .849(rated by a)108 568.8 R F2(;)3.349 E F0 .849
(are e)3.349 F -.15(xe)-.15 G .848(cuted sequentially; the shell w).15 F
.848(aits for each command to terminate in turn.)-.1 F .848(The return)
5.848 F(status is the e)108 580.8 Q(xit status of the last command e)
-.15 E -.15(xe)-.15 G(cuted.).15 E .937(AND and OR lists are sequences \
of one or more pipelines separated by the)108 597.6 R F2(&&)3.437 E F0
(and)3.437 E F2(||)3.437 E F0 .937(control operators,)3.437 F(respecti)
108 609.6 Q -.15(ve)-.25 G(ly).15 E 5(.A)-.65 G(ND and OR lists are e)-5
E -.15(xe)-.15 G(cuted with left associati).15 E(vity)-.25 E 5(.A)-.65 G
(in)2.528 E 2.678(as)108 556.8 S 2.678(ubshell. The)-2.678 F .178
(shell does not w)2.678 F .178
(ait for the command to \214nish, and the return status is 0.)-.1 F .178
(These are referred)5.178 F .779(to as)108 568.8 R F1(async)3.279 E(hr)
-.15 E(onous)-.45 E F0 3.279(commands. Commands)3.279 F .779
(separated by a)3.279 F F2(;)3.279 E F0 .779(are e)3.279 F -.15(xe)-.15
G .778(cuted sequentially; the shell w).15 F .778(aits for)-.1 F
(each command to terminate in turn.)108 580.8 Q
(The return status is the e)5 E(xit status of the last command e)-.15 E
-.15(xe)-.15 G(cuted.).15 E .937(AND and OR lists are sequences of one \
or more pipelines separated by the)108 597.6 R F2(&&)3.437 E F0(and)
3.437 E F2(||)3.437 E F0 .937(control operators,)3.437 F(respecti)108
609.6 Q -.15(ve)-.25 G(ly).15 E 5(.A)-.65 G(ND and OR lists are e)-5 E
-.15(xe)-.15 G(cuted with left associati).15 E(vity)-.25 E 5(.A)-.65 G
2.5(nA)-5 G(ND list has the form)-2.5 E F1(command1)144 626.4 Q F2(&&)
2.5 E F1(command2)2.5 E(command2)108.2 643.2 Q F0(is e)2.52 E -.15(xe)
-.15 G(cuted if, and only if,).15 E F1(command1)2.7 E F0(returns an e)
@@ -715,8 +717,8 @@ E -.15(xe)-.15 G(cuted with left associati).15 E(vity)-.25 E 5(.A)-.65 G
(returns a non-zero e)2.935 F .435(xit status.)-.15 F .434
(The return status of AND)5.434 F(and OR lists is the e)108 705.6 Q
(xit status of the last command e)-.15 E -.15(xe)-.15 G
(cuted in the list.).15 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235
E(4)195.395 E 0 Cg EP
(cuted in the list.).15 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295
E(4)193.455 E 0 Cg EP
%%Page: 5 5
%%BeginPageSetup
BP
@@ -845,8 +847,8 @@ F0 .597(with inde)2.847 F 3.097(x0i)-.15 G(s)-3.097 E .049
2.5 E F0 .523(Returns the v)180 685.2 R .522(alue of)-.25 F F2 -.2(ex)
3.022 G(pr).2 E(ession)-.37 E F0 5.522(.T)C .522(his may be used to o)
-5.522 F -.15(ve)-.15 G .522(rride the normal precedence of).15 F
(operators.)180 697.2 Q(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E
(5)195.395 E 0 Cg EP
(operators.)180 697.2 Q(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E
(5)193.455 E 0 Cg EP
%%Page: 6 6
%%BeginPageSetup
BP
@@ -994,7 +996,7 @@ F .478(xit status is zero, the)-.15 F F1(then)2.978 E F2(list)2.978 E F0
-.15 F .103(xit sta-)-.15 F(tus of the last command e)144 688.8 Q -.15
(xe)-.15 G(cuted, or zero if no condition tested true.).15 E F1(while)
108 705.6 Q F2(list-1)2.5 E F0(;)A F1(do)2.5 E F2(list-2)2.5 E F0(;)A F1
(done)2.5 E F0(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(6)195.395
(done)2.5 E F0(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(6)193.455
E 0 Cg EP
%%Page: 7 7
%%BeginPageSetup
@@ -1129,7 +1131,7 @@ F .952(ord be)-.1 F .952(ginning with)-.15 F F1(#)3.451 E F0 .951
(omments. The)-3.837 F F1(interacti)3.836 E -.1(ve)-.1 G(_comments).1 E
F0 1.336(option is on by def)3.836 F 1.336(ault in)-.1 F(interacti)108
698.4 Q .3 -.15(ve s)-.25 H(hells.).15 E(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(7)195.395 E 0 Cg EP
(2018 December 7)139.295 E(7)193.455 E 0 Cg EP
%%Page: 8 8
%%BeginPageSetup
BP
@@ -1234,7 +1236,7 @@ ngle-quoted, as if the dollar sign had not been present.)-.15 E 2.64(Ad)
108 720 S .14(ouble-quoted string preceded by a dollar sign \()-2.64 F
F4($)A F0(")A F2(string)A F0 .14
("\) will cause the string to be translated according)B(GNU Bash 5.0)72
768 Q(2018 October 22)141.235 E(8)195.395 E 0 Cg EP
768 Q(2018 December 7)139.295 E(8)193.455 E 0 Cg EP
%%Page: 9 9
%%BeginPageSetup
BP
@@ -1385,7 +1387,7 @@ F0 5.144(.I)C 2.644(ft)-5.144 G .144(he control v)-2.644 F .144
(ke).2 G .444(d, and may be reassigned using).1 F(the)108 722.4 Q F1
(set)3.333 E F0 -.2(bu)3.333 G .833(iltin command.).2 F .834(Positional\
parameters may not be assigned to with assignment statements.)5.833 F
(The)5.834 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(9)195.395 E
(The)5.834 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(9)193.455 E
0 Cg EP
%%Page: 10 10
%%BeginPageSetup
@@ -1519,7 +1521,7 @@ F F1 -.27(BA)3.048 G(SHPID).27 E F0(ha)144 727.2 Q .3 -.15(ve n)-.2 H
2.5(oe).15 G -.25(ff)-2.5 G 2.5(ect. If).25 F F2 -.3(BA)2.5 G(SHPID).3 E
F0(is unset, it loses its special properties, e)2.5 E -.15(ve)-.25 G 2.5
(ni).15 G 2.5(fi)-2.5 G 2.5(ti)-2.5 G 2.5(ss)-2.5 G(ubsequently reset.)
-2.5 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(10)190.395 E 0 Cg
-2.5 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(10)188.455 E 0 Cg
EP
%%Page: 11 11
%%BeginPageSetup
@@ -1638,8 +1640,8 @@ shell function)-.25 F .781(names in the)144 708 R F2(FUNCN)3.28 E(AME)
(The shell function)5.78 F F1(${FUNCN)3.28 E(AME[)-.2 E F4($i)A F1(]})A
F0(is)3.28 E(de\214ned in the \214le)144 720 Q F1(${B)2.5 E(ASH_SOURCE[)
-.3 E F4($i)A F1(]})A F0(and called from)2.5 E F1(${B)2.5 E(ASH_SOURCE[)
-.3 E F4($i+1)A F1(]})A F0(.)A(GNU Bash 5.0)72 768 Q(2018 October 22)
141.235 E(11)190.395 E 0 Cg EP
-.3 E F4($i+1)A F1(]})A F0(.)A(GNU Bash 5.0)72 768 Q(2018 December 7)
139.295 E(11)188.455 E 0 Cg EP
%%Page: 12 12
%%BeginPageSetup
BP
@@ -1755,8 +1757,8 @@ F0 -.2(bu)2.746 G .246(iltins must be used to add and remo).2 F .546
F(ariable)-.25 E .35(will not change the current directory)144 726 R
5.35(.I)-.65 G(f)-5.35 E F3(DIRST)2.85 E -.495(AC)-.81 G(K).495 E F0 .35
(is unset, it loses its special properties, e)2.6 F -.15(ve)-.25 G 2.851
(ni).15 G(f)-2.851 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(12)
190.395 E 0 Cg EP
(ni).15 G(f)-2.851 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(12)
188.455 E 0 Cg EP
%%Page: 13 13
%%BeginPageSetup
BP
@@ -1862,7 +1864,7 @@ F1(getopts)4.127 E F0 -.2(bu)4.127 G 1.627(iltin command \(see).2 F F3
1.652(gument to be processed by the)-.18 F F1(getopts)4.151 E F0 -.2(bu)
4.151 G 1.651(iltin command \(see).2 F F3(SHELL)4.151 E -.09(BU)144 726
S(IL).09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)-.25 E(GNU Bash 5.0)
72 768 Q(2018 October 22)141.235 E(13)190.395 E 0 Cg EP
72 768 Q(2018 December 7)139.295 E(13)188.455 E 0 Cg EP
%%Page: 14 14
%%BeginPageSetup
BP
@@ -1980,7 +1982,7 @@ F(,)-.4 E F1(bash)2.98 E F0 .48(will write the trace output gener)2.98 F
(-)-.2 E 3.114(ated when)144 729.6 R F4 3.114(set -x)5.614 F F0 3.114
(is enabled to that \214le descriptor)5.614 F 8.114(.T)-.55 G 3.114
(he \214le descriptor is closed when)-8.114 F(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(14)190.395 E 0 Cg EP
(2018 December 7)139.295 E(14)188.455 E 0 Cg EP
%%Page: 15 15
%%BeginPageSetup
BP
@@ -2099,7 +2101,7 @@ F -.15(ve)-.2 G 2.653(do).15 G 2.653(nt)-2.653 G .153(he history list.)
(he history list, subject to the v)-2.942 F .442(alue of)-.25 F F1
(HISTIGNORE)144 720 Q F4(.)A F0 1.981(The second and subsequent lines o\
f a multi-line compound command are not)6.482 F(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(15)190.395 E 0 Cg EP
(2018 December 7)139.295 E(15)188.455 E 0 Cg EP
%%Page: 16 16
%%BeginPageSetup
BP
@@ -2218,8 +2220,8 @@ E F3(INSIDE_EMA)108 684 Q(CS)-.55 E F0 .886(If this v)144 696 R .886
-.4 F F3(bash)3.386 E F0 .887(assumes that it is running)3.386 F
(inside an Emacs shell b)144 708 Q(uf)-.2 E
(fer and may disable line editing, depending on the v)-.25 E(alue of)
-.25 E F3(TERM)2.5 E F0(.)A(GNU Bash 5.0)72 768 Q(2018 October 22)
141.235 E(16)190.395 E 0 Cg EP
-.25 E F3(TERM)2.5 E F0(.)A(GNU Bash 5.0)72 768 Q(2018 December 7)
139.295 E(16)188.455 E 0 Cg EP
%%Page: 17 17
%%BeginPageSetup
BP
@@ -2326,7 +2328,7 @@ E F0 .471(starts, the shell enters)2.971 F/F5 10/Times-Italic@0 SF .471
(nents to retain when e)144 720 R .923(xpanding the)-.15 F F1(\\w)3.423
E F0(and)3.423 E F1(\\W)3.423 E F0 .923(prompt string escapes \(see)
3.423 F F2(PR)3.423 E(OMPTING)-.27 E F0(belo)3.173 E(w\).)-.25 E
(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(17)190.395 E 0 Cg EP
(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(17)188.455 E 0 Cg EP
%%Page: 18 18
%%BeginPageSetup
BP
@@ -2446,7 +2448,7 @@ E F0(belo)3.084 E 3.334(w\). If)-.25 F .834(set to an)3.334 F 3.334(yo)
(must be a pre\214x of a stopped job')144 728.4 R 2.816(sn)-.55 G .316
(ame; this pro)-2.816 F .315(vides functionality analogous to the)-.15 F
F1(%)2.815 E F3(string)A F0(job)2.815 E(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(18)190.395 E 0 Cg EP
(2018 December 7)139.295 E(18)188.455 E 0 Cg EP
%%Page: 19 19
%%BeginPageSetup
BP
@@ -2593,7 +2595,7 @@ R 5.294(.I)-.65 G 2.794(ft)-5.294 G(he)-2.794 E F3(subscript)3.135 E F0
108 715.2 R 2.5(yr)-.15 G(eference to a v)-2.5 E(ariable using a v)-.25
E(alid subscript is le)-.25 E -.05(ga)-.15 G(l, and).05 E F1(bash)2.5 E
F0(will create an array if necessary)2.5 E(.)-.65 E(GNU Bash 5.0)72 768
Q(2018 October 22)141.235 E(19)190.395 E 0 Cg EP
Q(2018 December 7)139.295 E(19)188.455 E 0 Cg EP
%%Page: 20 20
%%BeginPageSetup
BP
@@ -2740,7 +2742,7 @@ F2(y)3.564 E F0 3.564(,i)C(nclusi)-3.564 E -.15(ve)-.25 G 3.564(,u).15 G
(It is strictly te)6.209 F(xtual.)-.15 E F1(Bash)6.209 E F0 1.209
(does not apply an)3.709 F 3.709(ys)-.15 G 1.209
(yntactic interpretation to the)-3.709 F(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(20)190.395 E 0 Cg EP
(2018 December 7)139.295 E(20)188.455 E 0 Cg EP
%%Page: 21 21
%%BeginPageSetup
BP
@@ -2866,7 +2868,7 @@ Q 1.189
5.177 E(ameter)-.15 E F0 2.677(is a shell parameter as described abo)
5.177 F -.15(ve)-.15 G F1 -.74(PA)144 729.6 S(RAMETERS).74 E F0 2.5(\)o)
C 2.5(ra)-2.5 G 2.5(na)-2.5 G(rray reference \()-2.5 E F1(Arrays)A F0
(\).)A(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(21)190.395 E 0 Cg
(\).)A(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(21)188.455 E 0 Cg
EP
%%Page: 22 22
%%BeginPageSetup
@@ -2999,7 +3001,7 @@ E F0 .459(positional parameters be)2.959 F .458(ginning at)-.15 F F1(of)
(luates to a).25 F(number less than zero.)144 686.4 Q(Substring e)144
710.4 Q(xpansion applied to an associati)-.15 E .3 -.15(ve a)-.25 H
(rray produces unde\214ned results.).15 E(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(22)190.395 E 0 Cg EP
(2018 December 7)139.295 E(22)188.455 E 0 Cg EP
%%Page: 23 23
%%BeginPageSetup
BP
@@ -3142,7 +3144,7 @@ E F0 .958(are deleted and the)3.457 F F2(/)3.458 E F0(follo)3.458 E
144 724.8 R(If)5.883 E F1(par)4.633 E(ameter)-.15 E F0(is)4.113 E F2(@)
3.383 E F0(or)3.383 E F2(*)3.383 E F0 3.383(,t)C .884
(he substitution operation is applied to each positional)-3.383 F
(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(23)190.395 E 0 Cg EP
(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(23)188.455 E 0 Cg EP
%%Page: 24 24
%%BeginPageSetup
BP
@@ -3256,7 +3258,7 @@ sub-)-5.315 F 3.886(stitution. When)108 717.6 R 1.386(using the $\()
(orm, all characters between the parentheses mak)-3.886 F 3.887(eu)-.1 G
3.887(pt)-3.887 G 1.387(he com-)-3.887 F
(mand; none are treated specially)108 729.6 Q(.)-.65 E(GNU Bash 5.0)72
768 Q(2018 October 22)141.235 E(24)190.395 E 0 Cg EP
768 Q(2018 December 7)139.295 E(24)188.455 E 0 Cg EP
%%Page: 25 25
%%BeginPageSetup
BP
@@ -3390,8 +3392,8 @@ F3 -.09(Pa)3.062 G(tter).09 E 2.812(nM)-.135 G(atching)-2.812 E F0(belo)
(nocaseglob)3.88 E F0(is)3.88 E .103
(enabled, the match is performed without re)108 729.6 R -.05(ga)-.15 G
.104(rd to the case of alphabetic characters.).05 F .104
(When a pattern is used)5.104 F(GNU Bash 5.0)72 768 Q(2018 October 22)
141.235 E(25)190.395 E 0 Cg EP
(When a pattern is used)5.104 F(GNU Bash 5.0)72 768 Q(2018 December 7)
139.295 E(25)188.455 E 0 Cg EP
%%Page: 26 26
%%BeginPageSetup
BP
@@ -3529,7 +3531,7 @@ E F4(symbol)A F1(.])A F0(matches the collating symbol)2.5 E F4(symbol)
(is a list of one or more patterns separated by a)2.755 F F1(|)2.756 E
F0(.)A(Composite patterns may be formed using one or more of the follo)
108 718.8 Q(wing sub-patterns:)-.25 E(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(26)190.395 E 0 Cg EP
(2018 December 7)139.295 E(26)188.455 E 0 Cg EP
%%Page: 27 27
%%BeginPageSetup
BP
@@ -3627,8 +3629,8 @@ F -.15(ve)-.25 G .598(ral \214lenames specially when the).15 F 3.099(ya)
(vior described belo)-.2 E -.65(w.)-.25 G F1(/de)144 686.4 Q(v/fd/)-.15
E F2(fd)A F0(If)180 698.4 Q F2(fd)2.5 E F0(is a v)2.5 E(alid inte)-.25 E
(ger)-.15 E 2.5<2c8c>-.4 G(le descriptor)-2.5 E F2(fd)2.5 E F0
(is duplicated.)2.5 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E
(27)190.395 E 0 Cg EP
(is duplicated.)2.5 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E
(27)188.455 E 0 Cg EP
%%Page: 28 28
%%BeginPageSetup
BP
@@ -3718,7 +3720,7 @@ E F1(>&)A F0(1)A .114(When using the second form,)108 710.4 R F2(wor)
.115(oes, other redirection operators)-2.615 F(apply \(see)108 722.4 Q
F1(Duplicating File Descriptors)2.5 E F0(belo)2.5 E
(w\) for compatibility reasons.)-.25 E(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(28)190.395 E 0 Cg EP
(2018 December 7)139.295 E(28)188.455 E 0 Cg EP
%%Page: 29 29
%%BeginPageSetup
BP
@@ -3810,7 +3812,7 @@ F0 2.754<2c8c>C .254(le descriptor)-2.754 F F2(n)3.114 E F0 .254
3.465 E F0 3.466(,t)C .966
(he standard output and standard error are redirected as described)
-3.466 F(pre)108 691.2 Q(viously)-.25 E(.)-.65 E(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(29)190.395 E 0 Cg EP
(2018 December 7)139.295 E(29)188.455 E 0 Cg EP
%%Page: 30 30
%%BeginPageSetup
BP
@@ -3932,8 +3934,8 @@ F .639(function is e)108 708 R -.15(xe)-.15 G .639(cuted, the ar).15 F
-.18 F -.15(xe)-.15 G(cution.).15 E 1.659(The special parameter)108 720
R F1(#)4.159 E F0 1.659(is updated to re\215ect the change.)4.159 F
1.659(Special parameter)6.659 F F1(0)4.159 E F0 1.658(is unchanged.)
4.158 F 1.658(The \214rst)6.658 F(GNU Bash 5.0)72 768 Q(2018 October 22)
141.235 E(30)190.395 E 0 Cg EP
4.158 F 1.658(The \214rst)6.658 F(GNU Bash 5.0)72 768 Q(2018 December 7)
139.295 E(30)188.455 E 0 Cg EP
%%Page: 31 31
%%BeginPageSetup
BP
@@ -4074,7 +4076,7 @@ G(r\215o).15 E 2.357 -.65(w, t)-.25 H 1.057(hough di).65 F 1.057
(ve)-.25 G .439(ls of equal-precedence operators.).15 F .44(The le)5.44
F -.15(ve)-.25 G .44(ls are listed in order).15 F
(of decreasing precedence.)108 708 Q(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(31)190.395 E 0 Cg EP
(2018 December 7)139.295 E(31)188.455 E 0 Cg EP
%%Page: 32 32
%%BeginPageSetup
BP
@@ -4174,7 +4176,7 @@ F1(\214le)3.653 E F0(ar)108 672 Q .426
(Unless otherwise speci\214ed, primaries that operate on \214les follo)
108 712.8 R 3.221(ws)-.25 G .721(ymbolic links and operate on the tar)
-3.221 F(get)-.18 E(of the link, rather than the link itself.)108 724.8
Q(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(32)190.395 E 0 Cg EP
Q(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(32)188.455 E 0 Cg EP
%%Page: 33 33
%%BeginPageSetup
BP
@@ -4266,7 +4268,7 @@ E F0(is set \(has been assigned a v)2.68 E(alue\).)-.25 E F1<ad52>108
(ue if the strings are not equal.).35 E F2(string1)108 686.4 Q F1(<)2.5
E F2(string2)2.5 E F0 -.35(Tr)144 698.4 S(ue if).35 E F2(string1)2.5 E
F0(sorts before)2.5 E F2(string2)2.5 E F0(le)2.5 E(xicographically)-.15
E(.)-.65 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(33)190.395 E
E(.)-.65 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(33)188.455 E
0 Cg EP
%%Page: 34 34
%%BeginPageSetup
@@ -4388,8 +4390,8 @@ ful, or if the command name contains one or more slashes, the shell e)
-.15(xe)-.15 G 1.809(cution f).15 F 1.809
(ails because the \214le is not in e)-.1 F -.15(xe)-.15 G 1.809
(cutable format, and the \214le is not a directory).15 F 4.309(,i)-.65 G
4.309(ti)-4.309 G(s)-4.309 E(GNU Bash 5.0)72 768 Q(2018 October 22)
141.235 E(34)190.395 E 0 Cg EP
4.309(ti)-4.309 G(s)-4.309 E(GNU Bash 5.0)72 768 Q(2018 December 7)
139.295 E(34)188.455 E 0 Cg EP
%%Page: 35 35
%%BeginPageSetup
BP
@@ -4494,7 +4496,7 @@ F2<ad65>3.876 E F0 1.376(option from the parent)3.876 F 2.5(shell. When)
(.O)C .198(therwise, the in)-5.198 F -.2(vo)-.4 G -.1(ke).2 G 2.698(dc)
.1 G .197(ommand inherits the \214le descriptors of the calling shell)
-2.698 F(as modi\214ed by redirections.)108 717.6 Q(GNU Bash 5.0)72 768
Q(2018 October 22)141.235 E(35)190.395 E 0 Cg EP
Q(2018 December 7)139.295 E(35)188.455 E 0 Cg EP
%%Page: 36 36
%%BeginPageSetup
BP
@@ -4630,8 +4632,8 @@ G .93(rom the)-3.43 F 1.357(jobs table with the)108 686.4 R F3(diso)
(shell option has been set with)2.666 F F3(shopt)2.666 E F0(,)A F3(bash)
2.666 E F0 .166(sends a)2.666 F F4(SIGHUP)2.666 E F0 .166
(to all jobs when an interacti)2.416 F -.15(ve)-.25 G(login shell e)108
727.2 Q(xits.)-.15 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(36)
190.395 E 0 Cg EP
727.2 Q(xits.)-.15 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(36)
188.455 E 0 Cg EP
%%Page: 37 37
%%BeginPageSetup
BP
@@ -4773,7 +4775,7 @@ R -.15(ve)-.25 G 2.631(raj).15 G .131(ob changes state.)-2.631 F
(reports such changes immediately)2.648 F 5.147(.A)-.65 G .447 -.15
(ny t)-5.147 H .147(rap on).15 F F4(SIGCHLD)2.647 E F0 .147(is e)2.397 F
-.15(xe)-.15 G(-).15 E(cuted for each child that e)108 715.2 Q(xits.)
-.15 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(37)190.395 E 0 Cg
-.15 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(37)188.455 E 0 Cg
EP
%%Page: 38 38
%%BeginPageSetup
@@ -4875,7 +4877,7 @@ story \214le \(see)108 650.4 R F3(HIST)4.085 E(OR)-.162 E(Y)-.315 E F0
(pr)2.852 E(omptv)-.18 E(ars)-.1 E F0 .351(shell option \(see the)2.852
F(description of the)108 698.4 Q F1(shopt)2.5 E F0(command under)2.5 E
F3(SHELL B)2.5 E(UIL)-.09 E(TIN COMMANDS)-.828 E F0(belo)2.25 E(w\).)
-.25 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(38)190.395 E 0 Cg
-.25 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(38)188.455 E 0 Cg
EP
%%Page: 39 39
%%BeginPageSetup
@@ -5002,7 +5004,7 @@ E F4(macr)2.66 E(o)-.45 E F0(,)A F4 -.1(ke)2.66 G(yname)-.2 E F0 .161
144 700.8 Q -.15(ve)-.25 G(rsal\255ar).15 E(gument)-.18 E
(Meta-Rubout: backw)144 712.8 Q(ard-kill-w)-.1 E(ord)-.1 E
(Control-o: "> output")144 724.8 Q(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(39)190.395 E 0 Cg EP
(2018 December 7)139.295 E(39)188.455 E 0 Cg EP
%%Page: 40 40
%%BeginPageSetup
BP
@@ -5097,7 +5099,7 @@ E F0 2.51(,r)C .01(eadline ne)-2.51 F -.15(ve)-.25 G(r).15 E .94
3.44(,r)C .94(eadline uses a visible bell if one is a)-3.44 F -.25(va)
-.2 G 3.44(ilable. If).25 F .94(set to)3.44 F F2(audible)3.44 E F0(,)A
(readline attempts to ring the terminal')144 708 Q 2.5(sb)-.55 G(ell.)
-2.5 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(40)190.395 E 0 Cg
-2.5 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(40)188.455 E 0 Cg
EP
%%Page: 41 41
%%BeginPageSetup
@@ -5203,7 +5205,7 @@ R -.15(ve)-.25 G 5.622(.T).15 G .622(he v)-5.622 F .622(alue is e)-.25 F
(ailable. Use)-.05 F .298(the \\1 and \\2 escapes to be)2.798 F .298
(gin and end sequences of non-printing characters, which)-.15 F
(can be used to embed a terminal control sequence into the mode string.)
144 720 Q(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(41)190.395 E 0
144 720 Q(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(41)188.455 E 0
Cg EP
%%Page: 42 42
%%BeginPageSetup
@@ -5314,7 +5316,7 @@ E F2 -.37(re)2.551 G(adline).37 E F0 .051(will w)2.551 F .051
.15 E F1(mark\255modi\214ed\255lines \(Off\))108 684 Q F0(If set to)144
696 Q F1(On)2.5 E F0 2.5(,h)C(istory lines that ha)-2.5 E .3 -.15(ve b)
-.2 H(een modi\214ed are displayed with a preceding asterisk \().15 E F1
(*)A F0(\).)A(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(42)190.395
(*)A F0(\).)A(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(42)188.455
E 0 Cg EP
%%Page: 43 43
%%BeginPageSetup
@@ -5420,7 +5422,7 @@ F .186(last line of the primary prompt when vi editing mode is acti)144
-.2 G 2.815(ilable. Use).25 F .314(the \\1 and \\2 escapes to be)2.815 F
.314(gin and end sequences of non-print-)-.15 F(ing characters, which c\
an be used to embed a terminal control sequence into the mode string.)
144 708 Q(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(43)190.395 E 0
144 708 Q(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(43)188.455 E 0
Cg EP
%%Page: 44 44
%%BeginPageSetup
@@ -5521,7 +5523,7 @@ Q F0 .356(This directi)144 684 R .656 -.15(ve t)-.25 H(ak).15 E .356
144 696 R(or e)-.15 E(xample, the follo)-.15 E(wing directi)-.25 E .3
-.15(ve w)-.25 H(ould read).05 E F2(/etc/inputr)2.5 E(c)-.37 E F0(:)A F1
($include)144 720 Q F2(/etc/inputr)5.833 E(c)-.37 E F0(GNU Bash 5.0)72
768 Q(2018 October 22)141.235 E(44)190.395 E 0 Cg EP
768 Q(2018 December 7)139.295 E(44)188.455 E 0 Cg EP
%%Page: 45 45
%%BeginPageSetup
BP
@@ -5625,7 +5627,7 @@ idth.)-.05 E F1(next\255scr)108 700.8 Q(een\255line)-.18 E F0 .638
144 724.8 R .309 -.15(ve t)-.2 H .009(he desired ef).15 F .009
(fect if the current Readline line does not tak)-.25 F 2.509(eu)-.1 G
2.509(pm)-2.509 G .009(ore than one ph)-2.509 F(ysical)-.05 E
(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(45)190.395 E 0 Cg EP
(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(45)188.455 E 0 Cg EP
%%Page: 46 46
%%BeginPageSetup
BP
@@ -5711,7 +5713,7 @@ F .622(ord on the pre)-.1 F .622(vious line\))-.25 F .794(at point.)144
(is computed, the ar)2.781 F .281(gument is e)-.18 F .282
(xtracted as if the "!)-.15 F F3(n)A F0(")A(history e)144 700.8 Q
(xpansion had been speci\214ed.)-.15 E(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(46)190.395 E 0 Cg EP
(2018 December 7)139.295 E(46)188.455 E 0 Cg EP
%%Page: 47 47
%%BeginPageSetup
BP
@@ -5811,7 +5813,7 @@ G .779(nsert characters lik)-3.279 F(e)-.1 E F1(C\255q)3.278 E F0 3.278
(Insert a tab character)144 676.8 Q(.)-.55 E F1
(self\255insert \(a, b, A, 1, !, ...\))108 688.8 Q F0
(Insert the character typed.)144 700.8 Q(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(47)190.395 E 0 Cg EP
(2018 December 7)139.295 E(47)188.455 E 0 Cg EP
%%Page: 48 48
%%BeginPageSetup
BP
@@ -5905,8 +5907,8 @@ F 5.365(.T)-.65 G .365(he killed te)-5.365 F .365(xt is sa)-.15 F -.15
-2.5 E F1(delete\255horizontal\255space \(M\255\\\))108 676.8 Q F0
(Delete all spaces and tabs around point.)144 688.8 Q F1(kill\255r)108
700.8 Q(egion)-.18 E F0(Kill the te)144 712.8 Q(xt in the current re)
-.15 E(gion.)-.15 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(48)
190.395 E 0 Cg EP
-.15 E(gion.)-.15 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(48)
188.455 E 0 Cg EP
%%Page: 49 49
%%BeginPageSetup
BP
@@ -6008,7 +6010,7 @@ F1(delete\255char\255or\255list)108 633.6 Q F0 .234
-.15 E F1(possible\255\214lename\255completions \(C\255x /\))108 705.6 Q
F0(List the possible completions of the te)144 717.6 Q
(xt before point, treating it as a \214lename.)-.15 E(GNU Bash 5.0)72
768 Q(2018 October 22)141.235 E(49)190.395 E 0 Cg EP
768 Q(2018 December 7)139.295 E(49)188.455 E 0 Cg EP
%%Page: 50 50
%%BeginPageSetup
BP
@@ -6098,7 +6100,7 @@ SF(ESC)5 E F1(f)2.25 E F0(is equi)2.5 E -.25(va)-.25 G(lent to).25 E F1
F 3.595(ee)-.1 G -.15(xe)-3.745 G 1.095(cuting the).15 F F1(undo)3.595 E
F0 1.095(command enough times to)3.595 F
(return the line to its initial state.)144 729.6 Q(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(50)190.395 E 0 Cg EP
(2018 December 7)139.295 E(50)188.455 E 0 Cg EP
%%Page: 51 51
%%BeginPageSetup
BP
@@ -6205,7 +6207,7 @@ F2(compspec)108 724.8 Q F0 3.829(\)h)C 1.329
(as been de\214ned using the)-3.829 F F1(complete)3.829 E F0 -.2(bu)
3.829 G 1.329(iltin \(see).2 F/F3 9/Times-Bold@0 SF 1.329(SHELL B)3.829
F(UIL)-.09 E 1.329(TIN COMMANDS)-.828 F F0(belo)3.579 E 1.328(w\), the)
-.25 F(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(51)190.395 E 0 Cg
-.25 F(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(51)188.455 E 0 Cg
EP
%%Page: 52 52
%%BeginPageSetup
@@ -6349,7 +6351,7 @@ ode as the list of possible completions.)108 684 Q .246(If the pre)108
(If the)108 729.6 R F1 2.03(\255o plusdirs)4.53 F F0 2.03(option w)4.53
F 2.029(as supplied to)-.1 F F1(complete)4.529 E F0 2.029
(when the compspec w)4.529 F 2.029(as de\214ned, directory name)-.1 F
(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(52)190.395 E 0 Cg EP
(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(52)188.455 E 0 Cg EP
%%Page: 53 53
%%BeginPageSetup
BP
@@ -6481,8 +6483,8 @@ F0 3.257(lines. If)3.007 F F5(HISTFILESIZE)3.257 E F0 .757
(iltin may be used to display or modify the history list and).2 F 1.603
(manipulate the history \214le.)108 722.4 R 1.604
(When using command-line editing, search commands are a)6.604 F -.25(va)
-.2 G 1.604(ilable in each).25 F(GNU Bash 5.0)72 768 Q(2018 October 22)
141.235 E(53)190.395 E 0 Cg EP
-.2 G 1.604(ilable in each).25 F(GNU Bash 5.0)72 768 Q(2018 December 7)
139.295 E(53)188.455 E 0 Cg EP
%%Page: 54 54
%%BeginPageSetup
BP
@@ -6614,7 +6616,7 @@ Q F0 1.607(Start a history substitution, e)144 655.2 R 1.607
(This is a synon)5 E(ym for `!\2551'.)-.15 E F2(!)108 715.2 Q F4(string)
A F0 .865(Refer to the most recent command preceding the current positi\
on in the history list starting with)144 715.2 R F4(string)144 727.2 Q
F0(.).22 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(54)190.395 E
F0(.).22 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(54)188.455 E
0 Cg EP
%%Page: 55 55
%%BeginPageSetup
@@ -6735,8 +6737,8 @@ F1(let)2.961 E F0 2.961(,a)C(nd)-2.961 E F1(shift)2.961 E F0 -.2(bu)
(guments be)-.18 F .26(ginning with)-.15 F F1<ad>2.76 E F0 .261
(without requiring)2.76 F F1<adad>2.761 E F0 5.261(.O)C .261(ther b)
-5.261 F .261(uiltins that accept ar)-.2 F .261(guments b)-.18 F .261
(ut are not)-.2 F(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(55)
190.395 E 0 Cg EP
(ut are not)-.2 F(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(55)
188.455 E 0 Cg EP
%%Page: 56 56
%%BeginPageSetup
BP
@@ -6871,7 +6873,7 @@ Q F0(List current)180 685.2 Q F1 -.18(re)2.5 G(adline).18 E F0
G 1.155(equences bound to macros and the strings the)-3.655 F 3.655(yo)
-.15 G 1.155(utput in such a)-3.655 F -.1(wa)180 709.2 S 2.5(yt).1 G
(hat the)-2.5 E 2.5(yc)-.15 G(an be re-read.)-2.5 E(GNU Bash 5.0)72 768
Q(2018 October 22)141.235 E(56)190.395 E 0 Cg EP
Q(2018 December 7)139.295 E(56)188.455 E 0 Cg EP
%%Page: 57 57
%%BeginPageSetup
BP
@@ -7004,7 +7006,7 @@ F0 .468(will return an unsuccessful status.)2.968 F .468(On systems)
144 720 R .71(gument of)-.18 F F1<ad>3.21 E F0 .71(is con)3.21 F -.15
(ve)-.4 G .71(rted to).15 F F3($OLDPWD)3.21 E F0 .71
(before the directory change is attempted.)2.96 F .71(If a non-)5.71 F
(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(57)190.395 E 0 Cg EP
(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(57)188.455 E 0 Cg EP
%%Page: 58 58
%%BeginPageSetup
BP
@@ -7131,7 +7133,7 @@ F3(comp-option)2.5 E F0(The)184 686.4 Q F3(comp-option)2.79 E F0 .291
.15 F 2.791(sb)-.55 G(eha)-2.791 E .291(vior be)-.2 F .291
(yond the simple)-.15 F(generation of completions.)184 698.4 Q F3
(comp-option)5 E F0(may be one of:)2.5 E(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(58)190.395 E 0 Cg EP
(2018 December 7)139.295 E(58)188.455 E 0 Cg EP
%%Page: 59 59
%%BeginPageSetup
BP
@@ -7202,7 +7204,7 @@ E F0(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1
(Names of stopped jobs, if job control is acti)224 696 Q -.15(ve)-.25 G
(.).15 E F1(user)184 708 Q F0(User names.)224 708 Q
(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A(GNU Bash 5.0)72 768
Q(2018 October 22)141.235 E(59)190.395 E 0 Cg EP
Q(2018 December 7)139.295 E(59)188.455 E 0 Cg EP
%%Page: 60 60
%%BeginPageSetup
BP
@@ -7316,7 +7318,7 @@ F1(while)4.254 E F0(,)A F1(until)4.254 E F0 4.254(,o)C(r)-4.254 E F1
(ve)-.25 G(l').15 E 3.014('l)-.74 G .514(oop\) is resumed.)-3.014 F .513
(The return v)5.513 F .513(alue is 0 unless)-.25 F F2(n)3.013 E F0(is)
3.013 E(not greater than or equal to 1.)144 698.4 Q(GNU Bash 5.0)72 768
Q(2018 October 22)141.235 E(60)190.395 E 0 Cg EP
Q(2018 December 7)139.295 E(60)188.455 E 0 Cg EP
%%Page: 61 61
%%BeginPageSetup
BP
@@ -7406,45 +7408,44 @@ Q F0 .909(When the v)180 456 R .909(ariable is assigned a v)-.25 F .909
(ve)-.4 G .91(rted to upper).15 F(-)-.2 E 2.5(case. The)180 468 R(lo)2.5
E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1<ad78>144 480 Q
F0(Mark)180 480 Q F2(name)2.5 E F0 2.5(sf)C(or e)-2.5 E
(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .121
(Using `+' instead of `\255' turns of)144 496.8 R 2.621(ft)-.25 G .121
(he attrib)-2.621 F .121(ute instead, with the e)-.2 F .12
(xceptions that)-.15 F F1(+a)2.62 E F0 .12(may not be used)2.62 F .644
(to destro)144 508.8 R 3.144(ya)-.1 G 3.144(na)-3.144 G .644(rray v)
-3.144 F .644(ariable and)-.25 F F1(+r)3.145 E F0 .645(will not remo)
3.145 F .945 -.15(ve t)-.15 H .645(he readonly attrib).15 F 3.145
(ute. When)-.2 F .645(used in a func-)3.145 F(tion,)144 520.8 Q F1
(declar)2.835 E(e)-.18 E F0(and)2.835 E F1(typeset)2.835 E F0(mak)2.835
E 2.835(ee)-.1 G(ach)-2.835 E F2(name)2.835 E F0 .335
(local, as with the)2.835 F F1(local)2.835 E F0 .335
(command, unless the)2.835 F F1<ad67>2.835 E F0(option)2.835 E 1.282
(is supplied.)144 532.8 R 1.282(If a v)6.282 F 1.283
(ariable name is follo)-.25 F 1.283(wed by =)-.25 F F2(value)A F0 3.783
(,t)C 1.283(he v)-3.783 F 1.283(alue of the v)-.25 F 1.283
(ariable is set to)-.25 F F2(value)3.783 E F0(.)A .927(When using)144
544.8 R F1<ad61>3.427 E F0(or)3.427 E F1<ad41>3.427 E F0 .926
(and the compound assignment syntax to create array v)3.427 F .926
(ariables, additional)-.25 F(attrib)144 556.8 Q .592(utes do not tak)-.2
F 3.092(ee)-.1 G -.25(ff)-3.092 G .592
(ect until subsequent assignments.).25 F .592(The return v)5.592 F .592
(alue is 0 unless an in)-.25 F -.25(va)-.4 G(lid).25 E .429
(option is encountered, an attempt is made to de\214ne a function using)
144 568.8 R/F4 10/Courier@0 SF .428(\255f foo=bar)2.929 F F0 2.928(,a)C
2.928(na)-2.928 G .428(ttempt is)-2.928 F .062(made to assign a v)144
580.8 R .062(alue to a readonly v)-.25 F .063
(ariable, an attempt is made to assign a v)-.25 F .063
(alue to an array v)-.25 F(ari-)-.25 E .102
(able without using the compound assignment syntax \(see)144 592.8 R F1
(Arrays)2.602 E F0(abo)2.602 E -.15(ve)-.15 G .102(\), one of the).15 F
F2(names)2.602 E F0 .101(is not a)2.602 F -.25(va)144 604.8 S .171
(lid shell v).25 F .171(ariable name, an attempt is made to turn of)-.25
F 2.671(fr)-.25 G .171(eadonly status for a readonly v)-2.671 F .172
(ariable, an)-.25 F .96(attempt is made to turn of)144 616.8 R 3.46(fa)
-.25 G .96(rray status for an array v)-3.46 F .96
(ariable, or an attempt is made to display a)-.25 F(non-e)144 628.8 Q
(xistent function with)-.15 E F1<ad66>2.5 E F0(.)A F1
(dirs [\255clpv] [+)108 645.6 Q F2(n)A F1 2.5(][)C<ad>-2.5 E F2(n)A F1
(])A F0 -.4(Wi)144 657.6 S .328
(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .144
(Using `+' instead of `\255' turns of)144 496.8 R 2.643(ft)-.25 G .143
(he attrib)-2.643 F .143(ute instead, with the e)-.2 F .143
(xceptions that)-.15 F F1(+a)2.643 E F0(and)2.643 E F1(+A)2.643 E F0
.143(may not)2.643 F .578(be used to destro)144 508.8 R 3.079(ya)-.1 G
.579(rray v)-3.079 F .579(ariables and)-.25 F F1(+r)3.079 E F0 .579
(will not remo)3.079 F .879 -.15(ve t)-.15 H .579(he readonly attrib).15
F 3.079(ute. When)-.2 F .579(used in a)3.079 F(function,)144 520.8 Q F1
(declar)3.544 E(e)-.18 E F0(and)3.544 E F1(typeset)3.544 E F0(mak)3.544
E 3.544(ee)-.1 G(ach)-3.544 E F2(name)3.543 E F0 1.043
(local, as with the)3.543 F F1(local)3.543 E F0 1.043
(command, unless the)3.543 F F1<ad67>3.543 E F0 1.205
(option is supplied.)144 532.8 R 1.205(If a v)6.205 F 1.205
(ariable name is follo)-.25 F 1.205(wed by =)-.25 F F2(value)A F0 3.705
(,t)C 1.205(he v)-3.705 F 1.205(alue of the v)-.25 F 1.205
(ariable is set to)-.25 F F2(value)144 544.8 Q F0 5.218(.W)C .218
(hen using)-5.218 F F1<ad61>2.718 E F0(or)2.718 E F1<ad41>2.718 E F0
.217(and the compound assignment syntax to create array v)2.717 F .217
(ariables, addi-)-.25 F .882(tional attrib)144 556.8 R .882
(utes do not tak)-.2 F 3.382(ee)-.1 G -.25(ff)-3.382 G .882
(ect until subsequent assignments.).25 F .882(The return v)5.882 F .882
(alue is 0 unless an)-.25 F(in)144 568.8 Q -.25(va)-.4 G 1.26(lid optio\
n is encountered, an attempt is made to de\214ne a function using).25 F
/F4 10/Courier@0 SF 1.26(\255f foo=bar)3.76 F F0 3.76(,a)C(n)-3.76 E
.187(attempt is made to assign a v)144 580.8 R .187
(alue to a readonly v)-.25 F .188
(ariable, an attempt is made to assign a v)-.25 F .188(alue to an)-.25 F
1.749(array v)144 592.8 R 1.749
(ariable without using the compound assignment syntax \(see)-.25 F F1
(Arrays)4.248 E F0(abo)4.248 E -.15(ve)-.15 G 1.748(\), one of the).15 F
F2(names)144 604.8 Q F0 .359(is not a v)2.858 F .359(alid shell v)-.25 F
.359(ariable name, an attempt is made to turn of)-.25 F 2.859(fr)-.25 G
.359(eadonly status for a read-)-2.859 F 1.213(only v)144 616.8 R 1.213
(ariable, an attempt is made to turn of)-.25 F 3.713(fa)-.25 G 1.213
(rray status for an array v)-3.713 F 1.212(ariable, or an attempt is)
-.25 F(made to display a non-e)144 628.8 Q(xistent function with)-.15 E
F1<ad66>2.5 E F0(.)A F1(dirs [\255clpv] [+)108 645.6 Q F2(n)A F1 2.5(][)
C<ad>-2.5 E F2(n)A F1(])A F0 -.4(Wi)144 657.6 S .328
(thout options, displays the list of currently remembered directories.)
.4 F .329(The def)5.329 F .329(ault display is on a)-.1 F 1.238
(single line with directory names separated by spaces.)144 669.6 R 1.238
@@ -7457,8 +7458,8 @@ F 2.003(The current directory is)7.003 F(al)144 693.6 Q -.1(wa)-.1 G
F1<ad6c>144 717.6 Q F0 .882
(Produces a listing using full pathnames; the def)180 717.6 R .881
(ault listing format uses a tilde to denote)-.1 F(the home directory)180
729.6 Q(.)-.65 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(61)
190.395 E 0 Cg EP
729.6 Q(.)-.65 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(61)
188.455 E 0 Cg EP
%%Page: 62 62
%%BeginPageSetup
BP
@@ -7573,8 +7574,8 @@ F2(\214lename)4.024 E F0 4.024(,o).18 G 4.024(ns)-4.024 G 1.524
F .399(guments, the)-.18 F .099(list consists of all enabled shell b)144
727.2 R 2.598(uiltins. If)-.2 F F1<ad6e>2.598 E F0 .098
(is supplied, only disabled b)2.598 F .098(uiltins are printed.)-.2 F
(If)5.098 E F1<ad61>2.598 E F0(GNU Bash 5.0)72 768 Q(2018 October 22)
141.235 E(62)190.395 E 0 Cg EP
(If)5.098 E F1<ad61>2.598 E F0(GNU Bash 5.0)72 768 Q(2018 December 7)
139.295 E(62)188.455 E 0 Cg EP
%%Page: 63 63
%%BeginPageSetup
BP
@@ -7714,8 +7715,8 @@ R .142(alue is 0 unless an in)-.25 F -.25(va)-.4 G .142
E F2(last)2.732 E F0 .454(specify history lines out of range.)144 720 R
.454(If the)5.454 F F1<ad65>2.954 E F0 .454
(option is supplied, the return v)2.954 F .455(alue is the v)-.25 F .455
(alue of the)-.25 F(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(63)
190.395 E 0 Cg EP
(alue of the)-.25 F(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(63)
188.455 E 0 Cg EP
%%Page: 64 64
%%BeginPageSetup
BP
@@ -7839,7 +7840,7 @@ F1(name)3.204 E F0(ar)3.204 E(guments)-.18 E .795(are supplied with)144
(is supplied, information about remembered commands is printed.)2.822 F
.321(The return status is true)5.321 F(unless a)144 710.4 Q F1(name)2.86
E F0(is not found or an in)2.68 E -.25(va)-.4 G(lid option is supplied.)
.25 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(64)190.395 E 0 Cg
.25 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(64)188.455 E 0 Cg
EP
%%Page: 65 65
%%BeginPageSetup
@@ -7952,7 +7953,7 @@ E F0(... ])2.5 E(The \214rst form lists the acti)144 703.2 Q .3 -.15
(ve j)-.25 H 2.5(obs. The).15 F(options ha)2.5 E .3 -.15(ve t)-.2 H
(he follo).15 E(wing meanings:)-.25 E F1<ad6c>144 715.2 Q F0
(List process IDs in addition to the normal information.)180 715.2 Q
(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(65)190.395 E 0 Cg EP
(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(65)188.455 E 0 Cg EP
%%Page: 66 66
%%BeginPageSetup
BP
@@ -8092,8 +8093,8 @@ F0 .275(is e)2.775 F -.25(va)-.25 G .274
(ut before the array element is)-.2 F(assigned.)144 710.4 Q
(If not supplied with an e)144 727.2 Q(xplicit origin,)-.15 E F1
(map\214le)2.5 E F0(will clear)2.5 E F2(arr)2.5 E(ay)-.15 E F0
(before assigning to it.)2.5 E(GNU Bash 5.0)72 768 Q(2018 October 22)
141.235 E(66)190.395 E 0 Cg EP
(before assigning to it.)2.5 E(GNU Bash 5.0)72 768 Q(2018 December 7)
139.295 E(66)188.455 E 0 Cg EP
%%Page: 67 67
%%BeginPageSetup
BP
@@ -8208,7 +8209,7 @@ when rotating or adding directories to the)180 688.8 R
3.768 E F0 1.267(th directory \(counting from the left of the list sho)B
1.267(wn by)-.25 F F1(dirs)180 724.8 Q F0 2.5(,s)C
(tarting with zero\) is at the top.)-2.5 E(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(67)190.395 E 0 Cg EP
(2018 December 7)139.295 E(67)188.455 E 0 Cg EP
%%Page: 68 68
%%BeginPageSetup
BP
@@ -8335,7 +8336,7 @@ E F0(Display)180 662.4 Q F2(pr)3.661 E(ompt)-.45 E F0 1.161
(he backslash is considered to be part of)-5.543 F .493(the line.)180
698.4 R .493(In particular)5.493 F 2.993(,ab)-.4 G(ackslash-ne)-2.993 E
.493(wline pair may not then be used as a line continua-)-.25 F(tion.)
180 710.4 Q(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(68)190.395 E
180 710.4 Q(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(68)188.455 E
0 Cg EP
%%Page: 69 69
%%BeginPageSetup
@@ -8481,7 +8482,7 @@ F0 .087(\), a)B F2(list)2.587 E F0 2.587(,o)C(r)-2.587 E(a)184 727.2 Q
F2 1.52(compound command)4.02 F F0(\(see)4.021 E F3 1.521(SHELL GRAMMAR)
4.021 F F0(abo)3.771 E -.15(ve)-.15 G 1.521(\), e).15 F 1.521
(xits with a non-zero status.)-.15 F(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(69)190.395 E 0 Cg EP
(2018 December 7)139.295 E(69)188.455 E 0 Cg EP
%%Page: 70 70
%%BeginPageSetup
BP
@@ -8576,7 +8577,7 @@ H(nder).15 E F2(HIST)3.087 E(OR)-.162 E(Y)-.315 E/F4 9/Times-Roman@0 SF
.15 E F1 -.1(ke)184 666 S(yw).1 E(ord)-.1 E F0(Same as)224 678 Q F1
<ad6b>2.5 E F0(.)A F1(monitor)184 690 Q F0(Same as)224 690 Q F1<ad6d>2.5
E F0(.)A F1(noclob)184 702 Q(ber)-.1 E F0(Same as)224 714 Q F1<ad43>2.5
E F0(.)A(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(70)190.395 E 0
E F0(.)A(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(70)188.455 E 0
Cg EP
%%Page: 71 71
%%BeginPageSetup
@@ -8686,7 +8687,7 @@ F .532(ault when the shell is inter)-.1 F(-)-.2 E(acti)184 678 Q -.15
E(ault,)-.1 E F1(bash)2.686 E F0(follo)2.686 E .186
(ws the logical chain of directories when performing com-)-.25 F
(mands which change the current directory)184 726 Q(.)-.65 E
(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(71)190.395 E 0 Cg EP
(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(71)188.455 E 0 Cg EP
%%Page: 72 72
%%BeginPageSetup
BP
@@ -8805,7 +8806,7 @@ F1(cdable_v)144 646.8 Q(ars)-.1 E F0 .155(If set, an ar)184 658.8 R .155
(orrection is found, the corrected \214lename is printed, and)-3.27 F
(the command proceeds.)184 718.8 Q
(This option is only used by interacti)5 E .3 -.15(ve s)-.25 H(hells.)
.15 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(72)190.395 E 0 Cg
.15 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(72)188.455 E 0 Cg
EP
%%Page: 73 73
%%BeginPageSetup
@@ -8912,8 +8913,8 @@ F 1.058(xit\), and does not reset the loop state when a shell)-.15 F
-2.942 F .442(ASH_ARGV and B)-.35 F .442(ASH_ARGC before)-.35 F(the)184
696 Q 2.5(ya)-.15 G(re used, re)-2.5 E -.05(ga)-.15 G
(rdless of whether or not e).05 E(xtended deb)-.15 E
(ugging mode is enabled.)-.2 E(GNU Bash 5.0)72 768 Q(2018 October 22)
141.235 E(73)190.395 E 0 Cg EP
(ugging mode is enabled.)-.2 E(GNU Bash 5.0)72 768 Q(2018 December 7)
139.295 E(73)188.455 E 0 Cg EP
%%Page: 74 74
%%BeginPageSetup
BP
@@ -9028,7 +9029,7 @@ E F0(")A F4(string)A F0 4.973("q)C 2.473(uoting is performed within)
(Matching)184 720 Q F0(abo)2.964 E -.15(ve)-.15 G 3.214(\)b).15 G(eha)
-3.214 E 1.014 -.15(ve a)-.2 H 3.214(si).15 G 3.214(fi)-3.214 G 3.214
(nt)-3.214 G .714(he traditional C locale when performing comparisons.)
-3.214 F(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(74)190.395 E 0
-3.214 F(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(74)188.455 E 0
Cg EP
%%Page: 75 75
%%BeginPageSetup
@@ -9124,7 +9125,7 @@ Q F0 .324(If set, and)184 684 R F1 -.18(re)2.824 G(adline).18 E F0 .324
(will not attempt to search the)2.824 F F2 -.666(PA)2.825 G(TH)-.189 E
F0 .325(for possible)2.575 F
(completions when completion is attempted on an empty line.)184 696 Q
(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(75)190.395 E 0 Cg EP
(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(75)188.455 E 0 Cg EP
%%Page: 76 76
%%BeginPageSetup
BP
@@ -9222,7 +9223,7 @@ E F0 5.26(.T)C .26(his may be used to o)-5.26 F -.15(ve)-.15 G .26
(ex)144 699.6 S(pr1).2 E F0<ad>2.5 E F1(a)A F3 -.2(ex)2.5 G(pr2).2 E F0
-.35(Tr)180 711.6 S(ue if both).35 E F3 -.2(ex)2.5 G(pr1).2 E F0(and)2.5
E F3 -.2(ex)2.5 G(pr2).2 E F0(are true.)2.52 E(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(76)190.395 E 0 Cg EP
(2018 December 7)139.295 E(76)188.455 E 0 Cg EP
%%Page: 77 77
%%BeginPageSetup
BP
@@ -9346,7 +9347,7 @@ ro e)144 710.4 R .184(xit status, subject to)-.15 F 1.92(the follo)144
722.4 R 1.92(wing conditions.)-.25 F(The)6.92 E F3(ERR)4.42 E F0 1.92
(trap is not e)4.17 F -.15(xe)-.15 G 1.92(cuted if the f).15 F 1.92
(ailed command is part of the)-.1 F(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(77)190.395 E 0 Cg EP
(2018 December 7)139.295 E(77)188.455 E 0 Cg EP
%%Page: 78 78
%%BeginPageSetup
BP
@@ -9473,7 +9474,7 @@ Q F1<ad73>144 651.6 Q F0(The maximum stack size)180 651.6 Q F1<ad74>144
(The maximum amount of virtual memory a)180 687.6 R -.25(va)-.2 G .47
(ilable to the shell and, on some systems, to).25 F(its children)180
699.6 Q F1<ad78>144 711.6 Q F0(The maximum number of \214le locks)180
711.6 Q(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(78)190.395 E 0
711.6 Q(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(78)188.455 E 0
Cg EP
%%Page: 79 79
%%BeginPageSetup
@@ -9605,7 +9606,7 @@ F4(,)A F3 -.666(PA)2.25 G(TH)-.189 E F4(,)A F3(ENV)2.25 E F4(,)A F0(or)
(hash)2.949 E F0 -.2(bu)2.949 G .449(iltin com-).2 F(mand)144 700.8 Q
<83>108 717.6 Q(importing function de\214nitions from the shell en)144
717.6 Q(vironment at startup)-.4 E(GNU Bash 5.0)72 768 Q
(2018 October 22)141.235 E(79)190.395 E 0 Cg EP
(2018 December 7)139.295 E(79)188.455 E 0 Cg EP
%%Page: 80 80
%%BeginPageSetup
BP
@@ -9680,7 +9681,7 @@ E F0(.)A .411(Once you ha)108 655.2 R .711 -.15(ve d)-.2 H .411
(be mailed to)108 679.2 Q F4 -.2(bu)2.5 G(g-bash@gnu.or).2 E(g)-.37 E F0
(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F2(gnu.bash.b)2.5 E(ug)
-.2 E F0(.)A(ALL b)108 696 Q(ug reports should include:)-.2 E
(GNU Bash 5.0)72 768 Q(2018 October 22)141.235 E(80)190.395 E 0 Cg EP
(GNU Bash 5.0)72 768 Q(2018 December 7)139.295 E(80)188.455 E 0 Cg EP
%%Page: 81 81
%%BeginPageSetup
BP
@@ -9715,8 +9716,8 @@ place the sequence of commands between parentheses to force it into a)
-.25 F(subshell, which may be stopped as a unit.)108 309.6 Q(Array v)108
326.4 Q(ariables may not \(yet\) be e)-.25 E(xported.)-.15 E
(There may be only one acti)108 343.2 Q .3 -.15(ve c)-.25 H
(oprocess at a time.).15 E(GNU Bash 5.0)72 768 Q(2018 October 22)141.235
E(81)190.395 E 0 Cg EP
(oprocess at a time.).15 E(GNU Bash 5.0)72 768 Q(2018 December 7)139.295
E(81)188.455 E 0 Cg EP
%%Trailer
end
%%EOF
BIN
View File
Binary file not shown.
+8 -7
View File
@@ -1,9 +1,9 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This text is a brief description of the features that are present in
the Bash shell (version 5.0, 9 November 2018).
the Bash shell (version 5.0, 7 December 2018).
This is Edition 5.0, last updated 9 November 2018,
This is Edition 5.0, last updated 7 December 2018,
of The GNU Bash Reference Manual,
for Bash, Version 5.0.
@@ -284,10 +284,10 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Previou
<h1 class="top">Bash Features</h1>
<p>This text is a brief description of the features that are present in
the Bash shell (version 5.0, 9 November 2018).
the Bash shell (version 5.0, 7 December 2018).
The Bash home page is <a href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
</p>
<p>This is Edition 5.0, last updated 9 November 2018,
<p>This is Edition 5.0, last updated 7 December 2018,
of <cite>The GNU Bash Reference Manual</cite>,
for <code>Bash</code>, Version 5.0.
</p>
@@ -1094,7 +1094,8 @@ to delimit commands, equivalent to a semicolon.
</p>
<p>If a command is terminated by the control operator &lsquo;<samp>&amp;</samp>&rsquo;,
the shell executes the command asynchronously in a subshell.
This is known as executing the command in the <var>background</var>.
This is known as executing the command in the <var>background</var>,
and these are referred to as <var>asynchronous</var> commands.
The shell does not wait for the command to finish, and the return
status is 0 (true).
When job control is not active (see <a href="#Job-Control">Job Control</a>),
@@ -4904,8 +4905,8 @@ the environment.
</dl>
<p>Using &lsquo;<samp>+</samp>&rsquo; instead of &lsquo;<samp>-</samp>&rsquo; turns off the attribute instead,
with the exceptions that &lsquo;<samp>+a</samp>&rsquo;
may not be used to destroy an array variable and &lsquo;<samp>+r</samp>&rsquo; will not
with the exceptions that &lsquo;<samp>+a</samp>&rsquo; and &lsquo;<samp>+A</samp>&rsquo;
may not be used to destroy array variables and &lsquo;<samp>+r</samp>&rsquo; will not
remove the readonly attribute.
When used in a function, <code>declare</code> makes each <var>name</var> local,
as with the <code>local</code> command, unless the <samp>-g</samp> option is used.
+141 -139
View File
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 6.5 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.0, 9 November 2018).
Bash shell (version 5.0, 7 December 2018).
This is Edition 5.0, last updated 9 November 2018, of 'The GNU Bash
This is Edition 5.0, last updated 7 December 2018, 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, 9 November 2018). The Bash home page is
Bash shell (version 5.0, 7 December 2018). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.0, last updated 9 November 2018, of 'The GNU Bash
This is Edition 5.0, last updated 7 December 2018, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.0.
Bash contains features that appear in other popular shells, and some
@@ -619,11 +619,12 @@ commands, equivalent to a semicolon.
If a command is terminated by the control operator '&', the shell
executes the command asynchronously in a subshell. This is known as
executing the command in the BACKGROUND. The shell does not wait for
the command to finish, and the return status is 0 (true). When job
control is not active (*note Job Control::), the standard input for
asynchronous commands, in the absence of any explicit redirections, is
redirected from '/dev/null'.
executing the command in the BACKGROUND, and these are referred to as
ASYNCHRONOUS commands. The shell does not wait for the command to
finish, and the return status is 0 (true). When job control is not
active (*note Job Control::), the standard input for asynchronous
commands, in the absence of any explicit redirections, is redirected
from '/dev/null'.
Commands separated by a ';' are executed sequentially; the shell
waits for each command to terminate in turn. The return status is the
@@ -3543,11 +3544,12 @@ standard.
environment.
Using '+' instead of '-' turns off the attribute instead, with the
exceptions that '+a' may not be used to destroy an array variable
and '+r' will not remove the readonly attribute. When used in a
function, 'declare' makes each NAME local, as with the 'local'
command, unless the '-g' option is used. If a variable name is
followed by =VALUE, the value of the variable is set to VALUE.
exceptions that '+a' and '+A' may not be used to destroy array
variables and '+r' will not remove the readonly attribute. When
used in a function, 'declare' makes each NAME local, as with the
'local' command, unless the '-g' option is used. If a variable
name is followed by =VALUE, the value of the variable is set to
VALUE.
When using '-a' or '-A' and the compound assignment syntax to
create array variables, additional attributes do not take effect
@@ -10984,8 +10986,8 @@ D.1 Index of Shell Builtin Commands
(line 7)
* disown: Job Control Builtins.
(line 92)
* echo: Bash Builtins. (line 245)
* enable: Bash Builtins. (line 294)
* echo: Bash Builtins. (line 246)
* enable: Bash Builtins. (line 295)
* eval: Bourne Shell Builtins.
(line 94)
* exec: Bourne Shell Builtins.
@@ -11002,26 +11004,26 @@ D.1 Index of Shell Builtin Commands
(line 143)
* hash: Bourne Shell Builtins.
(line 186)
* help: Bash Builtins. (line 323)
* help: Bash Builtins. (line 324)
* history: Bash History Builtins.
(line 40)
* jobs: Job Control Builtins.
(line 27)
* kill: Job Control Builtins.
(line 58)
* let: Bash Builtins. (line 342)
* local: Bash Builtins. (line 350)
* logout: Bash Builtins. (line 364)
* mapfile: Bash Builtins. (line 369)
* let: Bash Builtins. (line 343)
* local: Bash Builtins. (line 351)
* logout: Bash Builtins. (line 365)
* mapfile: Bash Builtins. (line 370)
* popd: Directory Stack Builtins.
(line 35)
* printf: Bash Builtins. (line 415)
* printf: Bash Builtins. (line 416)
* pushd: Directory Stack Builtins.
(line 53)
* pwd: Bourne Shell Builtins.
(line 206)
* read: Bash Builtins. (line 459)
* readarray: Bash Builtins. (line 553)
* read: Bash Builtins. (line 460)
* readarray: Bash Builtins. (line 554)
* readonly: Bourne Shell Builtins.
(line 216)
* return: Bourne Shell Builtins.
@@ -11030,7 +11032,7 @@ D.1 Index of Shell Builtin Commands
* shift: Bourne Shell Builtins.
(line 256)
* shopt: The Shopt Builtin. (line 9)
* source: Bash Builtins. (line 562)
* source: Bash Builtins. (line 563)
* suspend: Job Control Builtins.
(line 104)
* test: Bourne Shell Builtins.
@@ -11039,12 +11041,12 @@ D.1 Index of Shell Builtin Commands
(line 348)
* trap: Bourne Shell Builtins.
(line 354)
* type: Bash Builtins. (line 567)
* typeset: Bash Builtins. (line 599)
* ulimit: Bash Builtins. (line 605)
* type: Bash Builtins. (line 568)
* typeset: Bash Builtins. (line 600)
* ulimit: Bash Builtins. (line 606)
* umask: Bourne Shell Builtins.
(line 403)
* unalias: Bash Builtins. (line 704)
* unalias: Bash Builtins. (line 705)
* unset: Bourne Shell Builtins.
(line 421)
* wait: Job Control Builtins.
@@ -11699,115 +11701,115 @@ Node: Shell Commands19354
Node: Simple Commands20226
Node: Pipelines20857
Node: Lists23789
Node: Compound Commands25528
Node: Looping Constructs26540
Node: Conditional Constructs29035
Node: Command Grouping40118
Node: Coprocesses41597
Node: GNU Parallel43500
Node: Shell Functions47558
Node: Shell Parameters54641
Node: Positional Parameters59054
Node: Special Parameters59954
Node: Shell Expansions63708
Node: Brace Expansion65831
Node: Tilde Expansion68555
Node: Shell Parameter Expansion71172
Node: Command Substitution85628
Node: Arithmetic Expansion86983
Node: Process Substitution87915
Node: Word Splitting89035
Node: Filename Expansion90979
Node: Pattern Matching93509
Node: Quote Removal97495
Node: Redirections97790
Node: Executing Commands107348
Node: Simple Command Expansion108018
Node: Command Search and Execution109948
Node: Command Execution Environment112324
Node: Environment115308
Node: Exit Status116967
Node: Signals118637
Node: Shell Scripts120604
Node: Shell Builtin Commands123119
Node: Bourne Shell Builtins125157
Node: Bash Builtins145907
Node: Modifying Shell Behavior174820
Node: The Set Builtin175165
Node: The Shopt Builtin185578
Node: Special Builtins203150
Node: Shell Variables204129
Node: Bourne Shell Variables204566
Node: Bash Variables206670
Node: Bash Features237130
Node: Invoking Bash238029
Node: Bash Startup Files244042
Node: Interactive Shells249145
Node: What is an Interactive Shell?249555
Node: Is this Shell Interactive?250204
Node: Interactive Shell Behavior251019
Node: Bash Conditional Expressions254506
Node: Shell Arithmetic259083
Node: Aliases261900
Node: Arrays264520
Node: The Directory Stack269886
Node: Directory Stack Builtins270670
Node: Controlling the Prompt273638
Node: The Restricted Shell276404
Node: Bash POSIX Mode278229
Node: Job Control289162
Node: Job Control Basics289622
Node: Job Control Builtins294590
Node: Job Control Variables299317
Node: Command Line Editing300473
Node: Introduction and Notation302144
Node: Readline Interaction303767
Node: Readline Bare Essentials304958
Node: Readline Movement Commands306741
Node: Readline Killing Commands307701
Node: Readline Arguments309619
Node: Searching310663
Node: Readline Init File312849
Node: Readline Init File Syntax313996
Node: Conditional Init Constructs334435
Node: Sample Init File338631
Node: Bindable Readline Commands341748
Node: Commands For Moving342952
Node: Commands For History344801
Node: Commands For Text349096
Node: Commands For Killing352484
Node: Numeric Arguments354965
Node: Commands For Completion356104
Node: Keyboard Macros360295
Node: Miscellaneous Commands360982
Node: Readline vi Mode366935
Node: Programmable Completion367842
Node: Programmable Completion Builtins375622
Node: A Programmable Completion Example386315
Node: Using History Interactively391555
Node: Bash History Facilities392239
Node: Bash History Builtins395244
Node: History Interaction399775
Node: Event Designators403395
Node: Word Designators404614
Node: Modifiers406251
Node: Installing Bash407653
Node: Basic Installation408790
Node: Compilers and Options412048
Node: Compiling For Multiple Architectures412789
Node: Installation Names414482
Node: Specifying the System Type415300
Node: Sharing Defaults416016
Node: Operation Controls416689
Node: Optional Features417647
Node: Reporting Bugs428165
Node: Major Differences From The Bourne Shell429359
Node: GNU Free Documentation License446211
Node: Indexes471388
Node: Builtin Index471842
Node: Reserved Word Index478669
Node: Variable Index481117
Node: Function Index496868
Node: Concept Index510171
Node: Compound Commands25580
Node: Looping Constructs26592
Node: Conditional Constructs29087
Node: Command Grouping40170
Node: Coprocesses41649
Node: GNU Parallel43552
Node: Shell Functions47610
Node: Shell Parameters54693
Node: Positional Parameters59106
Node: Special Parameters60006
Node: Shell Expansions63760
Node: Brace Expansion65883
Node: Tilde Expansion68607
Node: Shell Parameter Expansion71224
Node: Command Substitution85680
Node: Arithmetic Expansion87035
Node: Process Substitution87967
Node: Word Splitting89087
Node: Filename Expansion91031
Node: Pattern Matching93561
Node: Quote Removal97547
Node: Redirections97842
Node: Executing Commands107400
Node: Simple Command Expansion108070
Node: Command Search and Execution110000
Node: Command Execution Environment112376
Node: Environment115360
Node: Exit Status117019
Node: Signals118689
Node: Shell Scripts120656
Node: Shell Builtin Commands123171
Node: Bourne Shell Builtins125209
Node: Bash Builtins145959
Node: Modifying Shell Behavior174884
Node: The Set Builtin175229
Node: The Shopt Builtin185642
Node: Special Builtins203214
Node: Shell Variables204193
Node: Bourne Shell Variables204630
Node: Bash Variables206734
Node: Bash Features237194
Node: Invoking Bash238093
Node: Bash Startup Files244106
Node: Interactive Shells249209
Node: What is an Interactive Shell?249619
Node: Is this Shell Interactive?250268
Node: Interactive Shell Behavior251083
Node: Bash Conditional Expressions254570
Node: Shell Arithmetic259147
Node: Aliases261964
Node: Arrays264584
Node: The Directory Stack269950
Node: Directory Stack Builtins270734
Node: Controlling the Prompt273702
Node: The Restricted Shell276468
Node: Bash POSIX Mode278293
Node: Job Control289226
Node: Job Control Basics289686
Node: Job Control Builtins294654
Node: Job Control Variables299381
Node: Command Line Editing300537
Node: Introduction and Notation302208
Node: Readline Interaction303831
Node: Readline Bare Essentials305022
Node: Readline Movement Commands306805
Node: Readline Killing Commands307765
Node: Readline Arguments309683
Node: Searching310727
Node: Readline Init File312913
Node: Readline Init File Syntax314060
Node: Conditional Init Constructs334499
Node: Sample Init File338695
Node: Bindable Readline Commands341812
Node: Commands For Moving343016
Node: Commands For History344865
Node: Commands For Text349160
Node: Commands For Killing352548
Node: Numeric Arguments355029
Node: Commands For Completion356168
Node: Keyboard Macros360359
Node: Miscellaneous Commands361046
Node: Readline vi Mode366999
Node: Programmable Completion367906
Node: Programmable Completion Builtins375686
Node: A Programmable Completion Example386379
Node: Using History Interactively391619
Node: Bash History Facilities392303
Node: Bash History Builtins395308
Node: History Interaction399839
Node: Event Designators403459
Node: Word Designators404678
Node: Modifiers406315
Node: Installing Bash407717
Node: Basic Installation408854
Node: Compilers and Options412112
Node: Compiling For Multiple Architectures412853
Node: Installation Names414546
Node: Specifying the System Type415364
Node: Sharing Defaults416080
Node: Operation Controls416753
Node: Optional Features417711
Node: Reporting Bugs428229
Node: Major Differences From The Bourne Shell429423
Node: GNU Free Documentation License446275
Node: Indexes471452
Node: Builtin Index471906
Node: Reserved Word Index478733
Node: Variable Index481181
Node: Function Index496932
Node: Concept Index510235

End Tag Table
BIN
View File
Binary file not shown.
+33 -31
View File
@@ -1,7 +1,7 @@
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.998 Copyright 2018 Radical Eye Software
%%Title: bashref.dvi
%%CreationDate: Mon Nov 19 20:21:05 2018
%%CreationDate: Tue Dec 18 16:43:47 2018
%%Pages: 184
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
@@ -12,7 +12,7 @@
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
%DVIPSParameters: dpi=600
%DVIPSSource: TeX output 2018.11.19:1521
%DVIPSSource: TeX output 2018.12.18:1143
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -7634,18 +7634,18 @@ ifelse
TeXDict begin 1 0 bop 150 1318 a Fv(Bash)64 b(Reference)j(Man)-5
b(ual)p 150 1385 3600 34 v 2361 1481 a Fu(Reference)31
b(Do)s(cumen)m(tation)i(for)d(Bash)2428 1589 y(Edition)h(5.0,)g(for)f
Ft(Bash)g Fu(V)-8 b(ersion)31 b(5.0.)3139 1697 y(No)m(v)m(em)m(b)s(er)g
(2018)150 4927 y Fs(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11
Ft(Bash)g Fu(V)-8 b(ersion)31 b(5.0.)3145 1697 y(Decem)m(b)s(er)g(2018)
150 4927 y Fs(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11
b(estern)46 b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068
y(Brian)f(F)-11 b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)-11
b(oundation)p 150 5141 3600 17 v eop end
%%Page: 2 2
TeXDict begin 2 1 bop 150 4279 a Fu(This)35 b(text)h(is)g(a)g(brief)f
(description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f
(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.0,)c(9)e(No)m(v)m(em)m
(b)s(er)i(2018\).)150 4523 y(This)h(is)g(Edition)g(5.0,)j(last)e(up)s
(dated)e(9)i(No)m(v)m(em)m(b)s(er)g(2018,)i(of)e Fr(The)e(GNU)i(Bash)g
(Reference)g(Man)m(ual)p Fu(,)150 4633 y(for)c Ft(Bash)p
(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(5.0,)c(7)e(Decem)m(b)s
(er)i(2018\).)150 4523 y(This)h(is)h(Edition)g(5.0,)i(last)e(up)s
(dated)f(7)h(Decem)m(b)s(er)g(2018,)j(of)d Fr(The)f(GNU)h(Bash)g
(Reference)h(Man)m(ual)p Fu(,)150 4633 y(for)30 b Ft(Bash)p
Fu(,)g(V)-8 b(ersion)31 b(5.0.)150 4767 y(Cop)m(yrigh)m(t)602
4764 y(c)577 4767 y Fq(\015)f Fu(1988{2018)35 b(F)-8
b(ree)31 b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390
@@ -8656,18 +8656,19 @@ Ft(&)p Fu(',)i(whic)m(h)150 2113 y(ha)m(v)m(e)32 b(equal)e(precedence.)
Ft(&)p Fu(',)h(the)e(shell)h(executes)h(the)f(command)150
2597 y(async)m(hronously)g(in)h(a)g(subshell.)39 b(This)28
b(is)h(kno)m(wn)f(as)h(executing)h(the)f(command)g(in)f(the)h
Fr(bac)m(kground)p Fu(.)150 2707 y(The)f(shell)h(do)s(es)f(not)h(w)m
(ait)g(for)f(the)h(command)f(to)i(\014nish,)d(and)h(the)h(return)e
(status)i(is)g(0)g(\(true\).)40 b(When)150 2816 y(job)d(con)m(trol)i
(is)e(not)g(activ)m(e)j(\(see)e(Chapter)f(7)g([Job)g(Con)m(trol],)j
(page)e(103\),)j(the)d(standard)e(input)g(for)150 2926
y(async)m(hronous)43 b(commands,)k(in)d(the)f(absence)i(of)f(an)m(y)g
(explicit)h(redirections,)j(is)43 b(redirected)h(from)150
3036 y Ft(/dev/null)p Fu(.)275 3168 y(Commands)19 b(separated)j(b)m(y)f
(a)g(`)p Ft(;)p Fu(')g(are)h(executed)g(sequen)m(tially;)k(the)21
b(shell)g(w)m(aits)h(for)f(eac)m(h)h(command)150 3278
y(to)31 b(terminate)h(in)e(turn.)39 b(The)30 b(return)f(status)i(is)f
(the)h(exit)g(status)g(of)g(the)f(last)h(command)f(executed.)275
Fr(bac)m(kground)p Fu(,)150 2707 y(and)42 b(these)i(are)f(referred)g
(to)g(as)h Fr(async)m(hronous)i Fu(commands.)78 b(The)43
b(shell)g(do)s(es)g(not)g(w)m(ait)h(for)f(the)150 2816
y(command)34 b(to)h(\014nish,)f(and)f(the)h(return)f(status)i(is)f(0)g
(\(true\).)53 b(When)34 b(job)g(con)m(trol)h(is)f(not)h(activ)m(e)h
(\(see)150 2926 y(Chapter)27 b(7)h([Job)f(Con)m(trol],)i(page)g(103\),)
h(the)d(standard)g(input)f(for)i(async)m(hronous)f(commands,)h(in)f
(the)150 3036 y(absence)k(of)f(an)m(y)h(explicit)h(redirections,)f(is)f
(redirected)h(from)f Ft(/dev/null)p Fu(.)275 3168 y(Commands)19
b(separated)j(b)m(y)f(a)g(`)p Ft(;)p Fu(')g(are)h(executed)g(sequen)m
(tially;)k(the)21 b(shell)g(w)m(aits)h(for)f(eac)m(h)h(command)150
3278 y(to)31 b(terminate)h(in)e(turn.)39 b(The)30 b(return)f(status)i
(is)f(the)h(exit)g(status)g(of)g(the)f(last)h(command)f(executed.)275
3411 y Fm(and)g Fu(and)h Fm(or)g Fu(lists)h(are)g(sequences)f(of)h(one)
g(or)f(more)h(pip)s(elines)e(separated)i(b)m(y)g(the)f(con)m(trol)i(op)
s(er-)150 3520 y(ators)e(`)p Ft(&&)p Fu(')f(and)g(`)p
@@ -12098,17 +12099,18 @@ y Ft(-x)384 b Fu(Mark)30 b(eac)m(h)h Fr(name)k Fu(for)29
b(exp)s(ort)h(to)g(subsequen)m(t)f(commands)h(via)g(the)g(en)m(vi-)1110
4739 y(ronmen)m(t.)630 4902 y(Using)e(`)p Ft(+)p Fu(')h(instead)f(of)g
(`)p Ft(-)p Fu(')g(turns)f(o\013)i(the)f(attribute)h(instead,)g(with)f
(the)g(exceptions)h(that)630 5011 y(`)p Ft(+a)p Fu(')h(ma)m(y)h(not)f
(b)s(e)f(used)g(to)i(destro)m(y)g(an)f(arra)m(y)g(v)-5
b(ariable)31 b(and)f(`)p Ft(+r)p Fu(')g(will)g(not)g(remo)m(v)m(e)i
(the)630 5121 y(readonly)e(attribute.)41 b(When)30 b(used)f(in)g(a)h
(function,)g Ft(declare)e Fu(mak)m(es)j(eac)m(h)f Fr(name)35
b Fu(lo)s(cal,)630 5230 y(as)f(with)f(the)g Ft(local)f
Fu(command,)i(unless)f(the)g Ft(-g)g Fu(option)h(is)f(used.)49
b(If)33 b(a)h(v)-5 b(ariable)34 b(name)630 5340 y(is)c(follo)m(w)m(ed)i
(b)m(y)f(=)p Fr(v)-5 b(alue)p Fu(,)30 b(the)h(v)-5 b(alue)31
b(of)f(the)h(v)-5 b(ariable)31 b(is)g(set)g(to)g Fr(v)-5
b(alue)p Fu(.)p eop end
(the)g(exceptions)h(that)630 5011 y(`)p Ft(+a)p Fu(')23
b(and)f(`)p Ft(+A)p Fu(')h(ma)m(y)h(not)f(b)s(e)f(used)g(to)i(destro)m
(y)g(arra)m(y)f(v)-5 b(ariables)24 b(and)e(`)p Ft(+r)p
Fu(')h(will)g(not)g(remo)m(v)m(e)630 5121 y(the)36 b(readonly)h
(attribute.)59 b(When)36 b(used)f(in)h(a)h(function,)g
Ft(declare)d Fu(mak)m(es)j(eac)m(h)h Fr(name)630 5230
y Fu(lo)s(cal,)e(as)d(with)h(the)f Ft(local)f Fu(command,)j(unless)d
(the)i Ft(-g)f Fu(option)h(is)f(used.)49 b(If)33 b(a)h(v)-5
b(ariable)630 5340 y(name)30 b(is)h(follo)m(w)m(ed)h(b)m(y)e(=)p
Fr(v)-5 b(alue)p Fu(,)31 b(the)f(v)-5 b(alue)31 b(of)g(the)f(v)-5
b(ariable)32 b(is)e(set)h(to)g Fr(v)-5 b(alue)p Fu(.)p
eop end
%%Page: 54 60
TeXDict begin 54 59 bop 150 -116 a Fu(Chapter)30 b(4:)41
b(Shell)30 b(Builtin)h(Commands)2069 b(54)630 299 y(When)41
+4 -3
View File
@@ -696,7 +696,8 @@ to delimit commands, equivalent to a semicolon.
If a command is terminated by the control operator @samp{&},
the shell executes the command asynchronously in a subshell.
This is known as executing the command in the @var{background}.
This is known as executing the command in the @var{background},
and these are referred to as @var{asynchronous} commands.
The shell does not wait for the command to finish, and the return
status is 0 (true).
When job control is not active (@pxref{Job Control}),
@@ -4207,8 +4208,8 @@ the environment.
@end table
Using @samp{+} instead of @samp{-} turns off the attribute instead,
with the exceptions that @samp{+a}
may not be used to destroy an array variable and @samp{+r} will not
with the exceptions that @samp{+a} and @samp{+A}
may not be used to destroy array variables and @samp{+r} will not
remove the readonly attribute.
When used in a function, @code{declare} makes each @var{name} local,
as with the @code{local} command, unless the @option{-g} option is used.
+10 -10
View File
@@ -441,16 +441,16 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
environment.
Using `+' instead of `-' turns off the attribute instead, with
the exceptions that ++aa may not be used to destroy an array vari-
able and ++rr will not remove the readonly attribute. When used
in a function, ddeeccllaarree and ttyyppeesseett make each _n_a_m_e local, as with
the llooccaall command, unless the --gg option is supplied. If a vari-
able name is followed by =_v_a_l_u_e, the value of the variable is
set to _v_a_l_u_e. When using --aa or --AA and the compound assignment
syntax to create array variables, additional attributes do not
take effect until subsequent assignments. 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
the exceptions that ++aa and ++AA may not be used to destroy array
variables and ++rr will not remove the readonly attribute. When
used in a function, ddeeccllaarree and ttyyppeesseett make each _n_a_m_e local, as
with the llooccaall command, unless the --gg option is supplied. If a
variable name is followed by =_v_a_l_u_e, the value of the variable
is set to _v_a_l_u_e. When using --aa or --AA and the compound assign-
ment syntax to create array variables, additional attributes do
not take effect until subsequent assignments. 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 AArrrraayyss above), one of the _n_a_m_e_s is not a
+39 -39
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
%%CreationDate: Mon Nov 19 15:20:58 2018
%%CreationDate: Tue Dec 18 11:43:40 2018
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
@@ -936,44 +936,44 @@ F .909(alue, all lo)-.25 F(wer)-.25 E .909(-case characters are con)-.2
F -.15(ve)-.4 G .91(rted to upper).15 F(-)-.2 E 2.5(case. The)180 549.6
R(lo)2.5 E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2<ad78>
144 561.6 Q F0(Mark)180 561.6 Q F1(name)2.5 E F0 2.5(sf)C(or e)-2.5 E
(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .121
(Using `+' instead of `\255' turns of)144 578.4 R 2.621(ft)-.25 G .121
(he attrib)-2.621 F .121(ute instead, with the e)-.2 F .12
(xceptions that)-.15 F F2(+a)2.62 E F0 .12(may not be used)2.62 F .644
(to destro)144 590.4 R 3.144(ya)-.1 G 3.144(na)-3.144 G .644(rray v)
-3.144 F .644(ariable and)-.25 F F2(+r)3.145 E F0 .645(will not remo)
3.145 F .945 -.15(ve t)-.15 H .645(he readonly attrib).15 F 3.145
(ute. When)-.2 F .645(used in a func-)3.145 F(tion,)144 602.4 Q F2
(declar)2.835 E(e)-.18 E F0(and)2.835 E F2(typeset)2.835 E F0(mak)2.835
E 2.835(ee)-.1 G(ach)-2.835 E F1(name)2.835 E F0 .335
(local, as with the)2.835 F F2(local)2.835 E F0 .335
(command, unless the)2.835 F F2<ad67>2.835 E F0(option)2.835 E 1.282
(is supplied.)144 614.4 R 1.282(If a v)6.282 F 1.283
(ariable name is follo)-.25 F 1.283(wed by =)-.25 F F1(value)A F0 3.783
(,t)C 1.283(he v)-3.783 F 1.283(alue of the v)-.25 F 1.283
(ariable is set to)-.25 F F1(value)3.783 E F0(.)A .927(When using)144
626.4 R F2<ad61>3.427 E F0(or)3.427 E F2<ad41>3.427 E F0 .926
(and the compound assignment syntax to create array v)3.427 F .926
(ariables, additional)-.25 F(attrib)144 638.4 Q .592(utes do not tak)-.2
F 3.092(ee)-.1 G -.25(ff)-3.092 G .592
(ect until subsequent assignments.).25 F .592(The return v)5.592 F .592
(alue is 0 unless an in)-.25 F -.25(va)-.4 G(lid).25 E .429
(option is encountered, an attempt is made to de\214ne a function using)
144 650.4 R/F5 10/Courier@0 SF .428(\255f foo=bar)2.929 F F0 2.928(,a)C
2.928(na)-2.928 G .428(ttempt is)-2.928 F .062(made to assign a v)144
662.4 R .062(alue to a readonly v)-.25 F .063
(ariable, an attempt is made to assign a v)-.25 F .063
(alue to an array v)-.25 F(ari-)-.25 E .102
(able without using the compound assignment syntax \(see)144 674.4 R F2
(Arrays)2.602 E F0(abo)2.602 E -.15(ve)-.15 G .102(\), one of the).15 F
F1(names)2.602 E F0 .101(is not a)2.602 F -.25(va)144 686.4 S .171
(lid shell v).25 F .171(ariable name, an attempt is made to turn of)-.25
F 2.671(fr)-.25 G .171(eadonly status for a readonly v)-2.671 F .172
(ariable, an)-.25 F .96(attempt is made to turn of)144 698.4 R 3.46(fa)
-.25 G .96(rray status for an array v)-3.46 F .96
(ariable, or an attempt is made to display a)-.25 F(non-e)144 710.4 Q
(xistent function with)-.15 E F2<ad66>2.5 E F0(.)A(GNU Bash 5.0)72 768 Q
(2004 Apr 20)149.565 E(6)203.725 E 0 Cg EP
(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .144
(Using `+' instead of `\255' turns of)144 578.4 R 2.643(ft)-.25 G .143
(he attrib)-2.643 F .143(ute instead, with the e)-.2 F .143
(xceptions that)-.15 F F2(+a)2.643 E F0(and)2.643 E F2(+A)2.643 E F0
.143(may not)2.643 F .578(be used to destro)144 590.4 R 3.079(ya)-.1 G
.579(rray v)-3.079 F .579(ariables and)-.25 F F2(+r)3.079 E F0 .579
(will not remo)3.079 F .879 -.15(ve t)-.15 H .579(he readonly attrib).15
F 3.079(ute. When)-.2 F .579(used in a)3.079 F(function,)144 602.4 Q F2
(declar)3.544 E(e)-.18 E F0(and)3.544 E F2(typeset)3.544 E F0(mak)3.544
E 3.544(ee)-.1 G(ach)-3.544 E F1(name)3.543 E F0 1.043
(local, as with the)3.543 F F2(local)3.543 E F0 1.043
(command, unless the)3.543 F F2<ad67>3.543 E F0 1.205
(option is supplied.)144 614.4 R 1.205(If a v)6.205 F 1.205
(ariable name is follo)-.25 F 1.205(wed by =)-.25 F F1(value)A F0 3.705
(,t)C 1.205(he v)-3.705 F 1.205(alue of the v)-.25 F 1.205
(ariable is set to)-.25 F F1(value)144 626.4 Q F0 5.218(.W)C .218
(hen using)-5.218 F F2<ad61>2.718 E F0(or)2.718 E F2<ad41>2.718 E F0
.217(and the compound assignment syntax to create array v)2.717 F .217
(ariables, addi-)-.25 F .882(tional attrib)144 638.4 R .882
(utes do not tak)-.2 F 3.382(ee)-.1 G -.25(ff)-3.382 G .882
(ect until subsequent assignments.).25 F .882(The return v)5.882 F .882
(alue is 0 unless an)-.25 F(in)144 650.4 Q -.25(va)-.4 G 1.26(lid optio\
n is encountered, an attempt is made to de\214ne a function using).25 F
/F5 10/Courier@0 SF 1.26(\255f foo=bar)3.76 F F0 3.76(,a)C(n)-3.76 E
.187(attempt is made to assign a v)144 662.4 R .187
(alue to a readonly v)-.25 F .188
(ariable, an attempt is made to assign a v)-.25 F .188(alue to an)-.25 F
1.749(array v)144 674.4 R 1.749
(ariable without using the compound assignment syntax \(see)-.25 F F2
(Arrays)4.248 E F0(abo)4.248 E -.15(ve)-.15 G 1.748(\), one of the).15 F
F1(names)144 686.4 Q F0 .359(is not a v)2.858 F .359(alid shell v)-.25 F
.359(ariable name, an attempt is made to turn of)-.25 F 2.859(fr)-.25 G
.359(eadonly status for a read-)-2.859 F 1.213(only v)144 698.4 R 1.213
(ariable, an attempt is made to turn of)-.25 F 3.713(fa)-.25 G 1.213
(rray status for an array v)-3.713 F 1.212(ariable, or an attempt is)
-.25 F(made to display a non-e)144 710.4 Q(xistent function with)-.15 E
F2<ad66>2.5 E F0(.)A(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(6)
203.725 E 0 Cg EP
%%Page: 7 7
%%BeginPageSetup
BP
+1 -1
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
%%CreationDate: Mon Nov 19 15:20:58 2018
%%CreationDate: Tue Dec 18 11:43:41 2018
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.22 3
+3 -3
View File
@@ -2,10 +2,10 @@
Copyright (C) 1988-2018 Free Software Foundation, Inc.
@end ignore
@set LASTCHANGE Fri Nov 9 14:24:49 EST 2018
@set LASTCHANGE Fri Dec 7 09:49:07 EST 2018
@set EDITION 5.0
@set VERSION 5.0
@set UPDATED 9 November 2018
@set UPDATED-MONTH November 2018
@set UPDATED 7 December 2018
@set UPDATED-MONTH December 2018
+2 -2
View File
@@ -336,9 +336,9 @@ int flags;
} else if (flags & OPT_DEV)
printf("%d\n", st->st_dev);
else if (flags & OPT_INO)
printf("%d\n", st->st_ino);
printf("%lu\n", (unsigned long)st->st_ino);
else if (flags & OPT_FID)
printf("%d:%ld\n", st->st_dev, st->st_ino);
printf("%d:%lu\n", st->st_dev, (unsigned long)st->st_ino);
else if (flags & OPT_NLINK)
printf("%d\n", st->st_nlink);
else if (flags & OPT_LNKNAM) {
+1 -1
View File
@@ -161,7 +161,7 @@ long_double_format (char const *fmt)
strcpy (ldfmt + length_modifier_offset + 1,
fmt + length_modifier_offset + has_L);
#else
strcpy (ldfmt + length_modifier_offset, fmt + length_modifier_offset)
strcpy (ldfmt + length_modifier_offset, fmt + length_modifier_offset);
#endif
return ldfmt;
}
+13 -4
View File
@@ -1553,6 +1553,15 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
trap strings if we run trap to change a signal disposition. */
reset_signal_handlers ();
subshell_environment |= SUBSHELL_RESETTRAP;
#if 0 /* TAG:bash-5.1 */
/* We are in a subshell, so forget that we are running a trap handler or
that the signal handler has changed (we haven't changed it!) */
if (running_trap > 0)
{
run_trap_cleanup (running_trap - 1);
running_trap = 0;
}
#endif
/* Make sure restore_original_signals doesn't undo the work done by
make_child to ensure that asynchronous children are immune to SIGINT
@@ -1607,7 +1616,7 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
async_redirect_stdin ();
#if 0
/* XXX - TAG: bash-5.1 */
/* XXX - TAG:bash-5.1 */
if (user_subshell && command->type == cm_subshell)
optimize_subshell_command (command->value.Subshell->command);
#endif
@@ -2976,7 +2985,7 @@ eval_arith_for_expr (l, okp)
command_string_index = 0;
print_arith_command (new);
if (signal_in_progress (DEBUG_TRAP) == 0)
if (signal_in_progress (DEBUG_TRAP) == 0 && running_trap == 0)
{
FREE (the_printed_command_except_trap);
the_printed_command_except_trap = savestring (the_printed_command);
@@ -3708,7 +3717,7 @@ execute_arith_command (arith_command)
command_string_index = 0;
print_arith_command (arith_command->exp);
if (signal_in_progress (DEBUG_TRAP) == 0)
if (signal_in_progress (DEBUG_TRAP) == 0 && running_trap == 0)
{
FREE (the_printed_command_except_trap);
the_printed_command_except_trap = savestring (the_printed_command);
@@ -3909,7 +3918,7 @@ execute_cond_command (cond_command)
command_string_index = 0;
print_cond_command (cond_command);
if (signal_in_progress (DEBUG_TRAP) == 0)
if (signal_in_progress (DEBUG_TRAP) == 0 && running_trap == 0)
{
FREE (the_printed_command_except_trap);
the_printed_command_except_trap = savestring (the_printed_command);
+5 -5
View File
@@ -214,7 +214,7 @@ static intmax_t exp5 __P((void));
static intmax_t exp4 __P((void));
static intmax_t expshift __P((void));
static intmax_t exp3 __P((void));
static intmax_t exp2 __P((void));
static intmax_t expmuldiv __P((void));
static intmax_t exppower __P((void));
static intmax_t exp1 __P((void));
static intmax_t exp0 __P((void));
@@ -342,7 +342,7 @@ expr_bind_variable (lhs, rhs)
#if defined (ARRAY_VARS)
/* This is similar to the logic in arrayfunc.c:valid_array_subscript when
you pass VA_NOEXPAND. */
static char *
static int
expr_skipsubscript (vp, cp)
char *vp, *cp;
{
@@ -858,14 +858,14 @@ exp3 ()
{
register intmax_t val1, val2;
val1 = exp2 ();
val1 = expmuldiv ();
while ((curtok == PLUS) || (curtok == MINUS))
{
int op = curtok;
readtok ();
val2 = exp2 ();
val2 = expmuldiv ();
if (op == PLUS)
val1 += val2;
@@ -877,7 +877,7 @@ exp3 ()
}
static intmax_t
exp2 ()
expmuldiv ()
{
register intmax_t val1, val2;
#if defined (HAVE_IMAXDIV)
+1 -1
View File
@@ -343,7 +343,7 @@ extern char *dirspell __P((char *));
/* declarations for functions defined in lib/sh/strcasecmp.c */
#if !defined (HAVE_STRCASECMP)
extern int strncasecmp __P((const char *, const char *, int));
extern int strncasecmp __P((const char *, const char *, size_t));
extern int strcasecmp __P((const char *, const char *));
#endif /* HAVE_STRCASECMP */
+57 -1
View File
@@ -68,7 +68,33 @@ static void initialize_group_array __P((void));
/* A standard error message to use when getcwd() returns NULL. */
const char * const bash_getcwd_errstr = N_("getcwd: cannot access parent directories");
/* Do whatever is necessary to initialize `Posix mode'. */
/* Do whatever is necessary to initialize `Posix mode'. This currently
modifies the following variables which are controlled via shopt:
interactive_comments
source_uses_path
expand_aliases
inherit_errexit
print_shift_error
and the following variables which cannot be user-modified:
source_searches_cwd
If we add to the first list, we need to change the table and functions
below */
static struct {
int *posix_mode_var;
} posix_vars[] =
{
&interactive_comments,
&source_uses_path,
&expand_aliases,
&inherit_errexit,
&print_shift_error,
0
};
void
posix_initialize (on)
int on;
@@ -80,6 +106,7 @@ posix_initialize (on)
inherit_errexit = 1;
source_searches_cwd = 0;
print_shift_error = 1;
}
/* Things that should be turned on when posix mode is disabled. */
@@ -91,6 +118,35 @@ posix_initialize (on)
}
}
int
num_posix_options ()
{
return ((sizeof (posix_vars) / sizeof (posix_vars[0])) - 1);
}
char *
get_posix_options (bitmap)
char *bitmap;
{
register int i;
if (bitmap == 0)
bitmap = (char *)xmalloc (num_posix_options ()); /* no trailing NULL */
for (i = 0; posix_vars[i].posix_mode_var; i++)
bitmap[i] = *(posix_vars[i].posix_mode_var);
return bitmap;
}
void
set_posix_options (bitmap)
const char *bitmap;
{
register int i;
for (i = 0; posix_vars[i].posix_mode_var; i++)
*(posix_vars[i].posix_mode_var) = bitmap[i];
}
/* **************************************************************** */
/* */
/* Functions to convert to and from and display non-standard types */
+4
View File
@@ -297,6 +297,10 @@ extern void xfree __P((void *));
/* Declarations for functions defined in general.c */
extern void posix_initialize __P((int));
extern int num_posix_options __P((void));
extern char *get_posix_options __P((char *));
extern void set_posix_options __P((const char *));
#if defined (RLIMTYPE)
extern RLIMTYPE string_to_rlimtype __P((char *));
extern void print_rlimtype __P((RLIMTYPE, int));
+16 -7
View File
@@ -125,6 +125,20 @@ hash_copy (table, cpdata)
return new_table;
}
/* This is the best 32-bit string hash function I found. It's one of the
Fowler-Noll-Vo family (FNV-1).
The magic is in the interesting relationship between the special prime
16777619 (2^24 + 403) and 2^32 and 2^8. */
#define FNV_OFFSET 2166136261
#define FNV_PRIME 16777619
/* If you want to use 64 bits, use
FNV_OFFSET 14695981039346656037
FNV_PRIMT 1099511628211
*/
/* The `khash' check below requires that strings that compare equally with
strcmp hash to the same value. */
unsigned int
@@ -133,14 +147,9 @@ hash_string (s)
{
register unsigned int i;
/* This is the best string hash function I found.
The magic is in the interesting relationship between the special prime
16777619 (2^24 + 403) and 2^32 and 2^8. */
for (i = 0; *s; s++)
for (i = FNV_OFFSET; *s; s++)
{
i *= 16777619;
i *= FNV_PRIME;
i ^= *s;
}
+11 -9
View File
@@ -300,6 +300,8 @@ static int bgp_delete __P((pid_t));
static void bgp_clear __P((void));
static int bgp_search __P((pid_t));
static struct pipeline_saver *alloc_pipeline_saver __P((void));
static ps_index_t bgp_getindex __P((void));
static void bgp_resize __P((void)); /* XXX */
@@ -453,7 +455,7 @@ discard_last_procsub_child ()
discard_pipeline (disposer);
}
struct pipeline_saver *
static struct pipeline_saver *
alloc_pipeline_saver ()
{
struct pipeline_saver *ret;
@@ -4073,20 +4075,20 @@ notify_of_job_status ()
((DEADJOB (job) && IS_FOREGROUND (job) == 0) || STOPPED (job)))
continue;
#if 0
/* If job control is disabled, don't print the status messages.
Mark dead jobs as notified so that they get cleaned up. If
startup_state == 2, we were started to run `-c command', so
don't print anything. */
if ((job_control == 0 && interactive_shell) || startup_state == 2)
#else
/* If job control is disabled, don't print the status messages.
Mark dead jobs as notified so that they get cleaned up. If
startup_state == 2 and subshell_environment has the
SUBSHELL_COMSUB bit turned on, we were started to run a command
substitution, so don't print anything. */
substitution, so don't print anything.
Otherwise, if the shell is not interactive, POSIX says that `jobs'
is the only way to notify of job status. */
#if 1
if ((job_control == 0 && interactive_shell) ||
(startup_state == 2 && (subshell_environment & SUBSHELL_COMSUB)))
#else /* TAG:bash-5.1 */
if ((job_control == 0 && interactive_shell) ||
(startup_state == 2 && (subshell_environment & SUBSHELL_COMSUB)) ||
(startup_state == 2 && posixly_correct && (subshell_environment & SUBSHELL_COMSUB) == 0))
#endif
{
/* POSIX.2 compatibility: if the shell is not interactive,
+1 -1
View File
@@ -260,7 +260,7 @@ extern int give_terminal_to __P((pid_t, int));
extern void run_sigchld_trap __P((int));
extern int freeze_jobs_list __P((void));
extern void unfreeeze_jobs_list __P((void));
extern void unfreeze_jobs_list __P((void));
extern void set_jobs_list_frozen __P((int));
extern int set_job_control __P((int));
extern void without_job_control __P((void));
+10 -1
View File
@@ -384,7 +384,7 @@ BRACKMATCH (p, test, flags)
{
register CHAR cstart, cend, c;
register int not; /* Nonzero if the sense of the character class is inverted. */
int brcnt, brchr, forcecoll;
int brcnt, brchr, forcecoll, isrange;
INT pc;
CHAR *savep;
U_CHAR orig_test;
@@ -519,6 +519,7 @@ BRACKMATCH (p, test, flags)
}
cstart = cend = FOLD (cstart);
isrange = 0;
/* POSIX.2 2.8.3.1.2 says: `An expression containing a `[' that
is not preceded by a backslash and is not part of a bracket
@@ -573,10 +574,18 @@ BRACKMATCH (p, test, flags)
c = FOLD (c);
continue;
}
isrange = 1;
}
#if 0 /* TAG: bash-5.1 */
if (isrange == 0 && test == cstart)
goto matched;
if (isrange && RANGECMP (test, cstart, forcecoll) >= 0 && RANGECMP (test, cend, forcecoll) <= 0)
goto matched;
#else
if (RANGECMP (test, cstart, forcecoll) >= 0 && RANGECMP (test, cend, forcecoll) <= 0)
goto matched;
#endif
if (c == L(']'))
break;
+68 -2
View File
@@ -30,6 +30,12 @@
#include "shmbutil.h"
#include "xmalloc.h"
#include <errno.h>
#if !defined (errno)
extern int errno;
#endif
/* First, compile `sm_loop.c' for single-byte characters. */
#define CHAR unsigned char
#define U_CHAR unsigned char
@@ -82,7 +88,7 @@ rangecmp (c1, c2, forcecoll)
if ((ret = strcoll (s1, s2)) != 0)
return ret;
return (c1 - c2);
return (c1 - c2); /* impose total ordering */
}
#else /* !HAVE_STRCOLL */
# define rangecmp(c1, c2, f) ((int)(c1) - (int)(c2))
@@ -282,6 +288,41 @@ is_cclass (c, name)
extern char *mbsmbchar __P((const char *));
#if FNMATCH_EQUIV_FALLBACK
/* We don't include <fnmatch.h> in order to avoid namespace collisions; the
internal strmatch still uses the FNM_ constants. */
extern int fnmatch (const char *, const char *, int);
/* Construct a string w1 = "c1" and a pattern w2 = "[[=c2=]]" and pass them
to fnmatch to see if wide characters c1 and c2 collate as members of the
same equivalence class. We can't really do this portably any other way */
static int
_fnmatch_fallback_wc (c1, c2)
wchar_t c1, c2; /* string char, patchar */
{
char w1[MB_LEN_MAX+1]; /* string */
char w2[MB_LEN_MAX+8]; /* constructed pattern */
int l1, l2;
l1 = wctomb (w1, c1);
if (l1 == -1)
return (2);
w1[l1] = '\0';
/* reconstruct the pattern */
w2[0] = w2[1] = '[';
w2[2] = '=';
l2 = wctomb (w2+3, c2);
if (l2 == -1)
return (2);
w2[l2+3] = '=';
w2[l2+4] = w2[l2+5] = ']';
w2[l2+6] = '\0';
return (fnmatch ((const char *)w2, (const char *)w1, 0));
}
#endif
static int
rangecmp_wc (c1, c2, forcecoll)
wint_t c1, c2;
@@ -289,6 +330,7 @@ rangecmp_wc (c1, c2, forcecoll)
{
static wchar_t s1[2] = { L' ', L'\0' };
static wchar_t s2[2] = { L' ', L'\0' };
int r, oerrno;
if (c1 == c2)
return 0;
@@ -299,14 +341,38 @@ rangecmp_wc (c1, c2, forcecoll)
s1[0] = c1;
s2[0] = c2;
#if 0 /* TAG:bash-5.1 */
/* We impose a total ordering here by returning c1-c2 if wcscoll returns 0,
as we do above in the single-byte case. If we do this, we can no longer
use this code in collequiv_wc */
if ((r = wcscoll (s1, s2)) != 0)
return r;
return ((int)(c1 - c2)); /* impose total ordering */
#else
return (wcscoll (s1, s2));
#endif
}
/* Returns non-zero on success */
static int
collequiv_wc (c, equiv)
wint_t c, equiv;
{
return (c == equiv);
wchar_t s, p;
if (rangecmp_wc (c, equiv, 1) == 0)
return 1;
#if FNMATCH_EQUIV_FALLBACK
/* We check explicitly for success (fnmatch returns 0) to avoid problems if
our local definition of FNM_NOMATCH (strmatch.h) doesn't match the
system's (fnmatch.h). We don't care about error return values here. */
s = c;
p = equiv;
return (_fnmatch_fallback_wc (s, p) == 0);
#else
return 0;
#endif
}
/* Helper function for collating symbol. */
+11 -6
View File
@@ -720,19 +720,22 @@ Return the name matching @var{keymap}. @var{name} is one which would
be supplied in a @code{set keymap} inputrc line (@pxref{Readline Init File}).
@end deftypefun
@deftypefun void rl_set_keymap (const char *name, Keymap keymap)
@deftypefun int rl_set_keymap_name (const char *name, Keymap keymap)
Set the name of @var{keymap}. This name will then be "registered" and
available for use in a @code{set keymap} inputrc directive
@pxref{Readline Init File}).
The @var{name} may not be one of Readline's builtin names;
The @var{name} may not be one of Readline's builtin keymap names;
you may not add a different name for one of Readline's builtin keymaps.
Readline will make a copy of @var{name}.
You may replace the name associated with a given keymap by calling this
function two or more times with the same @var{keymap} argument.
You can associate a registered name with a new keymap by calling this
function two or more times with the same @var{name} argument.
function more than once with the same @var{keymap} argument.
You may associate a registered @var{name} with a new keymap by calling this
function more than once with the same @var{name} argument.
There is no way to remove a named keymap once the name has been
registered.
Readline will make a copy of @var{name}.
The return value is greater than zero unless @var{name} is one of
Readline's builtin keymap names or @var{keymap} is one of Readline's
builtin keymaps.
@end deftypefun
@node Binding Keys
@@ -2143,6 +2146,8 @@ character (@samp{\0}) prevents anything being appended automatically.
This can be changed in application-specific completion functions to
provide the ``most sensible word separator character'' according to
an application-specific command line syntax specification.
It is set to the default before any application-specific completion function
is called, and may only be changed within such a function.
@end deftypevar
@deftypevar int rl_completion_suppress_append
+3 -3
View File
@@ -4,7 +4,7 @@ Copyright (C) 1988-2018 Free Software Foundation, Inc.
@set EDITION 8.0
@set VERSION 8.0
@set UPDATED 18 September 2018
@set UPDATED-MONTH September 2018
@set UPDATED 30 November 2018
@set UPDATED-MONTH November 2018
@set LASTCHANGE Tue Sep 18 13:08:12 EDT 2018
@set LASTCHANGE Fri Nov 30 22:50:53 EST 2018
+1 -1
View File
@@ -32,7 +32,7 @@ int
strncasecmp (string1, string2, count)
const char *string1;
const char *string2;
int count;
size_t count;
{
register const char *s1;
register const char *s2;
+16 -1
View File
@@ -418,7 +418,8 @@ inputunit: simple_list simple_list_terminator
/* EOF after an error. Do ignoreeof or not. Really
only interesting in non-interactive shells */
global_command = (COMMAND *)NULL;
last_command_exit_value = 1;
if (last_command_exit_value == 0)
last_command_exit_value = EX_BADUSAGE; /* force error return */
handle_eof_input_unit ();
if (interactive && parse_and_execute_level == 0)
{
@@ -894,6 +895,16 @@ select_command: SELECT WORD newline_list DO list DONE
$$ = make_select_command ($2, REVERSE_LIST ($5, WORD_LIST *), $9, word_lineno[word_top]);
if (word_top > 0) word_top--;
}
| SELECT WORD newline_list IN list_terminator newline_list DO compound_list DONE
{
$$ = make_select_command ($2, (WORD_LIST *)NULL, $8, word_lineno[word_top]);
if (word_top > 0) word_top--;
}
| SELECT WORD newline_list IN list_terminator newline_list '{' compound_list '}'
{
$$ = make_select_command ($2, (WORD_LIST *)NULL, $8, word_lineno[word_top]);
if (word_top > 0) word_top--;
}
;
case_command: CASE WORD newline_list IN newline_list ESAC
@@ -3020,7 +3031,11 @@ special_case_tokens (tokstr)
{
/* Posix grammar rule 6 */
if ((last_read_token == WORD) &&
#if defined (SELECT_COMMAND)
((token_before_that == FOR) || (token_before_that == CASE) || (token_before_that == SELECT)) &&
#else
((token_before_that == FOR) || (token_before_that == CASE)) &&
#endif
(tokstr[0] == 'i' && tokstr[1] == 'n' && tokstr[2] == 0))
{
if (token_before_that == CASE)
+4 -4
View File
@@ -1,8 +1,8 @@
/* A Bison parser, made by GNU Bison 3.0.4. */
/* A Bison parser, made by GNU Bison 3.0.5. */
/* Bison interface for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
Copyright (C) 1984, 1989-1990, 2000-2015, 2018 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -148,7 +148,7 @@ extern int yydebug;
union YYSTYPE
{
#line 328 "./parse.y" /* yacc.c:1909 */
#line 328 "/usr/homes/chet/src/bash/src/parse.y" /* yacc.c:1910 */
WORD_DESC *word; /* the word that we read. */
int number; /* the number that we read. */
@@ -158,7 +158,7 @@ union YYSTYPE
ELEMENT element;
PATTERN_LIST *pattern;
#line 162 "y.tab.h" /* yacc.c:1909 */
#line 162 "y.tab.h" /* yacc.c:1910 */
};
typedef union YYSTYPE YYSTYPE;
BIN
View File
Binary file not shown.
+196 -190
View File
File diff suppressed because it is too large Load Diff
+205 -199
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+197 -190
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+197 -190
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+238 -235
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+196 -190
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+243 -251
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+197 -190
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
+205 -193
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+205 -193
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+197 -190
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+197 -190
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+205 -199
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+196 -190
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+248 -242
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+635 -295
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+196 -190
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+240 -237
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+197 -190
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+196 -190
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+196 -190
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+196 -190
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+196 -190
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+197 -190
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+197 -190
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+236 -231
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+270 -269
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+258 -250
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More