mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-06-27 23:53:18 +02:00
allow the --with-curses configure argument to specify a library name; fix for case pattern lists containing both null and non-null strings; fix for bug with PS1 expansion containing an arithmetic syntax error
This commit is contained in:
@@ -11515,3 +11515,51 @@ execute_cmd.c
|
||||
- execute_subshell_builtin_or_function: fix to propagate exit statuses
|
||||
of builtins run in subshells back to the calling shell
|
||||
From https://savannah.gnu.org/support/?109840
|
||||
|
||||
configure.ac
|
||||
- make sure an installed version of readline is version 8.3 or newer
|
||||
before using it
|
||||
|
||||
aclocal.m4
|
||||
- if --with-curses=LIBNAME is supplied, skip the search and use
|
||||
LIBNAME as the name of the library where we can find the termcap
|
||||
definitions
|
||||
|
||||
doc/bashref.texi
|
||||
- --with-curses: updated description
|
||||
|
||||
8/4
|
||||
---
|
||||
general.h
|
||||
- RESIZE_MALLOCED_BUFFER: replace loop with a single statement (using
|
||||
multiplication and integer division) to calculate the new size
|
||||
From a report and patch by Koichi Murase <myoga.murase@gmail.com>
|
||||
back in 6/2021
|
||||
|
||||
subst.c
|
||||
- parameter_brace_expand: if we are performing parameter transformation
|
||||
(c == '@') and we only want the variable's attributes (want_attributes == 1),
|
||||
don't throw an unbound variable error. Tagged for bash-5.4.
|
||||
Based on a report from konsolebox <konsolebox@gmail.com> in 10/2024
|
||||
|
||||
8/5
|
||||
---
|
||||
pathexp.c
|
||||
- quote_string_for_globbing: if we have an unescaped CTLNUL in a
|
||||
quoted string, we want to remove it. This can happen when a pattern
|
||||
contains a quoted null string adjacent to non-null characters.
|
||||
From a report by Takaaki Konno <re_c25@yahoo.co.jp> in 6/2025
|
||||
|
||||
8/7
|
||||
---
|
||||
subst.c
|
||||
- call_expand_word_internal: honor no_longjmp_on_fatal_error: if it's
|
||||
set, pass through return values of &expand_word_error and
|
||||
&expand_word_fatal
|
||||
- cond_expand_word,expand_subscript_string,expand_arith_string: if
|
||||
call_expand_word_internal returns an error, return a NULL string
|
||||
- expand_word,expand_string_internal,expand_string_assignment,
|
||||
expand_string_for_rhs,expand_string_for_pat,
|
||||
expand_word_leave_quoted: if call_expand_word_internal returns an
|
||||
error, return a NULL WORD_LIST *
|
||||
Fixes bug with PS1 expansion reported by smart.outfit080@8shield.net
|
||||
|
||||
@@ -248,10 +248,15 @@ the Bash ‘configure’ recognizes.
|
||||
systems for which this should be turned off, and ‘configure’
|
||||
disables this option automatically for a number of systems.
|
||||
|
||||
‘--with-curses’
|
||||
Use the curses library instead of the termcap library. ‘configure’
|
||||
usually chooses this automatically, since most systems include the
|
||||
termcap functions in the curses library.
|
||||
‘--with-curses[=LIBNAME]’
|
||||
Use the curses library instead of the termcap library as the
|
||||
library where the linker can find the termcap functions.
|
||||
‘configure’ usually chooses this automatically, since most systems
|
||||
include the termcap functions in the curses library. If LIBNAME is
|
||||
supplied, ‘configure’ does not search for an appropriate library
|
||||
and uses LIBNAME instead. LIBNAME should be either an argument for
|
||||
the linker (e.g., ‘-lLIBNAME’) or a filename (e.g.,
|
||||
‘/opt/local/lib/libncursesw.so’).
|
||||
|
||||
‘--with-gnu-malloc’
|
||||
A synonym for ‘--with-bash-malloc’.
|
||||
|
||||
Vendored
+9
-4
@@ -943,19 +943,24 @@ if test "X$_bash_needmsg" = "Xyes"; then
|
||||
AC_MSG_CHECKING(which library has the termcap functions)
|
||||
fi
|
||||
AC_MSG_RESULT(using $bash_cv_termcap_lib)
|
||||
if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then
|
||||
# we assume that anyone specifying --with-curses=library is savvy enough to
|
||||
# put it in a place that the linker can find it without a special -L option
|
||||
if test "$opt_curses" != "no" && test "$opt_curses" != "yes" ; then
|
||||
TERMCAP_LIB="$opt_curses"
|
||||
TERMCAP_DEP=
|
||||
elif test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then
|
||||
LDFLAGS="$LDFLAGS -L./lib/termcap"
|
||||
TERMCAP_LIB="./lib/termcap/libtermcap.a"
|
||||
TERMCAP_DEP="./lib/termcap/libtermcap.a"
|
||||
elif test $bash_cv_termcap_lib = libtermcap && test -z "$prefer_curses"; then
|
||||
TERMCAP_LIB=-ltermcap
|
||||
TERMCAP_DEP=
|
||||
elif test $bash_cv_termcap_lib = libtinfo; then
|
||||
TERMCAP_LIB=-ltinfo
|
||||
TERMCAP_DEP=
|
||||
elif test $bash_cv_termcap_lib = libtinfow; then
|
||||
TERMCAP_LIB=-ltinfow
|
||||
TERMCAP_DEP=
|
||||
elif test $bash_cv_termcap_lib = libtinfo; then
|
||||
TERMCAP_LIB=-ltinfo
|
||||
TERMCAP_DEP=
|
||||
elif test $bash_cv_termcap_lib = libncursesw; then
|
||||
TERMCAP_LIB=-lncursesw
|
||||
TERMCAP_DEP=
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#! /bin/sh
|
||||
# From configure.ac for Bash 5.3, version 5.080.
|
||||
# From configure.ac for Bash 5.3, version 5.082.
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.72 for bash 5.3-maint.
|
||||
#
|
||||
@@ -3414,7 +3414,7 @@ if test "$opt_afs" = yes; then
|
||||
|
||||
fi
|
||||
|
||||
if test "$opt_curses" = yes; then
|
||||
if test "$opt_curses" != "no" ; then
|
||||
prefer_curses=yes
|
||||
fi
|
||||
|
||||
@@ -5790,19 +5790,24 @@ printf %s "checking which library has the termcap functions... " >&6; }
|
||||
fi
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: using $bash_cv_termcap_lib" >&5
|
||||
printf "%s\n" "using $bash_cv_termcap_lib" >&6; }
|
||||
if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then
|
||||
# we assume that anyone specifying --with-curses=library is savvy enough to
|
||||
# put it in a place that the linker can find it without a special -L option
|
||||
if test "$opt_curses" != "no" && test "$opt_curses" != "yes" ; then
|
||||
TERMCAP_LIB="$opt_curses"
|
||||
TERMCAP_DEP=
|
||||
elif test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then
|
||||
LDFLAGS="$LDFLAGS -L./lib/termcap"
|
||||
TERMCAP_LIB="./lib/termcap/libtermcap.a"
|
||||
TERMCAP_DEP="./lib/termcap/libtermcap.a"
|
||||
elif test $bash_cv_termcap_lib = libtermcap && test -z "$prefer_curses"; then
|
||||
TERMCAP_LIB=-ltermcap
|
||||
TERMCAP_DEP=
|
||||
elif test $bash_cv_termcap_lib = libtinfo; then
|
||||
TERMCAP_LIB=-ltinfo
|
||||
TERMCAP_DEP=
|
||||
elif test $bash_cv_termcap_lib = libtinfow; then
|
||||
TERMCAP_LIB=-ltinfow
|
||||
TERMCAP_DEP=
|
||||
elif test $bash_cv_termcap_lib = libtinfo; then
|
||||
TERMCAP_LIB=-ltinfo
|
||||
TERMCAP_DEP=
|
||||
elif test $bash_cv_termcap_lib = libncursesw; then
|
||||
TERMCAP_LIB=-lncursesw
|
||||
TERMCAP_DEP=
|
||||
@@ -5970,7 +5975,7 @@ fi
|
||||
|
||||
|
||||
case "$ac_cv_rl_version" in
|
||||
8*|9*) ;;
|
||||
8.3*|9*) ;;
|
||||
*) opt_with_installed_readline=no
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: installed readline library is too old to be linked with bash" >&5
|
||||
printf "%s\n" "$as_me: WARNING: installed readline library is too old to be linked with bash" >&2;}
|
||||
@@ -9410,8 +9415,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
|
||||
LIBS=$save_LIBS
|
||||
test $gl_pthread_api = yes && break
|
||||
done
|
||||
echo "$as_me:9413: gl_pthread_api=$gl_pthread_api" >&5
|
||||
echo "$as_me:9414: LIBPTHREAD=$LIBPTHREAD" >&5
|
||||
echo "$as_me:9418: gl_pthread_api=$gl_pthread_api" >&5
|
||||
echo "$as_me:9419: LIBPTHREAD=$LIBPTHREAD" >&5
|
||||
|
||||
gl_pthread_in_glibc=no
|
||||
# On Linux with glibc >= 2.34, libc contains the fully functional
|
||||
@@ -9437,7 +9442,7 @@ rm -rf conftest*
|
||||
|
||||
;;
|
||||
esac
|
||||
echo "$as_me:9440: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
|
||||
echo "$as_me:9445: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
|
||||
|
||||
# Test for libpthread by looking for pthread_kill. (Not pthread_self,
|
||||
# since it is defined as a macro on OSF/1.)
|
||||
@@ -9615,7 +9620,7 @@ fi
|
||||
|
||||
fi
|
||||
fi
|
||||
echo "$as_me:9618: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
|
||||
echo "$as_me:9623: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
|
||||
fi
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5
|
||||
printf %s "checking whether POSIX threads API is available... " >&6; }
|
||||
@@ -9862,8 +9867,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \
|
||||
LIBS=$save_LIBS
|
||||
test $gl_pthread_api = yes && break
|
||||
done
|
||||
echo "$as_me:9865: gl_pthread_api=$gl_pthread_api" >&5
|
||||
echo "$as_me:9866: LIBPTHREAD=$LIBPTHREAD" >&5
|
||||
echo "$as_me:9870: gl_pthread_api=$gl_pthread_api" >&5
|
||||
echo "$as_me:9871: LIBPTHREAD=$LIBPTHREAD" >&5
|
||||
|
||||
gl_pthread_in_glibc=no
|
||||
# On Linux with glibc >= 2.34, libc contains the fully functional
|
||||
@@ -9889,7 +9894,7 @@ rm -rf conftest*
|
||||
|
||||
;;
|
||||
esac
|
||||
echo "$as_me:9892: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
|
||||
echo "$as_me:9897: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5
|
||||
|
||||
# Test for libpthread by looking for pthread_kill. (Not pthread_self,
|
||||
# since it is defined as a macro on OSF/1.)
|
||||
@@ -10067,7 +10072,7 @@ fi
|
||||
|
||||
fi
|
||||
fi
|
||||
echo "$as_me:10070: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
|
||||
echo "$as_me:10075: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5
|
||||
fi
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5
|
||||
printf %s "checking whether POSIX threads API is available... " >&6; }
|
||||
@@ -23077,19 +23082,24 @@ printf %s "checking which library has the termcap functions... " >&6; }
|
||||
fi
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: using $bash_cv_termcap_lib" >&5
|
||||
printf "%s\n" "using $bash_cv_termcap_lib" >&6; }
|
||||
if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then
|
||||
# we assume that anyone specifying --with-curses=library is savvy enough to
|
||||
# put it in a place that the linker can find it without a special -L option
|
||||
if test "$opt_curses" != "no" && test "$opt_curses" != "yes" ; then
|
||||
TERMCAP_LIB="$opt_curses"
|
||||
TERMCAP_DEP=
|
||||
elif test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then
|
||||
LDFLAGS="$LDFLAGS -L./lib/termcap"
|
||||
TERMCAP_LIB="./lib/termcap/libtermcap.a"
|
||||
TERMCAP_DEP="./lib/termcap/libtermcap.a"
|
||||
elif test $bash_cv_termcap_lib = libtermcap && test -z "$prefer_curses"; then
|
||||
TERMCAP_LIB=-ltermcap
|
||||
TERMCAP_DEP=
|
||||
elif test $bash_cv_termcap_lib = libtinfo; then
|
||||
TERMCAP_LIB=-ltinfo
|
||||
TERMCAP_DEP=
|
||||
elif test $bash_cv_termcap_lib = libtinfow; then
|
||||
TERMCAP_LIB=-ltinfow
|
||||
TERMCAP_DEP=
|
||||
elif test $bash_cv_termcap_lib = libtinfo; then
|
||||
TERMCAP_LIB=-ltinfo
|
||||
TERMCAP_DEP=
|
||||
elif test $bash_cv_termcap_lib = libncursesw; then
|
||||
TERMCAP_LIB=-lncursesw
|
||||
TERMCAP_DEP=
|
||||
|
||||
+3
-3
@@ -21,7 +21,7 @@ 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.3, version 5.080])dnl
|
||||
AC_REVISION([for Bash 5.3, version 5.082])dnl
|
||||
|
||||
define(bashvers, 5.3)
|
||||
define(relstatus, maint)
|
||||
@@ -137,7 +137,7 @@ if test "$opt_afs" = yes; then
|
||||
AC_DEFINE(AFS)
|
||||
fi
|
||||
|
||||
if test "$opt_curses" = yes; then
|
||||
if test "$opt_curses" != "no" ; then
|
||||
prefer_curses=yes
|
||||
fi
|
||||
|
||||
@@ -588,7 +588,7 @@ then
|
||||
RL_LIB_READLINE_VERSION
|
||||
|
||||
case "$ac_cv_rl_version" in
|
||||
8*|9*) ;;
|
||||
8.3*|9*) ;;
|
||||
*) opt_with_installed_readline=no
|
||||
AC_MSG_WARN([installed readline library is too old to be linked with bash])
|
||||
AC_MSG_WARN([using private bash version])
|
||||
|
||||
@@ -270,11 +270,7 @@ dispose_words (WORD_LIST *list)
|
||||
t = list;
|
||||
list = list->next;
|
||||
dispose_word (t->word);
|
||||
#if 0
|
||||
free (t);
|
||||
#else
|
||||
ocache_free (wlcache, WORD_LIST, t);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1623
-1621
File diff suppressed because it is too large
Load Diff
+222
-214
@@ -1,9 +1,9 @@
|
||||
This is bash.info, produced by makeinfo version 7.2 from bashref.texi.
|
||||
|
||||
This text is a brief description of the features that are present in the
|
||||
Bash shell (version 5.3, 18 May 2025).
|
||||
Bash shell (version 5.3, 7 August 2025).
|
||||
|
||||
This is Edition 5.3, last updated 18 May 2025, of ‘The GNU Bash
|
||||
This is Edition 5.3, last updated 7 August 2025, of ‘The GNU Bash
|
||||
Reference Manual’, for ‘Bash’, Version 5.3.
|
||||
|
||||
Copyright © 1988-2025 Free Software Foundation, Inc.
|
||||
@@ -26,10 +26,10 @@ Bash Features
|
||||
*************
|
||||
|
||||
This text is a brief description of the features that are present in the
|
||||
Bash shell (version 5.3, 18 May 2025). The Bash home page is
|
||||
Bash shell (version 5.3, 7 August 2025). The Bash home page is
|
||||
<http://www.gnu.org/software/bash/>.
|
||||
|
||||
This is Edition 5.3, last updated 18 May 2025, of ‘The GNU Bash
|
||||
This is Edition 5.3, last updated 7 August 2025, of ‘The GNU Bash
|
||||
Reference Manual’, for ‘Bash’, Version 5.3.
|
||||
|
||||
Bash contains features that appear in other popular shells, and some
|
||||
@@ -3237,7 +3237,7 @@ parameter $? (*note Special Parameters::).
|
||||
Bash itself returns the exit status of the last command executed,
|
||||
unless a syntax error occurs, in which case it exits with a non-zero
|
||||
value. See also the ‘exit’ builtin command (*note Bourne Shell
|
||||
Builtins::.
|
||||
Builtins::).
|
||||
|
||||
|
||||
File: bash.info, Node: Signals, Prev: Exit Status, Up: Executing Commands
|
||||
@@ -3254,7 +3254,7 @@ is in effect (*note Job Control::), Bash ignores ‘SIGTTIN’, ‘SIGTTOU’,
|
||||
and ‘SIGTSTP’.
|
||||
|
||||
The ‘trap’ builtin modifies the shell's signal handling, as described
|
||||
below (*note Bourne Shell Builtins::.
|
||||
below (*note Bourne Shell Builtins::).
|
||||
|
||||
Non-builtin commands Bash executes have signal handlers set to the
|
||||
values inherited by the shell from its parent, unless ‘trap’ sets them
|
||||
@@ -3498,8 +3498,9 @@ standard.
|
||||
|
||||
Change the current working directory to DIRECTORY. If DIRECTORY is
|
||||
not supplied, the value of the ‘HOME’ shell variable is used as
|
||||
DIRECTORY. If the shell variable ‘CDPATH’ exists, and DIRECTORY
|
||||
does not begin with a slash, ‘cd’ uses it as a search path: ‘cd’
|
||||
DIRECTORY. If DIRECTORY is the empty string, ‘cd’ treats it as an
|
||||
error. If the shell variable ‘CDPATH’ exists, and DIRECTORY does
|
||||
not begin with a slash, ‘cd’ uses it as a search path: ‘cd’
|
||||
searches each directory name in ‘CDPATH’ for DIRECTORY, with
|
||||
alternative directory names in ‘CDPATH’ separated by a colon (‘:’).
|
||||
A null directory name in ‘CDPATH’ means the same thing as the
|
||||
@@ -5461,7 +5462,7 @@ This builtin allows you to change additional optional shell behavior.
|
||||
‘nocasematch’
|
||||
If set, Bash matches patterns in a case-insensitive fashion
|
||||
when performing matching while executing ‘case’ or ‘[[’
|
||||
conditional commands (*note Conditional Constructs::, when
|
||||
conditional commands (*note Conditional Constructs::), when
|
||||
performing pattern substitution word expansions, or when
|
||||
filtering possible completions as part of programmable
|
||||
completion.
|
||||
@@ -6331,7 +6332,7 @@ Variables::).
|
||||
|
||||
‘READLINE_ARGUMENT’
|
||||
Any numeric argument given to a Readline command that was defined
|
||||
using ‘bind -x’ (*note Bash Builtins:: when it was invoked.
|
||||
using ‘bind -x’ (*note Bash Builtins::) when it was invoked.
|
||||
|
||||
‘READLINE_LINE’
|
||||
The contents of the Readline line buffer, for use with ‘bind -x’
|
||||
@@ -7128,7 +7129,7 @@ an expression.
|
||||
it is referenced, or when a variable which has been given the ‘integer’
|
||||
attribute using ‘declare -i’ is assigned a value. A null value
|
||||
evaluates to 0. A shell variable need not have its ‘integer’ attribute
|
||||
turned on to be used in an expression.
|
||||
enabled to be used in an expression.
|
||||
|
||||
Integer constants follow the C language definition, without suffixes
|
||||
or character constants. Constants with a leading 0 are interpreted as
|
||||
@@ -7688,7 +7689,7 @@ startup files.
|
||||
1. Bash ensures that the ‘POSIXLY_CORRECT’ variable is set.
|
||||
|
||||
2. Bash reads and executes the POSIX startup files (‘$ENV’) rather
|
||||
than the normal Bash files (*note Bash Startup Files::.
|
||||
than the normal Bash files (*note Bash Startup Files::).
|
||||
|
||||
3. Alias expansion is always enabled, even in non-interactive shells.
|
||||
|
||||
@@ -8880,6 +8881,8 @@ Variable Settings
|
||||
the default Readline bindings described here. Type ‘stty -a’
|
||||
at a Bash prompt to see your current terminal settings,
|
||||
including the special control characters (usually ‘cchars’).
|
||||
This binding takes place on each call to ‘readline()’, so
|
||||
changes made by ‘stty’ can take effect.
|
||||
|
||||
‘blink-matching-paren’
|
||||
If set to ‘on’, Readline attempts to briefly move the cursor
|
||||
@@ -11605,10 +11608,15 @@ the Bash ‘configure’ recognizes.
|
||||
systems for which this should be turned off, and ‘configure’
|
||||
disables this option automatically for a number of systems.
|
||||
|
||||
‘--with-curses’
|
||||
Use the curses library instead of the termcap library. ‘configure’
|
||||
usually chooses this automatically, since most systems include the
|
||||
termcap functions in the curses library.
|
||||
‘--with-curses[=LIBNAME]’
|
||||
Use the curses library instead of the termcap library as the
|
||||
library where the linker can find the termcap functions.
|
||||
‘configure’ usually chooses this automatically, since most systems
|
||||
include the termcap functions in the curses library. If LIBNAME is
|
||||
supplied, ‘configure’ does not search for an appropriate library
|
||||
and uses LIBNAME instead. LIBNAME should be either an argument for
|
||||
the linker (e.g., ‘-lLIBNAME’) or a filename (e.g.,
|
||||
‘/opt/local/lib/libncursesw.so’).
|
||||
|
||||
‘--with-gnu-malloc’
|
||||
A synonym for ‘--with-bash-malloc’.
|
||||
@@ -12168,11 +12176,11 @@ historical Bourne shell) as the baseline reference.
|
||||
using ‘export -f’ (*note Shell Functions::).
|
||||
|
||||
• The Bash ‘export’ and ‘readonly’ builtins (*note Bourne Shell
|
||||
Builtins:: can take a ‘-f’ option to act on shell functions, a ‘-p’
|
||||
option to display variables with various attributes set in a format
|
||||
that can be used as shell input, a ‘-n’ option to remove various
|
||||
variable attributes, and ‘name=value’ arguments to set variable
|
||||
attributes and values simultaneously.
|
||||
Builtins::) can take a ‘-f’ option to act on shell functions, a
|
||||
‘-p’ option to display variables with various attributes set in a
|
||||
format that can be used as shell input, a ‘-n’ option to remove
|
||||
various variable attributes, and ‘name=value’ arguments to set
|
||||
variable attributes and values simultaneously.
|
||||
|
||||
• The Bash ‘hash’ builtin allows a name to be associated with an
|
||||
arbitrary filename, even when that filename cannot be found by
|
||||
@@ -12838,7 +12846,7 @@ D.1 Index of Shell Builtin Commands
|
||||
* .: Bourne Shell Builtins.
|
||||
(line 17)
|
||||
* [: Bourne Shell Builtins.
|
||||
(line 339)
|
||||
(line 340)
|
||||
* alias: Bash Builtins. (line 11)
|
||||
* bg: Job Control Builtins.
|
||||
(line 7)
|
||||
@@ -12857,7 +12865,7 @@ D.1 Index of Shell Builtin Commands
|
||||
* compopt: Programmable Completion Builtins.
|
||||
(line 258)
|
||||
* continue: Bourne Shell Builtins.
|
||||
(line 106)
|
||||
(line 107)
|
||||
* declare: Bash Builtins. (line 179)
|
||||
* dirs: Directory Stack Builtins.
|
||||
(line 7)
|
||||
@@ -12866,23 +12874,23 @@ D.1 Index of Shell Builtin Commands
|
||||
* echo: Bash Builtins. (line 284)
|
||||
* enable: Bash Builtins. (line 337)
|
||||
* eval: Bourne Shell Builtins.
|
||||
(line 115)
|
||||
(line 116)
|
||||
* exec: Bourne Shell Builtins.
|
||||
(line 123)
|
||||
(line 124)
|
||||
* exit: Bourne Shell Builtins.
|
||||
(line 145)
|
||||
(line 146)
|
||||
* export: Bourne Shell Builtins.
|
||||
(line 152)
|
||||
(line 153)
|
||||
* false: Bourne Shell Builtins.
|
||||
(line 175)
|
||||
(line 176)
|
||||
* fc: Bash History Builtins.
|
||||
(line 10)
|
||||
* fg: Job Control Builtins.
|
||||
(line 17)
|
||||
* getopts: Bourne Shell Builtins.
|
||||
(line 180)
|
||||
(line 181)
|
||||
* hash: Bourne Shell Builtins.
|
||||
(line 232)
|
||||
(line 233)
|
||||
* help: Bash Builtins. (line 375)
|
||||
* history: Bash History Builtins.
|
||||
(line 59)
|
||||
@@ -12900,36 +12908,36 @@ D.1 Index of Shell Builtin Commands
|
||||
* pushd: Directory Stack Builtins.
|
||||
(line 71)
|
||||
* pwd: Bourne Shell Builtins.
|
||||
(line 264)
|
||||
(line 265)
|
||||
* read: Bash Builtins. (line 558)
|
||||
* readarray: Bash Builtins. (line 669)
|
||||
* readonly: Bourne Shell Builtins.
|
||||
(line 276)
|
||||
(line 277)
|
||||
* return: Bourne Shell Builtins.
|
||||
(line 301)
|
||||
(line 302)
|
||||
* set: The Set Builtin. (line 11)
|
||||
* shift: Bourne Shell Builtins.
|
||||
(line 326)
|
||||
(line 327)
|
||||
* shopt: The Shopt Builtin. (line 9)
|
||||
* source: Bash Builtins. (line 678)
|
||||
* suspend: Job Control Builtins.
|
||||
(line 139)
|
||||
* test: Bourne Shell Builtins.
|
||||
(line 339)
|
||||
(line 340)
|
||||
* times: Bourne Shell Builtins.
|
||||
(line 439)
|
||||
(line 440)
|
||||
* trap: Bourne Shell Builtins.
|
||||
(line 445)
|
||||
(line 446)
|
||||
* true: Bourne Shell Builtins.
|
||||
(line 511)
|
||||
(line 512)
|
||||
* type: Bash Builtins. (line 683)
|
||||
* typeset: Bash Builtins. (line 720)
|
||||
* ulimit: Bash Builtins. (line 726)
|
||||
* umask: Bourne Shell Builtins.
|
||||
(line 516)
|
||||
(line 517)
|
||||
* unalias: Bash Builtins. (line 834)
|
||||
* unset: Bourne Shell Builtins.
|
||||
(line 534)
|
||||
(line 535)
|
||||
* wait: Job Control Builtins.
|
||||
(line 86)
|
||||
|
||||
@@ -13035,17 +13043,17 @@ D.3 Parameter and Variable Index
|
||||
* bind-tty-special-chars: Readline Init File Syntax.
|
||||
(line 71)
|
||||
* blink-matching-paren: Readline Init File Syntax.
|
||||
(line 79)
|
||||
(line 81)
|
||||
* CDPATH: Bourne Shell Variables.
|
||||
(line 9)
|
||||
* CHILD_MAX: Bash Variables. (line 217)
|
||||
* colored-completion-prefix: Readline Init File Syntax.
|
||||
(line 84)
|
||||
(line 86)
|
||||
* colored-stats: Readline Init File Syntax.
|
||||
(line 94)
|
||||
(line 96)
|
||||
* COLUMNS: Bash Variables. (line 224)
|
||||
* comment-begin: Readline Init File Syntax.
|
||||
(line 100)
|
||||
(line 102)
|
||||
* COMP_CWORD: Bash Variables. (line 230)
|
||||
* COMP_KEY: Bash Variables. (line 236)
|
||||
* COMP_LINE: Bash Variables. (line 242)
|
||||
@@ -13054,48 +13062,48 @@ D.3 Parameter and Variable Index
|
||||
* COMP_WORDBREAKS: Bash Variables. (line 265)
|
||||
* COMP_WORDS: Bash Variables. (line 271)
|
||||
* completion-display-width: Readline Init File Syntax.
|
||||
(line 104)
|
||||
(line 106)
|
||||
* completion-ignore-case: Readline Init File Syntax.
|
||||
(line 111)
|
||||
(line 113)
|
||||
* completion-map-case: Readline Init File Syntax.
|
||||
(line 116)
|
||||
(line 118)
|
||||
* completion-prefix-display-length: Readline Init File Syntax.
|
||||
(line 122)
|
||||
(line 124)
|
||||
* completion-query-items: Readline Init File Syntax.
|
||||
(line 131)
|
||||
(line 133)
|
||||
* COMPREPLY: Bash Variables. (line 278)
|
||||
* convert-meta: Readline Init File Syntax.
|
||||
(line 142)
|
||||
(line 144)
|
||||
* COPROC: Bash Variables. (line 284)
|
||||
* DIRSTACK: Bash Variables. (line 288)
|
||||
* disable-completion: Readline Init File Syntax.
|
||||
(line 154)
|
||||
(line 156)
|
||||
* echo-control-characters: Readline Init File Syntax.
|
||||
(line 159)
|
||||
(line 161)
|
||||
* editing-mode: Readline Init File Syntax.
|
||||
(line 164)
|
||||
(line 166)
|
||||
* EMACS: Bash Variables. (line 298)
|
||||
* emacs-mode-string: Readline Init File Syntax.
|
||||
(line 170)
|
||||
(line 172)
|
||||
* enable-active-region The: Readline Init File Syntax.
|
||||
(line 180)
|
||||
(line 182)
|
||||
* enable-bracketed-paste: Readline Init File Syntax.
|
||||
(line 193)
|
||||
(line 195)
|
||||
* enable-keypad: Readline Init File Syntax.
|
||||
(line 202)
|
||||
(line 204)
|
||||
* enable-meta-key: Readline Init File Syntax.
|
||||
(line 207)
|
||||
(line 209)
|
||||
* ENV: Bash Variables. (line 303)
|
||||
* EPOCHREALTIME: Bash Variables. (line 308)
|
||||
* EPOCHSECONDS: Bash Variables. (line 316)
|
||||
* EUID: Bash Variables. (line 323)
|
||||
* EXECIGNORE: Bash Variables. (line 327)
|
||||
* expand-tilde: Readline Init File Syntax.
|
||||
(line 217)
|
||||
(line 219)
|
||||
* FCEDIT: Bash Variables. (line 339)
|
||||
* FIGNORE: Bash Variables. (line 342)
|
||||
* force-meta-prefix: Readline Init File Syntax.
|
||||
(line 221)
|
||||
(line 223)
|
||||
* FUNCNAME: Bash Variables. (line 348)
|
||||
* FUNCNEST: Bash Variables. (line 365)
|
||||
* GLOBIGNORE: Bash Variables. (line 370)
|
||||
@@ -13108,15 +13116,15 @@ D.3 Parameter and Variable Index
|
||||
* HISTFILESIZE: Bash Variables. (line 467)
|
||||
* HISTIGNORE: Bash Variables. (line 481)
|
||||
* history-preserve-point: Readline Init File Syntax.
|
||||
(line 234)
|
||||
(line 236)
|
||||
* history-size: Readline Init File Syntax.
|
||||
(line 240)
|
||||
(line 242)
|
||||
* HISTSIZE: Bash Variables. (line 505)
|
||||
* HISTTIMEFORMAT: Bash Variables. (line 512)
|
||||
* HOME: Bourne Shell Variables.
|
||||
(line 13)
|
||||
* horizontal-scroll-mode: Readline Init File Syntax.
|
||||
(line 250)
|
||||
(line 252)
|
||||
* HOSTFILE: Bash Variables. (line 521)
|
||||
* HOSTNAME: Bash Variables. (line 532)
|
||||
* HOSTTYPE: Bash Variables. (line 535)
|
||||
@@ -13124,13 +13132,13 @@ D.3 Parameter and Variable Index
|
||||
(line 18)
|
||||
* IGNOREEOF: Bash Variables. (line 538)
|
||||
* input-meta: Readline Init File Syntax.
|
||||
(line 258)
|
||||
(line 260)
|
||||
* INPUTRC: Bash Variables. (line 547)
|
||||
* INSIDE_EMACS: Bash Variables. (line 551)
|
||||
* isearch-terminators: Readline Init File Syntax.
|
||||
(line 269)
|
||||
(line 271)
|
||||
* keymap: Readline Init File Syntax.
|
||||
(line 276)
|
||||
(line 278)
|
||||
* LANG: Creating Internationalized Scripts.
|
||||
(line 51)
|
||||
* LANG <1>: Bash Variables. (line 557)
|
||||
@@ -13152,15 +13160,15 @@ D.3 Parameter and Variable Index
|
||||
(line 29)
|
||||
* MAPFILE: Bash Variables. (line 614)
|
||||
* mark-modified-lines: Readline Init File Syntax.
|
||||
(line 306)
|
||||
(line 308)
|
||||
* mark-symlinked-directories: Readline Init File Syntax.
|
||||
(line 311)
|
||||
(line 313)
|
||||
* match-hidden-files: Readline Init File Syntax.
|
||||
(line 316)
|
||||
(line 318)
|
||||
* menu-complete-display-prefix: Readline Init File Syntax.
|
||||
(line 323)
|
||||
(line 325)
|
||||
* meta-flag: Readline Init File Syntax.
|
||||
(line 258)
|
||||
(line 260)
|
||||
* OLDPWD: Bash Variables. (line 618)
|
||||
* OPTARG: Bourne Shell Variables.
|
||||
(line 36)
|
||||
@@ -13169,9 +13177,9 @@ D.3 Parameter and Variable Index
|
||||
(line 40)
|
||||
* OSTYPE: Bash Variables. (line 626)
|
||||
* output-meta: Readline Init File Syntax.
|
||||
(line 328)
|
||||
(line 330)
|
||||
* page-completions: Readline Init File Syntax.
|
||||
(line 337)
|
||||
(line 339)
|
||||
* PATH: Bourne Shell Variables.
|
||||
(line 44)
|
||||
* PIPESTATUS: Bash Variables. (line 629)
|
||||
@@ -13194,21 +13202,21 @@ D.3 Parameter and Variable Index
|
||||
* READLINE_POINT: Bash Variables. (line 708)
|
||||
* REPLY: Bash Variables. (line 712)
|
||||
* revert-all-at-newline: Readline Init File Syntax.
|
||||
(line 350)
|
||||
(line 352)
|
||||
* search-ignore-case: Readline Init File Syntax.
|
||||
(line 357)
|
||||
(line 359)
|
||||
* SECONDS: Bash Variables. (line 716)
|
||||
* SHELL: Bash Variables. (line 726)
|
||||
* SHELLOPTS: Bash Variables. (line 731)
|
||||
* SHLVL: Bash Variables. (line 741)
|
||||
* show-all-if-ambiguous: Readline Init File Syntax.
|
||||
(line 362)
|
||||
(line 364)
|
||||
* show-all-if-unmodified: Readline Init File Syntax.
|
||||
(line 368)
|
||||
(line 370)
|
||||
* show-mode-in-prompt: Readline Init File Syntax.
|
||||
(line 377)
|
||||
(line 379)
|
||||
* skip-completed-text: Readline Init File Syntax.
|
||||
(line 383)
|
||||
(line 385)
|
||||
* SRANDOM: Bash Variables. (line 746)
|
||||
* TEXTDOMAIN: Creating Internationalized Scripts.
|
||||
(line 51)
|
||||
@@ -13219,11 +13227,11 @@ D.3 Parameter and Variable Index
|
||||
* TMPDIR: Bash Variables. (line 806)
|
||||
* UID: Bash Variables. (line 810)
|
||||
* vi-cmd-mode-string: Readline Init File Syntax.
|
||||
(line 396)
|
||||
(line 398)
|
||||
* vi-ins-mode-string: Readline Init File Syntax.
|
||||
(line 407)
|
||||
(line 409)
|
||||
* visible-stats: Readline Init File Syntax.
|
||||
(line 418)
|
||||
(line 420)
|
||||
|
||||
|
||||
File: bash.info, Node: Function Index, Next: Concept Index, Prev: Variable Index, Up: Indexes
|
||||
@@ -13611,138 +13619,138 @@ D.5 Concept Index
|
||||
|
||||
|
||||
Tag Table:
|
||||
Node: Top891
|
||||
Node: Introduction2822
|
||||
Node: What is Bash?3035
|
||||
Node: What is a shell?4168
|
||||
Node: Definitions6778
|
||||
Node: Basic Shell Features10105
|
||||
Node: Shell Syntax11329
|
||||
Node: Shell Operation12356
|
||||
Node: Quoting13647
|
||||
Node: Escape Character14985
|
||||
Node: Single Quotes15520
|
||||
Node: Double Quotes15869
|
||||
Node: ANSI-C Quoting17214
|
||||
Node: Locale Translation18608
|
||||
Node: Creating Internationalized Scripts20011
|
||||
Node: Comments24209
|
||||
Node: Shell Commands24976
|
||||
Node: Reserved Words25915
|
||||
Node: Simple Commands26780
|
||||
Node: Pipelines27442
|
||||
Node: Lists30698
|
||||
Node: Compound Commands32570
|
||||
Node: Looping Constructs33579
|
||||
Node: Conditional Constructs36128
|
||||
Node: Command Grouping51198
|
||||
Node: Coprocesses52690
|
||||
Node: GNU Parallel55376
|
||||
Node: Shell Functions56294
|
||||
Node: Shell Parameters64742
|
||||
Node: Positional Parameters69643
|
||||
Node: Special Parameters70733
|
||||
Node: Shell Expansions74194
|
||||
Node: Brace Expansion76383
|
||||
Node: Tilde Expansion79719
|
||||
Node: Shell Parameter Expansion82674
|
||||
Node: Command Substitution103317
|
||||
Node: Arithmetic Expansion106846
|
||||
Node: Process Substitution108022
|
||||
Node: Word Splitting109130
|
||||
Node: Filename Expansion111574
|
||||
Node: Pattern Matching114798
|
||||
Node: Quote Removal120521
|
||||
Node: Redirections120825
|
||||
Node: Executing Commands131088
|
||||
Node: Simple Command Expansion131755
|
||||
Node: Command Search and Execution133863
|
||||
Node: Command Execution Environment136307
|
||||
Node: Environment139755
|
||||
Node: Exit Status141658
|
||||
Node: Signals143716
|
||||
Node: Shell Scripts148645
|
||||
Node: Shell Builtin Commands151943
|
||||
Node: Bourne Shell Builtins154054
|
||||
Node: Bash Builtins180701
|
||||
Node: Modifying Shell Behavior217625
|
||||
Node: The Set Builtin217967
|
||||
Node: The Shopt Builtin229961
|
||||
Node: Special Builtins247013
|
||||
Node: Shell Variables248002
|
||||
Node: Bourne Shell Variables248436
|
||||
Node: Bash Variables250944
|
||||
Node: Bash Features290068
|
||||
Node: Invoking Bash291082
|
||||
Node: Bash Startup Files297666
|
||||
Node: Interactive Shells302908
|
||||
Node: What is an Interactive Shell?303316
|
||||
Node: Is this Shell Interactive?303978
|
||||
Node: Interactive Shell Behavior304802
|
||||
Node: Bash Conditional Expressions308563
|
||||
Node: Shell Arithmetic313980
|
||||
Node: Aliases317309
|
||||
Node: Arrays320443
|
||||
Node: The Directory Stack328031
|
||||
Node: Directory Stack Builtins328828
|
||||
Node: Controlling the Prompt333273
|
||||
Node: The Restricted Shell336158
|
||||
Node: Bash POSIX Mode339040
|
||||
Node: Shell Compatibility Mode357986
|
||||
Node: Job Control366993
|
||||
Node: Job Control Basics367450
|
||||
Node: Job Control Builtins373818
|
||||
Node: Job Control Variables380500
|
||||
Node: Command Line Editing381731
|
||||
Node: Introduction and Notation383434
|
||||
Node: Readline Interaction385786
|
||||
Node: Readline Bare Essentials386974
|
||||
Node: Readline Movement Commands388782
|
||||
Node: Readline Killing Commands389778
|
||||
Node: Readline Arguments391801
|
||||
Node: Searching392858
|
||||
Node: Readline Init File395101
|
||||
Node: Readline Init File Syntax396404
|
||||
Node: Conditional Init Constructs423229
|
||||
Node: Sample Init File427614
|
||||
Node: Bindable Readline Commands430734
|
||||
Node: Commands For Moving432272
|
||||
Node: Commands For History434736
|
||||
Node: Commands For Text440126
|
||||
Node: Commands For Killing444251
|
||||
Node: Numeric Arguments447039
|
||||
Node: Commands For Completion448191
|
||||
Node: Keyboard Macros453887
|
||||
Node: Miscellaneous Commands454588
|
||||
Node: Readline vi Mode461155
|
||||
Node: Programmable Completion462132
|
||||
Node: Programmable Completion Builtins470869
|
||||
Node: A Programmable Completion Example482606
|
||||
Node: Using History Interactively487951
|
||||
Node: Bash History Facilities488632
|
||||
Node: Bash History Builtins492367
|
||||
Node: History Interaction498838
|
||||
Node: Event Designators503788
|
||||
Node: Word Designators505366
|
||||
Node: Modifiers507758
|
||||
Node: Installing Bash509695
|
||||
Node: Basic Installation510811
|
||||
Node: Compilers and Options514687
|
||||
Node: Compiling For Multiple Architectures515437
|
||||
Node: Installation Names517190
|
||||
Node: Specifying the System Type519424
|
||||
Node: Sharing Defaults520170
|
||||
Node: Operation Controls520884
|
||||
Node: Optional Features521903
|
||||
Node: Reporting Bugs534283
|
||||
Node: Major Differences From The Bourne Shell535640
|
||||
Node: GNU Free Documentation License557066
|
||||
Node: Indexes582243
|
||||
Node: Builtin Index582694
|
||||
Node: Reserved Word Index589792
|
||||
Node: Variable Index592237
|
||||
Node: Function Index609650
|
||||
Node: Concept Index623645
|
||||
Node: Top895
|
||||
Node: Introduction2830
|
||||
Node: What is Bash?3043
|
||||
Node: What is a shell?4176
|
||||
Node: Definitions6786
|
||||
Node: Basic Shell Features10113
|
||||
Node: Shell Syntax11337
|
||||
Node: Shell Operation12364
|
||||
Node: Quoting13655
|
||||
Node: Escape Character14993
|
||||
Node: Single Quotes15528
|
||||
Node: Double Quotes15877
|
||||
Node: ANSI-C Quoting17222
|
||||
Node: Locale Translation18616
|
||||
Node: Creating Internationalized Scripts20019
|
||||
Node: Comments24217
|
||||
Node: Shell Commands24984
|
||||
Node: Reserved Words25923
|
||||
Node: Simple Commands26788
|
||||
Node: Pipelines27450
|
||||
Node: Lists30706
|
||||
Node: Compound Commands32578
|
||||
Node: Looping Constructs33587
|
||||
Node: Conditional Constructs36136
|
||||
Node: Command Grouping51206
|
||||
Node: Coprocesses52698
|
||||
Node: GNU Parallel55384
|
||||
Node: Shell Functions56302
|
||||
Node: Shell Parameters64750
|
||||
Node: Positional Parameters69651
|
||||
Node: Special Parameters70741
|
||||
Node: Shell Expansions74202
|
||||
Node: Brace Expansion76391
|
||||
Node: Tilde Expansion79727
|
||||
Node: Shell Parameter Expansion82682
|
||||
Node: Command Substitution103325
|
||||
Node: Arithmetic Expansion106854
|
||||
Node: Process Substitution108030
|
||||
Node: Word Splitting109138
|
||||
Node: Filename Expansion111582
|
||||
Node: Pattern Matching114806
|
||||
Node: Quote Removal120529
|
||||
Node: Redirections120833
|
||||
Node: Executing Commands131096
|
||||
Node: Simple Command Expansion131763
|
||||
Node: Command Search and Execution133871
|
||||
Node: Command Execution Environment136315
|
||||
Node: Environment139763
|
||||
Node: Exit Status141666
|
||||
Node: Signals143725
|
||||
Node: Shell Scripts148655
|
||||
Node: Shell Builtin Commands151953
|
||||
Node: Bourne Shell Builtins154064
|
||||
Node: Bash Builtins180783
|
||||
Node: Modifying Shell Behavior217707
|
||||
Node: The Set Builtin218049
|
||||
Node: The Shopt Builtin230043
|
||||
Node: Special Builtins247096
|
||||
Node: Shell Variables248085
|
||||
Node: Bourne Shell Variables248519
|
||||
Node: Bash Variables251027
|
||||
Node: Bash Features290152
|
||||
Node: Invoking Bash291166
|
||||
Node: Bash Startup Files297750
|
||||
Node: Interactive Shells302992
|
||||
Node: What is an Interactive Shell?303400
|
||||
Node: Is this Shell Interactive?304062
|
||||
Node: Interactive Shell Behavior304886
|
||||
Node: Bash Conditional Expressions308647
|
||||
Node: Shell Arithmetic314064
|
||||
Node: Aliases317391
|
||||
Node: Arrays320525
|
||||
Node: The Directory Stack328113
|
||||
Node: Directory Stack Builtins328910
|
||||
Node: Controlling the Prompt333355
|
||||
Node: The Restricted Shell336240
|
||||
Node: Bash POSIX Mode339122
|
||||
Node: Shell Compatibility Mode358069
|
||||
Node: Job Control367076
|
||||
Node: Job Control Basics367533
|
||||
Node: Job Control Builtins373901
|
||||
Node: Job Control Variables380583
|
||||
Node: Command Line Editing381814
|
||||
Node: Introduction and Notation383517
|
||||
Node: Readline Interaction385869
|
||||
Node: Readline Bare Essentials387057
|
||||
Node: Readline Movement Commands388865
|
||||
Node: Readline Killing Commands389861
|
||||
Node: Readline Arguments391884
|
||||
Node: Searching392941
|
||||
Node: Readline Init File395184
|
||||
Node: Readline Init File Syntax396487
|
||||
Node: Conditional Init Constructs423438
|
||||
Node: Sample Init File427823
|
||||
Node: Bindable Readline Commands430943
|
||||
Node: Commands For Moving432481
|
||||
Node: Commands For History434945
|
||||
Node: Commands For Text440335
|
||||
Node: Commands For Killing444460
|
||||
Node: Numeric Arguments447248
|
||||
Node: Commands For Completion448400
|
||||
Node: Keyboard Macros454096
|
||||
Node: Miscellaneous Commands454797
|
||||
Node: Readline vi Mode461364
|
||||
Node: Programmable Completion462341
|
||||
Node: Programmable Completion Builtins471078
|
||||
Node: A Programmable Completion Example482815
|
||||
Node: Using History Interactively488160
|
||||
Node: Bash History Facilities488841
|
||||
Node: Bash History Builtins492576
|
||||
Node: History Interaction499047
|
||||
Node: Event Designators503997
|
||||
Node: Word Designators505575
|
||||
Node: Modifiers507967
|
||||
Node: Installing Bash509904
|
||||
Node: Basic Installation511020
|
||||
Node: Compilers and Options514896
|
||||
Node: Compiling For Multiple Architectures515646
|
||||
Node: Installation Names517399
|
||||
Node: Specifying the System Type519633
|
||||
Node: Sharing Defaults520379
|
||||
Node: Operation Controls521093
|
||||
Node: Optional Features522112
|
||||
Node: Reporting Bugs534835
|
||||
Node: Major Differences From The Bourne Shell536192
|
||||
Node: GNU Free Documentation License557619
|
||||
Node: Indexes582796
|
||||
Node: Builtin Index583247
|
||||
Node: Reserved Word Index590345
|
||||
Node: Variable Index592790
|
||||
Node: Function Index610203
|
||||
Node: Concept Index624198
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
||||
+222
-214
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 7.2 from
|
||||
bashref.texi.
|
||||
|
||||
This text is a brief description of the features that are present in the
|
||||
Bash shell (version 5.3, 18 May 2025).
|
||||
Bash shell (version 5.3, 7 August 2025).
|
||||
|
||||
This is Edition 5.3, last updated 18 May 2025, of ‘The GNU Bash
|
||||
This is Edition 5.3, last updated 7 August 2025, of ‘The GNU Bash
|
||||
Reference Manual’, for ‘Bash’, Version 5.3.
|
||||
|
||||
Copyright © 1988-2025 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.3, 18 May 2025). The Bash home page is
|
||||
Bash shell (version 5.3, 7 August 2025). The Bash home page is
|
||||
<http://www.gnu.org/software/bash/>.
|
||||
|
||||
This is Edition 5.3, last updated 18 May 2025, of ‘The GNU Bash
|
||||
This is Edition 5.3, last updated 7 August 2025, of ‘The GNU Bash
|
||||
Reference Manual’, for ‘Bash’, Version 5.3.
|
||||
|
||||
Bash contains features that appear in other popular shells, and some
|
||||
@@ -3238,7 +3238,7 @@ parameter $? (*note Special Parameters::).
|
||||
Bash itself returns the exit status of the last command executed,
|
||||
unless a syntax error occurs, in which case it exits with a non-zero
|
||||
value. See also the ‘exit’ builtin command (*note Bourne Shell
|
||||
Builtins::.
|
||||
Builtins::).
|
||||
|
||||
|
||||
File: bashref.info, Node: Signals, Prev: Exit Status, Up: Executing Commands
|
||||
@@ -3255,7 +3255,7 @@ is in effect (*note Job Control::), Bash ignores ‘SIGTTIN’, ‘SIGTTOU’,
|
||||
and ‘SIGTSTP’.
|
||||
|
||||
The ‘trap’ builtin modifies the shell's signal handling, as described
|
||||
below (*note Bourne Shell Builtins::.
|
||||
below (*note Bourne Shell Builtins::).
|
||||
|
||||
Non-builtin commands Bash executes have signal handlers set to the
|
||||
values inherited by the shell from its parent, unless ‘trap’ sets them
|
||||
@@ -3499,8 +3499,9 @@ standard.
|
||||
|
||||
Change the current working directory to DIRECTORY. If DIRECTORY is
|
||||
not supplied, the value of the ‘HOME’ shell variable is used as
|
||||
DIRECTORY. If the shell variable ‘CDPATH’ exists, and DIRECTORY
|
||||
does not begin with a slash, ‘cd’ uses it as a search path: ‘cd’
|
||||
DIRECTORY. If DIRECTORY is the empty string, ‘cd’ treats it as an
|
||||
error. If the shell variable ‘CDPATH’ exists, and DIRECTORY does
|
||||
not begin with a slash, ‘cd’ uses it as a search path: ‘cd’
|
||||
searches each directory name in ‘CDPATH’ for DIRECTORY, with
|
||||
alternative directory names in ‘CDPATH’ separated by a colon (‘:’).
|
||||
A null directory name in ‘CDPATH’ means the same thing as the
|
||||
@@ -5462,7 +5463,7 @@ This builtin allows you to change additional optional shell behavior.
|
||||
‘nocasematch’
|
||||
If set, Bash matches patterns in a case-insensitive fashion
|
||||
when performing matching while executing ‘case’ or ‘[[’
|
||||
conditional commands (*note Conditional Constructs::, when
|
||||
conditional commands (*note Conditional Constructs::), when
|
||||
performing pattern substitution word expansions, or when
|
||||
filtering possible completions as part of programmable
|
||||
completion.
|
||||
@@ -6332,7 +6333,7 @@ Variables::).
|
||||
|
||||
‘READLINE_ARGUMENT’
|
||||
Any numeric argument given to a Readline command that was defined
|
||||
using ‘bind -x’ (*note Bash Builtins:: when it was invoked.
|
||||
using ‘bind -x’ (*note Bash Builtins::) when it was invoked.
|
||||
|
||||
‘READLINE_LINE’
|
||||
The contents of the Readline line buffer, for use with ‘bind -x’
|
||||
@@ -7129,7 +7130,7 @@ an expression.
|
||||
it is referenced, or when a variable which has been given the ‘integer’
|
||||
attribute using ‘declare -i’ is assigned a value. A null value
|
||||
evaluates to 0. A shell variable need not have its ‘integer’ attribute
|
||||
turned on to be used in an expression.
|
||||
enabled to be used in an expression.
|
||||
|
||||
Integer constants follow the C language definition, without suffixes
|
||||
or character constants. Constants with a leading 0 are interpreted as
|
||||
@@ -7689,7 +7690,7 @@ startup files.
|
||||
1. Bash ensures that the ‘POSIXLY_CORRECT’ variable is set.
|
||||
|
||||
2. Bash reads and executes the POSIX startup files (‘$ENV’) rather
|
||||
than the normal Bash files (*note Bash Startup Files::.
|
||||
than the normal Bash files (*note Bash Startup Files::).
|
||||
|
||||
3. Alias expansion is always enabled, even in non-interactive shells.
|
||||
|
||||
@@ -8881,6 +8882,8 @@ Variable Settings
|
||||
the default Readline bindings described here. Type ‘stty -a’
|
||||
at a Bash prompt to see your current terminal settings,
|
||||
including the special control characters (usually ‘cchars’).
|
||||
This binding takes place on each call to ‘readline()’, so
|
||||
changes made by ‘stty’ can take effect.
|
||||
|
||||
‘blink-matching-paren’
|
||||
If set to ‘on’, Readline attempts to briefly move the cursor
|
||||
@@ -11606,10 +11609,15 @@ the Bash ‘configure’ recognizes.
|
||||
systems for which this should be turned off, and ‘configure’
|
||||
disables this option automatically for a number of systems.
|
||||
|
||||
‘--with-curses’
|
||||
Use the curses library instead of the termcap library. ‘configure’
|
||||
usually chooses this automatically, since most systems include the
|
||||
termcap functions in the curses library.
|
||||
‘--with-curses[=LIBNAME]’
|
||||
Use the curses library instead of the termcap library as the
|
||||
library where the linker can find the termcap functions.
|
||||
‘configure’ usually chooses this automatically, since most systems
|
||||
include the termcap functions in the curses library. If LIBNAME is
|
||||
supplied, ‘configure’ does not search for an appropriate library
|
||||
and uses LIBNAME instead. LIBNAME should be either an argument for
|
||||
the linker (e.g., ‘-lLIBNAME’) or a filename (e.g.,
|
||||
‘/opt/local/lib/libncursesw.so’).
|
||||
|
||||
‘--with-gnu-malloc’
|
||||
A synonym for ‘--with-bash-malloc’.
|
||||
@@ -12169,11 +12177,11 @@ historical Bourne shell) as the baseline reference.
|
||||
using ‘export -f’ (*note Shell Functions::).
|
||||
|
||||
• The Bash ‘export’ and ‘readonly’ builtins (*note Bourne Shell
|
||||
Builtins:: can take a ‘-f’ option to act on shell functions, a ‘-p’
|
||||
option to display variables with various attributes set in a format
|
||||
that can be used as shell input, a ‘-n’ option to remove various
|
||||
variable attributes, and ‘name=value’ arguments to set variable
|
||||
attributes and values simultaneously.
|
||||
Builtins::) can take a ‘-f’ option to act on shell functions, a
|
||||
‘-p’ option to display variables with various attributes set in a
|
||||
format that can be used as shell input, a ‘-n’ option to remove
|
||||
various variable attributes, and ‘name=value’ arguments to set
|
||||
variable attributes and values simultaneously.
|
||||
|
||||
• The Bash ‘hash’ builtin allows a name to be associated with an
|
||||
arbitrary filename, even when that filename cannot be found by
|
||||
@@ -12839,7 +12847,7 @@ D.1 Index of Shell Builtin Commands
|
||||
* .: Bourne Shell Builtins.
|
||||
(line 17)
|
||||
* [: Bourne Shell Builtins.
|
||||
(line 339)
|
||||
(line 340)
|
||||
* alias: Bash Builtins. (line 11)
|
||||
* bg: Job Control Builtins.
|
||||
(line 7)
|
||||
@@ -12858,7 +12866,7 @@ D.1 Index of Shell Builtin Commands
|
||||
* compopt: Programmable Completion Builtins.
|
||||
(line 258)
|
||||
* continue: Bourne Shell Builtins.
|
||||
(line 106)
|
||||
(line 107)
|
||||
* declare: Bash Builtins. (line 179)
|
||||
* dirs: Directory Stack Builtins.
|
||||
(line 7)
|
||||
@@ -12867,23 +12875,23 @@ D.1 Index of Shell Builtin Commands
|
||||
* echo: Bash Builtins. (line 284)
|
||||
* enable: Bash Builtins. (line 337)
|
||||
* eval: Bourne Shell Builtins.
|
||||
(line 115)
|
||||
(line 116)
|
||||
* exec: Bourne Shell Builtins.
|
||||
(line 123)
|
||||
(line 124)
|
||||
* exit: Bourne Shell Builtins.
|
||||
(line 145)
|
||||
(line 146)
|
||||
* export: Bourne Shell Builtins.
|
||||
(line 152)
|
||||
(line 153)
|
||||
* false: Bourne Shell Builtins.
|
||||
(line 175)
|
||||
(line 176)
|
||||
* fc: Bash History Builtins.
|
||||
(line 10)
|
||||
* fg: Job Control Builtins.
|
||||
(line 17)
|
||||
* getopts: Bourne Shell Builtins.
|
||||
(line 180)
|
||||
(line 181)
|
||||
* hash: Bourne Shell Builtins.
|
||||
(line 232)
|
||||
(line 233)
|
||||
* help: Bash Builtins. (line 375)
|
||||
* history: Bash History Builtins.
|
||||
(line 59)
|
||||
@@ -12901,36 +12909,36 @@ D.1 Index of Shell Builtin Commands
|
||||
* pushd: Directory Stack Builtins.
|
||||
(line 71)
|
||||
* pwd: Bourne Shell Builtins.
|
||||
(line 264)
|
||||
(line 265)
|
||||
* read: Bash Builtins. (line 558)
|
||||
* readarray: Bash Builtins. (line 669)
|
||||
* readonly: Bourne Shell Builtins.
|
||||
(line 276)
|
||||
(line 277)
|
||||
* return: Bourne Shell Builtins.
|
||||
(line 301)
|
||||
(line 302)
|
||||
* set: The Set Builtin. (line 11)
|
||||
* shift: Bourne Shell Builtins.
|
||||
(line 326)
|
||||
(line 327)
|
||||
* shopt: The Shopt Builtin. (line 9)
|
||||
* source: Bash Builtins. (line 678)
|
||||
* suspend: Job Control Builtins.
|
||||
(line 139)
|
||||
* test: Bourne Shell Builtins.
|
||||
(line 339)
|
||||
(line 340)
|
||||
* times: Bourne Shell Builtins.
|
||||
(line 439)
|
||||
(line 440)
|
||||
* trap: Bourne Shell Builtins.
|
||||
(line 445)
|
||||
(line 446)
|
||||
* true: Bourne Shell Builtins.
|
||||
(line 511)
|
||||
(line 512)
|
||||
* type: Bash Builtins. (line 683)
|
||||
* typeset: Bash Builtins. (line 720)
|
||||
* ulimit: Bash Builtins. (line 726)
|
||||
* umask: Bourne Shell Builtins.
|
||||
(line 516)
|
||||
(line 517)
|
||||
* unalias: Bash Builtins. (line 834)
|
||||
* unset: Bourne Shell Builtins.
|
||||
(line 534)
|
||||
(line 535)
|
||||
* wait: Job Control Builtins.
|
||||
(line 86)
|
||||
|
||||
@@ -13036,17 +13044,17 @@ D.3 Parameter and Variable Index
|
||||
* bind-tty-special-chars: Readline Init File Syntax.
|
||||
(line 71)
|
||||
* blink-matching-paren: Readline Init File Syntax.
|
||||
(line 79)
|
||||
(line 81)
|
||||
* CDPATH: Bourne Shell Variables.
|
||||
(line 9)
|
||||
* CHILD_MAX: Bash Variables. (line 217)
|
||||
* colored-completion-prefix: Readline Init File Syntax.
|
||||
(line 84)
|
||||
(line 86)
|
||||
* colored-stats: Readline Init File Syntax.
|
||||
(line 94)
|
||||
(line 96)
|
||||
* COLUMNS: Bash Variables. (line 224)
|
||||
* comment-begin: Readline Init File Syntax.
|
||||
(line 100)
|
||||
(line 102)
|
||||
* COMP_CWORD: Bash Variables. (line 230)
|
||||
* COMP_KEY: Bash Variables. (line 236)
|
||||
* COMP_LINE: Bash Variables. (line 242)
|
||||
@@ -13055,48 +13063,48 @@ D.3 Parameter and Variable Index
|
||||
* COMP_WORDBREAKS: Bash Variables. (line 265)
|
||||
* COMP_WORDS: Bash Variables. (line 271)
|
||||
* completion-display-width: Readline Init File Syntax.
|
||||
(line 104)
|
||||
(line 106)
|
||||
* completion-ignore-case: Readline Init File Syntax.
|
||||
(line 111)
|
||||
(line 113)
|
||||
* completion-map-case: Readline Init File Syntax.
|
||||
(line 116)
|
||||
(line 118)
|
||||
* completion-prefix-display-length: Readline Init File Syntax.
|
||||
(line 122)
|
||||
(line 124)
|
||||
* completion-query-items: Readline Init File Syntax.
|
||||
(line 131)
|
||||
(line 133)
|
||||
* COMPREPLY: Bash Variables. (line 278)
|
||||
* convert-meta: Readline Init File Syntax.
|
||||
(line 142)
|
||||
(line 144)
|
||||
* COPROC: Bash Variables. (line 284)
|
||||
* DIRSTACK: Bash Variables. (line 288)
|
||||
* disable-completion: Readline Init File Syntax.
|
||||
(line 154)
|
||||
(line 156)
|
||||
* echo-control-characters: Readline Init File Syntax.
|
||||
(line 159)
|
||||
(line 161)
|
||||
* editing-mode: Readline Init File Syntax.
|
||||
(line 164)
|
||||
(line 166)
|
||||
* EMACS: Bash Variables. (line 298)
|
||||
* emacs-mode-string: Readline Init File Syntax.
|
||||
(line 170)
|
||||
(line 172)
|
||||
* enable-active-region The: Readline Init File Syntax.
|
||||
(line 180)
|
||||
(line 182)
|
||||
* enable-bracketed-paste: Readline Init File Syntax.
|
||||
(line 193)
|
||||
(line 195)
|
||||
* enable-keypad: Readline Init File Syntax.
|
||||
(line 202)
|
||||
(line 204)
|
||||
* enable-meta-key: Readline Init File Syntax.
|
||||
(line 207)
|
||||
(line 209)
|
||||
* ENV: Bash Variables. (line 303)
|
||||
* EPOCHREALTIME: Bash Variables. (line 308)
|
||||
* EPOCHSECONDS: Bash Variables. (line 316)
|
||||
* EUID: Bash Variables. (line 323)
|
||||
* EXECIGNORE: Bash Variables. (line 327)
|
||||
* expand-tilde: Readline Init File Syntax.
|
||||
(line 217)
|
||||
(line 219)
|
||||
* FCEDIT: Bash Variables. (line 339)
|
||||
* FIGNORE: Bash Variables. (line 342)
|
||||
* force-meta-prefix: Readline Init File Syntax.
|
||||
(line 221)
|
||||
(line 223)
|
||||
* FUNCNAME: Bash Variables. (line 348)
|
||||
* FUNCNEST: Bash Variables. (line 365)
|
||||
* GLOBIGNORE: Bash Variables. (line 370)
|
||||
@@ -13109,15 +13117,15 @@ D.3 Parameter and Variable Index
|
||||
* HISTFILESIZE: Bash Variables. (line 467)
|
||||
* HISTIGNORE: Bash Variables. (line 481)
|
||||
* history-preserve-point: Readline Init File Syntax.
|
||||
(line 234)
|
||||
(line 236)
|
||||
* history-size: Readline Init File Syntax.
|
||||
(line 240)
|
||||
(line 242)
|
||||
* HISTSIZE: Bash Variables. (line 505)
|
||||
* HISTTIMEFORMAT: Bash Variables. (line 512)
|
||||
* HOME: Bourne Shell Variables.
|
||||
(line 13)
|
||||
* horizontal-scroll-mode: Readline Init File Syntax.
|
||||
(line 250)
|
||||
(line 252)
|
||||
* HOSTFILE: Bash Variables. (line 521)
|
||||
* HOSTNAME: Bash Variables. (line 532)
|
||||
* HOSTTYPE: Bash Variables. (line 535)
|
||||
@@ -13125,13 +13133,13 @@ D.3 Parameter and Variable Index
|
||||
(line 18)
|
||||
* IGNOREEOF: Bash Variables. (line 538)
|
||||
* input-meta: Readline Init File Syntax.
|
||||
(line 258)
|
||||
(line 260)
|
||||
* INPUTRC: Bash Variables. (line 547)
|
||||
* INSIDE_EMACS: Bash Variables. (line 551)
|
||||
* isearch-terminators: Readline Init File Syntax.
|
||||
(line 269)
|
||||
(line 271)
|
||||
* keymap: Readline Init File Syntax.
|
||||
(line 276)
|
||||
(line 278)
|
||||
* LANG: Creating Internationalized Scripts.
|
||||
(line 51)
|
||||
* LANG <1>: Bash Variables. (line 557)
|
||||
@@ -13153,15 +13161,15 @@ D.3 Parameter and Variable Index
|
||||
(line 29)
|
||||
* MAPFILE: Bash Variables. (line 614)
|
||||
* mark-modified-lines: Readline Init File Syntax.
|
||||
(line 306)
|
||||
(line 308)
|
||||
* mark-symlinked-directories: Readline Init File Syntax.
|
||||
(line 311)
|
||||
(line 313)
|
||||
* match-hidden-files: Readline Init File Syntax.
|
||||
(line 316)
|
||||
(line 318)
|
||||
* menu-complete-display-prefix: Readline Init File Syntax.
|
||||
(line 323)
|
||||
(line 325)
|
||||
* meta-flag: Readline Init File Syntax.
|
||||
(line 258)
|
||||
(line 260)
|
||||
* OLDPWD: Bash Variables. (line 618)
|
||||
* OPTARG: Bourne Shell Variables.
|
||||
(line 36)
|
||||
@@ -13170,9 +13178,9 @@ D.3 Parameter and Variable Index
|
||||
(line 40)
|
||||
* OSTYPE: Bash Variables. (line 626)
|
||||
* output-meta: Readline Init File Syntax.
|
||||
(line 328)
|
||||
(line 330)
|
||||
* page-completions: Readline Init File Syntax.
|
||||
(line 337)
|
||||
(line 339)
|
||||
* PATH: Bourne Shell Variables.
|
||||
(line 44)
|
||||
* PIPESTATUS: Bash Variables. (line 629)
|
||||
@@ -13195,21 +13203,21 @@ D.3 Parameter and Variable Index
|
||||
* READLINE_POINT: Bash Variables. (line 708)
|
||||
* REPLY: Bash Variables. (line 712)
|
||||
* revert-all-at-newline: Readline Init File Syntax.
|
||||
(line 350)
|
||||
(line 352)
|
||||
* search-ignore-case: Readline Init File Syntax.
|
||||
(line 357)
|
||||
(line 359)
|
||||
* SECONDS: Bash Variables. (line 716)
|
||||
* SHELL: Bash Variables. (line 726)
|
||||
* SHELLOPTS: Bash Variables. (line 731)
|
||||
* SHLVL: Bash Variables. (line 741)
|
||||
* show-all-if-ambiguous: Readline Init File Syntax.
|
||||
(line 362)
|
||||
(line 364)
|
||||
* show-all-if-unmodified: Readline Init File Syntax.
|
||||
(line 368)
|
||||
(line 370)
|
||||
* show-mode-in-prompt: Readline Init File Syntax.
|
||||
(line 377)
|
||||
(line 379)
|
||||
* skip-completed-text: Readline Init File Syntax.
|
||||
(line 383)
|
||||
(line 385)
|
||||
* SRANDOM: Bash Variables. (line 746)
|
||||
* TEXTDOMAIN: Creating Internationalized Scripts.
|
||||
(line 51)
|
||||
@@ -13220,11 +13228,11 @@ D.3 Parameter and Variable Index
|
||||
* TMPDIR: Bash Variables. (line 806)
|
||||
* UID: Bash Variables. (line 810)
|
||||
* vi-cmd-mode-string: Readline Init File Syntax.
|
||||
(line 396)
|
||||
(line 398)
|
||||
* vi-ins-mode-string: Readline Init File Syntax.
|
||||
(line 407)
|
||||
(line 409)
|
||||
* visible-stats: Readline Init File Syntax.
|
||||
(line 418)
|
||||
(line 420)
|
||||
|
||||
|
||||
File: bashref.info, Node: Function Index, Next: Concept Index, Prev: Variable Index, Up: Indexes
|
||||
@@ -13612,138 +13620,138 @@ D.5 Concept Index
|
||||
|
||||
|
||||
Tag Table:
|
||||
Node: Top894
|
||||
Node: Introduction2828
|
||||
Node: What is Bash?3044
|
||||
Node: What is a shell?4180
|
||||
Node: Definitions6793
|
||||
Node: Basic Shell Features10123
|
||||
Node: Shell Syntax11350
|
||||
Node: Shell Operation12380
|
||||
Node: Quoting13674
|
||||
Node: Escape Character15015
|
||||
Node: Single Quotes15553
|
||||
Node: Double Quotes15905
|
||||
Node: ANSI-C Quoting17253
|
||||
Node: Locale Translation18650
|
||||
Node: Creating Internationalized Scripts20056
|
||||
Node: Comments24257
|
||||
Node: Shell Commands25027
|
||||
Node: Reserved Words25969
|
||||
Node: Simple Commands26837
|
||||
Node: Pipelines27502
|
||||
Node: Lists30761
|
||||
Node: Compound Commands32636
|
||||
Node: Looping Constructs33648
|
||||
Node: Conditional Constructs36200
|
||||
Node: Command Grouping51273
|
||||
Node: Coprocesses52768
|
||||
Node: GNU Parallel55457
|
||||
Node: Shell Functions56378
|
||||
Node: Shell Parameters64829
|
||||
Node: Positional Parameters69733
|
||||
Node: Special Parameters70826
|
||||
Node: Shell Expansions74290
|
||||
Node: Brace Expansion76482
|
||||
Node: Tilde Expansion79821
|
||||
Node: Shell Parameter Expansion82779
|
||||
Node: Command Substitution103425
|
||||
Node: Arithmetic Expansion106957
|
||||
Node: Process Substitution108136
|
||||
Node: Word Splitting109247
|
||||
Node: Filename Expansion111694
|
||||
Node: Pattern Matching114921
|
||||
Node: Quote Removal120647
|
||||
Node: Redirections120954
|
||||
Node: Executing Commands131220
|
||||
Node: Simple Command Expansion131890
|
||||
Node: Command Search and Execution134001
|
||||
Node: Command Execution Environment136448
|
||||
Node: Environment139899
|
||||
Node: Exit Status141805
|
||||
Node: Signals143866
|
||||
Node: Shell Scripts148798
|
||||
Node: Shell Builtin Commands152099
|
||||
Node: Bourne Shell Builtins154213
|
||||
Node: Bash Builtins180863
|
||||
Node: Modifying Shell Behavior217790
|
||||
Node: The Set Builtin218135
|
||||
Node: The Shopt Builtin230132
|
||||
Node: Special Builtins247187
|
||||
Node: Shell Variables248179
|
||||
Node: Bourne Shell Variables248616
|
||||
Node: Bash Variables251127
|
||||
Node: Bash Features290254
|
||||
Node: Invoking Bash291271
|
||||
Node: Bash Startup Files297858
|
||||
Node: Interactive Shells303103
|
||||
Node: What is an Interactive Shell?303514
|
||||
Node: Is this Shell Interactive?304179
|
||||
Node: Interactive Shell Behavior305006
|
||||
Node: Bash Conditional Expressions308770
|
||||
Node: Shell Arithmetic314190
|
||||
Node: Aliases317522
|
||||
Node: Arrays320659
|
||||
Node: The Directory Stack328250
|
||||
Node: Directory Stack Builtins329050
|
||||
Node: Controlling the Prompt333498
|
||||
Node: The Restricted Shell336386
|
||||
Node: Bash POSIX Mode339271
|
||||
Node: Shell Compatibility Mode358220
|
||||
Node: Job Control367230
|
||||
Node: Job Control Basics367690
|
||||
Node: Job Control Builtins374061
|
||||
Node: Job Control Variables380746
|
||||
Node: Command Line Editing381980
|
||||
Node: Introduction and Notation383686
|
||||
Node: Readline Interaction386041
|
||||
Node: Readline Bare Essentials387232
|
||||
Node: Readline Movement Commands389043
|
||||
Node: Readline Killing Commands390042
|
||||
Node: Readline Arguments392068
|
||||
Node: Searching393128
|
||||
Node: Readline Init File395374
|
||||
Node: Readline Init File Syntax396680
|
||||
Node: Conditional Init Constructs423508
|
||||
Node: Sample Init File427896
|
||||
Node: Bindable Readline Commands431019
|
||||
Node: Commands For Moving432560
|
||||
Node: Commands For History435027
|
||||
Node: Commands For Text440420
|
||||
Node: Commands For Killing444548
|
||||
Node: Numeric Arguments447339
|
||||
Node: Commands For Completion448494
|
||||
Node: Keyboard Macros454193
|
||||
Node: Miscellaneous Commands454897
|
||||
Node: Readline vi Mode461467
|
||||
Node: Programmable Completion462447
|
||||
Node: Programmable Completion Builtins471187
|
||||
Node: A Programmable Completion Example482927
|
||||
Node: Using History Interactively488275
|
||||
Node: Bash History Facilities488959
|
||||
Node: Bash History Builtins492697
|
||||
Node: History Interaction499171
|
||||
Node: Event Designators504124
|
||||
Node: Word Designators505705
|
||||
Node: Modifiers508100
|
||||
Node: Installing Bash510040
|
||||
Node: Basic Installation511159
|
||||
Node: Compilers and Options515038
|
||||
Node: Compiling For Multiple Architectures515791
|
||||
Node: Installation Names517547
|
||||
Node: Specifying the System Type519784
|
||||
Node: Sharing Defaults520533
|
||||
Node: Operation Controls521250
|
||||
Node: Optional Features522272
|
||||
Node: Reporting Bugs534655
|
||||
Node: Major Differences From The Bourne Shell536015
|
||||
Node: GNU Free Documentation License557444
|
||||
Node: Indexes582624
|
||||
Node: Builtin Index583078
|
||||
Node: Reserved Word Index590179
|
||||
Node: Variable Index592627
|
||||
Node: Function Index610043
|
||||
Node: Concept Index624041
|
||||
Node: Top898
|
||||
Node: Introduction2836
|
||||
Node: What is Bash?3052
|
||||
Node: What is a shell?4188
|
||||
Node: Definitions6801
|
||||
Node: Basic Shell Features10131
|
||||
Node: Shell Syntax11358
|
||||
Node: Shell Operation12388
|
||||
Node: Quoting13682
|
||||
Node: Escape Character15023
|
||||
Node: Single Quotes15561
|
||||
Node: Double Quotes15913
|
||||
Node: ANSI-C Quoting17261
|
||||
Node: Locale Translation18658
|
||||
Node: Creating Internationalized Scripts20064
|
||||
Node: Comments24265
|
||||
Node: Shell Commands25035
|
||||
Node: Reserved Words25977
|
||||
Node: Simple Commands26845
|
||||
Node: Pipelines27510
|
||||
Node: Lists30769
|
||||
Node: Compound Commands32644
|
||||
Node: Looping Constructs33656
|
||||
Node: Conditional Constructs36208
|
||||
Node: Command Grouping51281
|
||||
Node: Coprocesses52776
|
||||
Node: GNU Parallel55465
|
||||
Node: Shell Functions56386
|
||||
Node: Shell Parameters64837
|
||||
Node: Positional Parameters69741
|
||||
Node: Special Parameters70834
|
||||
Node: Shell Expansions74298
|
||||
Node: Brace Expansion76490
|
||||
Node: Tilde Expansion79829
|
||||
Node: Shell Parameter Expansion82787
|
||||
Node: Command Substitution103433
|
||||
Node: Arithmetic Expansion106965
|
||||
Node: Process Substitution108144
|
||||
Node: Word Splitting109255
|
||||
Node: Filename Expansion111702
|
||||
Node: Pattern Matching114929
|
||||
Node: Quote Removal120655
|
||||
Node: Redirections120962
|
||||
Node: Executing Commands131228
|
||||
Node: Simple Command Expansion131898
|
||||
Node: Command Search and Execution134009
|
||||
Node: Command Execution Environment136456
|
||||
Node: Environment139907
|
||||
Node: Exit Status141813
|
||||
Node: Signals143875
|
||||
Node: Shell Scripts148808
|
||||
Node: Shell Builtin Commands152109
|
||||
Node: Bourne Shell Builtins154223
|
||||
Node: Bash Builtins180945
|
||||
Node: Modifying Shell Behavior217872
|
||||
Node: The Set Builtin218217
|
||||
Node: The Shopt Builtin230214
|
||||
Node: Special Builtins247270
|
||||
Node: Shell Variables248262
|
||||
Node: Bourne Shell Variables248699
|
||||
Node: Bash Variables251210
|
||||
Node: Bash Features290338
|
||||
Node: Invoking Bash291355
|
||||
Node: Bash Startup Files297942
|
||||
Node: Interactive Shells303187
|
||||
Node: What is an Interactive Shell?303598
|
||||
Node: Is this Shell Interactive?304263
|
||||
Node: Interactive Shell Behavior305090
|
||||
Node: Bash Conditional Expressions308854
|
||||
Node: Shell Arithmetic314274
|
||||
Node: Aliases317604
|
||||
Node: Arrays320741
|
||||
Node: The Directory Stack328332
|
||||
Node: Directory Stack Builtins329132
|
||||
Node: Controlling the Prompt333580
|
||||
Node: The Restricted Shell336468
|
||||
Node: Bash POSIX Mode339353
|
||||
Node: Shell Compatibility Mode358303
|
||||
Node: Job Control367313
|
||||
Node: Job Control Basics367773
|
||||
Node: Job Control Builtins374144
|
||||
Node: Job Control Variables380829
|
||||
Node: Command Line Editing382063
|
||||
Node: Introduction and Notation383769
|
||||
Node: Readline Interaction386124
|
||||
Node: Readline Bare Essentials387315
|
||||
Node: Readline Movement Commands389126
|
||||
Node: Readline Killing Commands390125
|
||||
Node: Readline Arguments392151
|
||||
Node: Searching393211
|
||||
Node: Readline Init File395457
|
||||
Node: Readline Init File Syntax396763
|
||||
Node: Conditional Init Constructs423717
|
||||
Node: Sample Init File428105
|
||||
Node: Bindable Readline Commands431228
|
||||
Node: Commands For Moving432769
|
||||
Node: Commands For History435236
|
||||
Node: Commands For Text440629
|
||||
Node: Commands For Killing444757
|
||||
Node: Numeric Arguments447548
|
||||
Node: Commands For Completion448703
|
||||
Node: Keyboard Macros454402
|
||||
Node: Miscellaneous Commands455106
|
||||
Node: Readline vi Mode461676
|
||||
Node: Programmable Completion462656
|
||||
Node: Programmable Completion Builtins471396
|
||||
Node: A Programmable Completion Example483136
|
||||
Node: Using History Interactively488484
|
||||
Node: Bash History Facilities489168
|
||||
Node: Bash History Builtins492906
|
||||
Node: History Interaction499380
|
||||
Node: Event Designators504333
|
||||
Node: Word Designators505914
|
||||
Node: Modifiers508309
|
||||
Node: Installing Bash510249
|
||||
Node: Basic Installation511368
|
||||
Node: Compilers and Options515247
|
||||
Node: Compiling For Multiple Architectures516000
|
||||
Node: Installation Names517756
|
||||
Node: Specifying the System Type519993
|
||||
Node: Sharing Defaults520742
|
||||
Node: Operation Controls521459
|
||||
Node: Optional Features522481
|
||||
Node: Reporting Bugs535207
|
||||
Node: Major Differences From The Bourne Shell536567
|
||||
Node: GNU Free Documentation License557997
|
||||
Node: Indexes583177
|
||||
Node: Builtin Index583631
|
||||
Node: Reserved Word Index590732
|
||||
Node: Variable Index593180
|
||||
Node: Function Index610596
|
||||
Node: Concept Index624594
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
||||
+15
-8
@@ -3934,7 +3934,7 @@ parameter $? (@pxref{Special Parameters}).
|
||||
Bash itself returns the exit status of the last command
|
||||
executed, unless a syntax error occurs, in which case it exits
|
||||
with a non-zero value.
|
||||
See also the @code{exit} builtin command (@pxref{Bourne Shell Builtins}.
|
||||
See also the @code{exit} builtin command (@pxref{Bourne Shell Builtins}).
|
||||
|
||||
@node Signals
|
||||
@subsection Signals
|
||||
@@ -3951,7 +3951,7 @@ If job control is in effect (@pxref{Job Control}), Bash
|
||||
ignores @code{SIGTTIN}, @code{SIGTTOU}, and @code{SIGTSTP}.
|
||||
|
||||
The @code{trap} builtin modifies the shell's signal handling, as
|
||||
described below (@pxref{Bourne Shell Builtins}.
|
||||
described below (@pxref{Bourne Shell Builtins}).
|
||||
|
||||
Non-builtin commands Bash executes have signal handlers set to the
|
||||
values inherited by the shell from its parent,
|
||||
@@ -6546,7 +6546,7 @@ performing filename expansion.
|
||||
@item nocasematch
|
||||
If set, Bash matches patterns in a case-insensitive fashion when
|
||||
performing matching while executing @code{case} or @code{[[}
|
||||
conditional commands (@pxref{Conditional Constructs},
|
||||
conditional commands (@pxref{Conditional Constructs}),
|
||||
when performing pattern substitution word expansions,
|
||||
or when filtering possible completions as part of programmable completion.
|
||||
|
||||
@@ -7574,7 +7574,7 @@ subsequently reset.
|
||||
@item READLINE_ARGUMENT
|
||||
Any numeric argument given to a Readline
|
||||
command that was defined using
|
||||
@samp{bind -x} (@pxref{Bash Builtins}
|
||||
@samp{bind -x} (@pxref{Bash Builtins})
|
||||
when it was invoked.
|
||||
|
||||
@item READLINE_LINE
|
||||
@@ -9195,7 +9195,7 @@ Bash ensures that the @env{POSIXLY_CORRECT} variable is set.
|
||||
@item
|
||||
Bash reads and executes the @sc{posix} startup files
|
||||
(@env{$ENV}) rather than
|
||||
the normal Bash files (@pxref{Bash Startup Files}.
|
||||
the normal Bash files (@pxref{Bash Startup Files}).
|
||||
|
||||
@item
|
||||
Alias expansion is always enabled, even in non-interactive shells.
|
||||
@@ -10623,10 +10623,17 @@ The @file{NOTES} file contains a list of systems for
|
||||
which this should be turned off, and @code{configure} disables this
|
||||
option automatically for a number of systems.
|
||||
|
||||
@item --with-curses
|
||||
Use the curses library instead of the termcap library.
|
||||
@item --with-curses[=@var{LIBNAME}]
|
||||
Use the curses library instead of the termcap library as the library
|
||||
where the linker can find the termcap functions.
|
||||
@code{configure} usually chooses this automatically, since most systems
|
||||
include the termcap functions in the curses library.
|
||||
If @var{LIBNAME} is supplied, @code{configure} does not search for an
|
||||
appropriate library and uses @var{LIBNAME} instead.
|
||||
@var{LIBNAME} should be either an argument for the linker
|
||||
(e.g., @option{-l@var{libname}})
|
||||
or a filename
|
||||
(e.g., @file{/opt/local/lib/libncursesw.so}).
|
||||
|
||||
@item --with-gnu-malloc
|
||||
A synonym for @code{--with-bash-malloc}.
|
||||
@@ -11306,7 +11313,7 @@ using @code{export -f} (@pxref{Shell Functions}).
|
||||
|
||||
@item
|
||||
The Bash @code{export} and @code{readonly} builtins
|
||||
(@pxref{Bourne Shell Builtins} can
|
||||
(@pxref{Bourne Shell Builtins}) can
|
||||
take a @option{-f} option to act on shell functions, a @option{-p} option to
|
||||
display variables with various attributes set in a format that can be
|
||||
used as shell input, a @option{-n} option to remove various variable
|
||||
|
||||
+3
-3
@@ -2,10 +2,10 @@
|
||||
Copyright (C) 1988-2025 Free Software Foundation, Inc.
|
||||
@end ignore
|
||||
|
||||
@set LASTCHANGE Wed Jul 30 14:47:36 EDT 2025
|
||||
@set LASTCHANGE Thu Aug 7 12:59:18 EDT 2025
|
||||
|
||||
@set EDITION 5.3
|
||||
@set VERSION 5.3
|
||||
|
||||
@set UPDATED 30 July 2025
|
||||
@set UPDATED-MONTH July 2025
|
||||
@set UPDATED 7 August 2025
|
||||
@set UPDATED-MONTH August 2025
|
||||
|
||||
@@ -178,12 +178,15 @@ STREQN(const char *a, const char *b, size_t n)
|
||||
CSIZE is the currently-allocated size of STR (int)
|
||||
SINCR is how much to increment CSIZE before calling xrealloc (int) */
|
||||
|
||||
/* old code used to use a loop:
|
||||
while ((cind) + (room) >= csize) \
|
||||
csize += (sincr); \
|
||||
*/
|
||||
#define RESIZE_MALLOCED_BUFFER(str, cind, room, csize, sincr) \
|
||||
do { \
|
||||
if ((cind) + (room) >= csize) \
|
||||
{ \
|
||||
while ((cind) + (room) >= csize) \
|
||||
csize += (sincr); \
|
||||
csize += ((cind) + (room) - csize + (sincr)) / (sincr) * (sincr); \
|
||||
str = xrealloc (str, csize); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
@@ -391,8 +391,6 @@ convert_to_backslash:
|
||||
}
|
||||
else if (pathname[i] == '\\' && (qflags & QGLOB_REGEXP))
|
||||
last_was_backslash = 1;
|
||||
#if 0
|
||||
/* TAG:bash-5.4 Takaaki Konno <re_c25@yahoo.co.jp> 6/23/2025 */
|
||||
else if (pathname[i] == CTLNUL && (qflags & QGLOB_CVTNULL)
|
||||
&& (qflags & QGLOB_CTLESC))
|
||||
/* If we have an unescaped CTLNUL in the string, and QFLAGS says
|
||||
@@ -401,7 +399,6 @@ convert_to_backslash:
|
||||
happen when the pattern contains a quoted null string adjacent
|
||||
to non-null characters, and it is not removed by quote removal. */
|
||||
continue;
|
||||
#endif
|
||||
|
||||
temp[j++] = pathname[i];
|
||||
}
|
||||
|
||||
@@ -4008,6 +4008,11 @@ expand_arith_string (char *string, int quoted)
|
||||
#endif
|
||||
td.word = savestring (string);
|
||||
list = call_expand_word_internal (&td, quoted, 0, (int *)NULL, (int *)NULL);
|
||||
/* If call_expand_word_internal returns one of these errors, we know
|
||||
that no_longjmp_on_fatal_error is set and td.word was freed */
|
||||
if (list == &expand_word_error || list == &expand_word_fatal)
|
||||
return ((char *)NULL); /* XXX for now */
|
||||
|
||||
/* This takes care of the calls from expand_string_leave_quoted and
|
||||
expand_string */
|
||||
if (list)
|
||||
@@ -4086,6 +4091,10 @@ cond_expand_word (WORD_DESC *w, int special)
|
||||
qflags = (special == 3) ? Q_ARITH : 0;
|
||||
l = call_expand_word_internal (w, qflags, 0, (int *)0, (int *)0);
|
||||
expand_no_split_dollar_star = 0;
|
||||
|
||||
if (l == &expand_word_error || l == &expand_word_fatal)
|
||||
return ((char *)NULL); /* XXX for now */
|
||||
|
||||
if (l)
|
||||
{
|
||||
if (special == 0) /* LHS */
|
||||
@@ -4291,9 +4300,9 @@ call_expand_word_internal (WORD_DESC *w, int q, int i, int *c, int *e)
|
||||
to exit in most cases). */
|
||||
w->word = (char *)NULL;
|
||||
last_command_exit_value = EXECUTION_FAILURE;
|
||||
exp_jump_to_top_level ((result == &expand_word_error) ? DISCARD : FORCE_EOF);
|
||||
/* NOTREACHED */
|
||||
return (NULL);
|
||||
if (no_longjmp_on_fatal_error == 0)
|
||||
exp_jump_to_top_level ((result == &expand_word_error) ? DISCARD : FORCE_EOF);
|
||||
return (result);
|
||||
}
|
||||
else
|
||||
return (result);
|
||||
@@ -4316,6 +4325,8 @@ expand_string_internal (const char *string, int quoted)
|
||||
td.word = savestring (string);
|
||||
|
||||
tresult = call_expand_word_internal (&td, quoted, 0, (int *)NULL, (int *)NULL);
|
||||
if (tresult == &expand_word_error || tresult == &expand_word_fatal)
|
||||
return ((WORD_LIST *)NULL); /* XXX for now */
|
||||
|
||||
FREE (td.word);
|
||||
return (tresult);
|
||||
@@ -4379,6 +4390,9 @@ expand_string_assignment (const char *string, int quoted)
|
||||
|
||||
expand_no_split_dollar_star = 0;
|
||||
|
||||
if (value == &expand_word_error || value == &expand_word_fatal)
|
||||
return ((WORD_LIST *)NULL); /* XXX for now */
|
||||
|
||||
if (value)
|
||||
{
|
||||
if (value->word)
|
||||
@@ -4496,6 +4510,8 @@ expand_string_for_rhs (const char *string, int quoted, int op, int pflags, int *
|
||||
td.word = savestring (string);
|
||||
tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, expanded_p);
|
||||
expand_no_split_dollar_star = old_nosplit;
|
||||
if (tresult == &expand_word_error || tresult == &expand_word_fatal)
|
||||
return ((WORD_LIST *)NULL); /* XXX for now */
|
||||
free (td.word);
|
||||
|
||||
return (tresult);
|
||||
@@ -4519,6 +4535,8 @@ expand_string_for_pat (const char *string, int quoted, int *dollar_at_p, int *ex
|
||||
td.word = savestring (string);
|
||||
tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, expanded_p);
|
||||
expand_no_split_dollar_star = oexp;
|
||||
if (tresult == &expand_word_error || tresult == &expand_word_fatal)
|
||||
return ((WORD_LIST *)NULL); /* XXX for now */
|
||||
free (td.word);
|
||||
|
||||
return (tresult);
|
||||
@@ -4557,6 +4575,9 @@ expand_word (WORD_DESC *word, int quoted)
|
||||
WORD_LIST *result, *tresult;
|
||||
|
||||
tresult = call_expand_word_internal (word, quoted, 0, (int *)NULL, (int *)NULL);
|
||||
if (tresult == &expand_word_error || tresult == &expand_word_fatal)
|
||||
return ((WORD_LIST *)NULL); /* XXX for now */
|
||||
|
||||
result = word_list_split (tresult);
|
||||
dispose_words (tresult);
|
||||
return (result ? dequote_list (result) : result);
|
||||
@@ -4575,8 +4596,7 @@ expand_word_unsplit (WORD_DESC *word, int quoted)
|
||||
}
|
||||
|
||||
/* Perform shell expansions on WORD, but do not perform word splitting or
|
||||
quote removal on the result. Virtually identical to expand_word_unsplit;
|
||||
could be combined if implementations don't diverge. */
|
||||
quote removal on the result. */
|
||||
WORD_LIST *
|
||||
expand_word_leave_quoted (WORD_DESC *word, int quoted)
|
||||
{
|
||||
@@ -4588,6 +4608,8 @@ expand_word_leave_quoted (WORD_DESC *word, int quoted)
|
||||
word->flags |= W_NOSPLIT2;
|
||||
result = call_expand_word_internal (word, quoted, 0, (int *)NULL, (int *)NULL);
|
||||
expand_no_split_dollar_star = 0;
|
||||
if (result == &expand_word_error || result == &expand_word_fatal)
|
||||
return ((WORD_LIST *)NULL); /* XXX for now */
|
||||
|
||||
return result;
|
||||
}
|
||||
@@ -10153,9 +10175,16 @@ parameter_brace_expand (char *string, size_t *indexp, int quoted, int pflags, in
|
||||
|
||||
/* All the cases where an expansion can possibly generate an unbound
|
||||
variable error. */
|
||||
#if 0 /* TAG:bash-5.4 konsolebox <konsolebox@gmail.com> 10/1/2024 */
|
||||
if (want_substring || want_patsub || want_casemod ||
|
||||
(c == '@' && want_attributes == 0) || c == '#' || c == '%' || c == RBRACE)
|
||||
#else
|
||||
if (want_substring || want_patsub || want_casemod || c == '@' || c == '#' || c == '%' || c == RBRACE)
|
||||
#endif
|
||||
{
|
||||
if (var_is_set == 0 && unbound_vars_is_error && ((name[0] != '@' && name[0] != '*') || name[1]) && all_element_arrayref == 0)
|
||||
if (var_is_set == 0 && unbound_vars_is_error &&
|
||||
((name[0] != '@' && name[0] != '*') || name[1]) &&
|
||||
all_element_arrayref == 0)
|
||||
{
|
||||
set_exit_status (EXECUTION_FAILURE);
|
||||
err_unboundvar (name);
|
||||
@@ -11077,6 +11106,9 @@ expand_subscript_string (const char *string, int quoted)
|
||||
tlist = call_expand_word_internal (&td, quoted, 0, (int *)NULL, (int *)NULL);
|
||||
expand_no_split_dollar_star = oe;
|
||||
|
||||
if (tlist == &expand_word_error || tlist == &expand_word_fatal)
|
||||
return ((char *)NULL); /* XXX for now */
|
||||
|
||||
if (tlist)
|
||||
{
|
||||
if (tlist->word)
|
||||
|
||||
Reference in New Issue
Block a user