mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-06-29 16:39:53 +02:00
commit bash-20160826 snapshot
This commit is contained in:
@@ -11,26 +11,26 @@ b. Fixed execution context so `until continue' doesn't disable execution for
|
||||
c. Fixed trap handling code so traps don't inherit a command's temporary
|
||||
environment.
|
||||
|
||||
d. Fixed a bug that resulted in incorrect line numbers when a function is defined
|
||||
as part of another function's execution.
|
||||
d. Fixed a bug that resulted in incorrect line numbers when a function is
|
||||
defined as part of another function's execution.
|
||||
|
||||
e. Fixed a bug in the expansion of ${a[@]} in contexts where word splitting is not
|
||||
performed and $IFS is not the default.
|
||||
e. Fixed a bug in the expansion of ${a[@]} in contexts where word splitting
|
||||
is not performed and $IFS is not the default.
|
||||
|
||||
f. Fixed a bug that caused ''"$@" to not expand to an empty argument when there are
|
||||
no positional parameters.
|
||||
f. Fixed a bug that caused ''"$@" to not expand to an empty argument when
|
||||
there are no positional parameters.
|
||||
|
||||
g. Fixed a bug that caused a shell compiled without job control to use the incorrect
|
||||
exit status for builtin commands preceded by a command executed from the file
|
||||
system that causes the shell to call waitpid().
|
||||
g. Fixed a bug that caused a shell compiled without job control to use the
|
||||
incorrect exit status for builtin commands preceded by a command executed
|
||||
from the file system that causes the shell to call waitpid().
|
||||
|
||||
h. Improved word completion for quoted strings containing unterminated command
|
||||
substitutions with embedded double quotes.
|
||||
|
||||
2. Changes to Readline
|
||||
|
||||
a. Fixed a bug that caused mode strings to be displayed incorrectly if the prompt was
|
||||
shorter than the mode string.
|
||||
a. Fixed a bug that caused mode strings to be displayed incorrectly if the
|
||||
prompt was shorter than the mode string.
|
||||
|
||||
3. New Features in Bash
|
||||
|
||||
@@ -42,10 +42,11 @@ a. Using ${a[@]} or ${a[*]} with an array without any assigned elements when
|
||||
a. New application-callable function: rl_pending_signal(): returns the signal
|
||||
number of any signal readline has caught but not yet handled.
|
||||
|
||||
b. New application-settable variable: rl_persistent_signal_handlers: if set to a
|
||||
non-zero value, readline will enable the readline-6.2 signal handler behavior
|
||||
in callback mode: handlers are installed when rl_callback_handler_install is
|
||||
called and removed removed when a complete line has been read.
|
||||
b. New application-settable variable: rl_persistent_signal_handlers: if set
|
||||
to a non-zero value, readline will enable the readline-6.2 signal handler
|
||||
behavior in callback mode: handlers are installed when
|
||||
rl_callback_handler_install is called and removed removed when a complete
|
||||
line has been read.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
This document details the changes between this version, bash-4.4-beta2, and
|
||||
@@ -188,8 +189,8 @@ b. Fixed a bug that caused the mapfile builtin to not create array variables
|
||||
c. Fixed a bug that caused prompt expansion to loop when PS1 contained a
|
||||
syntax error.
|
||||
|
||||
d. Fixed a bug that caused the ${array[@]@A} expansion to split the results even
|
||||
when double-quoted.
|
||||
d. Fixed a bug that caused the ${array[@]@A} expansion to split the results
|
||||
even when double-quoted.
|
||||
|
||||
e. There is a new implementation of the code that saves the last CHILD_MAX
|
||||
exited background pids so their status can be queried later.
|
||||
@@ -198,8 +199,8 @@ f. Bash-4.4 can now be configured and built on very old versions of Solaris 2.
|
||||
|
||||
g. Fixed problems with --help support for several builtins.
|
||||
|
||||
h. Fixed values added to BASH_SOURCE and BASH_LINENO for functions inherited from
|
||||
the environment.
|
||||
h. Fixed values added to BASH_SOURCE and BASH_LINENO for functions inherited
|
||||
from the environment.
|
||||
|
||||
i. Fixed a bug that caused background processes run from non-interactive shells
|
||||
with job control enabled to place the terminal in the wrong process group
|
||||
@@ -208,8 +209,8 @@ i. Fixed a bug that caused background processes run from non-interactive shells
|
||||
j. Fixed a bug that caused `fc' to return an incorrect exit status when
|
||||
executing commands from the history list.
|
||||
|
||||
k. Fixed a bug that caused the shell to exit when a process substitution received
|
||||
a SIGINT when run in certain terminal emulators.
|
||||
k. Fixed a bug that caused the shell to exit when a process substitution
|
||||
received a SIGINT when run in certain terminal emulators.
|
||||
|
||||
l. EXECIGNORE now honors the setting of `extglob' when attempting to match
|
||||
executable names.
|
||||
@@ -226,11 +227,11 @@ o. Fixed a bug that caused set -e to be honored in cases of builtins invoking
|
||||
p. Fixed a bug that caused `readonly' and `export' to create local array
|
||||
variables when used within shell functions.
|
||||
|
||||
q. Fixed a bug that allowed subshells begun to execute process substitutions to
|
||||
have access to the command's temporary environment.
|
||||
q. Fixed a bug that allowed subshells begun to execute process substitutions
|
||||
to have access to the command's temporary environment.
|
||||
|
||||
r. Fixed a bug that could cause the shell to dump core when receiving a SIGCHLD
|
||||
for which a trap has been set while running in posix mode.
|
||||
r. Fixed a bug that could cause the shell to dump core when receiving a
|
||||
SIGCHLD for which a trap has been set while running in posix mode.
|
||||
|
||||
s. Fixed a bug that caused bash to not restore BASH_ARGC, BASH_ARGV, BASH_SOURCE,
|
||||
BASH_LINENO, and FUNCNAME if the shell received a SIGINT while reading
|
||||
@@ -255,11 +256,12 @@ x. Fixed a bug that caused process and command substitution to inherit output
|
||||
y. Fixed a bug that caused a terminating signal received during `echo' to run
|
||||
an exit trap in a signal handler context.
|
||||
|
||||
z. Fixed a bug that caused a builtin command containing a process substitution to
|
||||
return the wrong exit status.
|
||||
z. Fixed a bug that caused a builtin command containing a process substitution
|
||||
to return the wrong exit status.
|
||||
|
||||
aa. Fixed a bug that caused `()' subshells with piped input to incorrectly redirect
|
||||
the standard input of some of the commands in the subshell from /dev/null.
|
||||
aa. Fixed a bug that caused `()' subshells with piped input to incorrectly
|
||||
redirect the standard input of some of the commands in the subshell from
|
||||
/dev/null.
|
||||
|
||||
bb. The history builtin now uses more descriptive error messages for missing or
|
||||
invalid timestamps.
|
||||
@@ -269,7 +271,8 @@ bb. The history builtin now uses more descriptive error messages for missing or
|
||||
a. The history file writing functions only attempt to create and use a backup
|
||||
history file if the history file exists and is a regular file.
|
||||
|
||||
b. Fixed an out-of-bounds read in readline's internal tilde expansion interface.
|
||||
b. Fixed an out-of-bounds read in readline's internal tilde expansion
|
||||
interface.
|
||||
|
||||
c. Fixed several redisplay bugs with prompt strings containing multibyte
|
||||
and non-visible characters whose physical length is longer than the screen
|
||||
@@ -297,32 +300,34 @@ b. inherit_errexit: a new `shopt' option that, when set, causes command
|
||||
c. New prompt string: PS0. Expanded and displayed by interactive shells after
|
||||
reading a complete command but before executing it.
|
||||
|
||||
d. Interactive shells now behave as if SIGTSTP/SIGTTIN/SIGTTOU are set to SIG_DFL
|
||||
when the shell is started, so they are set to SIG_DFL in child processes.
|
||||
d. Interactive shells now behave as if SIGTSTP/SIGTTIN/SIGTTOU are set to
|
||||
SIG_DFL when the shell is started, so they are set to SIG_DFL in child
|
||||
processes.
|
||||
|
||||
e. Posix-mode shells now allow double quotes to quote the history expansion
|
||||
character.
|
||||
|
||||
f. OLDPWD can be inherited from the environment if it names a directory.
|
||||
|
||||
g. Shells running as root no longer inherit PS4 from the environment, closing a
|
||||
security hole involving PS4 expansion performing command substitution.
|
||||
g. Shells running as root no longer inherit PS4 from the environment, closing
|
||||
a security hole involving PS4 expansion performing command substitution.
|
||||
|
||||
h. If executing an implicit `cd' when the `autocd' option is set, bash will now
|
||||
invoke a function named `cd' if one exists before executing the `cd' builtin.
|
||||
h. If executing an implicit `cd' when the `autocd' option is set, bash will
|
||||
now invoke a function named `cd' if one exists before executing the `cd'
|
||||
builtin.
|
||||
|
||||
4. New Features in Readline
|
||||
|
||||
a. If an incremental search string has its last character removed with DEL, the
|
||||
resulting empty search string no longer matches the previous line.
|
||||
a. If an incremental search string has its last character removed with DEL,
|
||||
the resulting empty search string no longer matches the previous line.
|
||||
|
||||
b. If readline reads a history file that begins with `#' (or the value of
|
||||
the history comment character) and has enabled history timestamps, the history
|
||||
entries are assumed to be delimited by timestamps. This allows multi-line
|
||||
history entries.
|
||||
the history comment character) and has enabled history timestamps, the
|
||||
history entries are assumed to be delimited by timestamps. This allows
|
||||
multi-line history entries.
|
||||
|
||||
c. Readline now throws an error if it parses a key binding without a terminating
|
||||
`:' or whitespace.
|
||||
c. Readline now throws an error if it parses a key binding without a
|
||||
terminating `:' or whitespace.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
This document details the changes between this version, bash-4.4-beta, and
|
||||
|
||||
+49
-43
@@ -11,26 +11,26 @@ b. Fixed execution context so `until continue' doesn't disable execution for
|
||||
c. Fixed trap handling code so traps don't inherit a command's temporary
|
||||
environment.
|
||||
|
||||
d. Fixed a bug that resulted in incorrect line numbers when a function is defined
|
||||
as part of another function's execution.
|
||||
d. Fixed a bug that resulted in incorrect line numbers when a function is
|
||||
defined as part of another function's execution.
|
||||
|
||||
e. Fixed a bug in the expansion of ${a[@]} in contexts where word splitting is not
|
||||
performed and $IFS is not the default.
|
||||
e. Fixed a bug in the expansion of ${a[@]} in contexts where word splitting
|
||||
is not performed and $IFS is not the default.
|
||||
|
||||
f. Fixed a bug that caused ''"$@" to not expand to an empty argument when there are
|
||||
no positional parameters.
|
||||
f. Fixed a bug that caused ''"$@" to not expand to an empty argument when
|
||||
there are no positional parameters.
|
||||
|
||||
g. Fixed a bug that caused a shell compiled without job control to use the incorrect
|
||||
exit status for builtin commands preceded by a command executed from the file
|
||||
system that causes the shell to call waitpid().
|
||||
g. Fixed a bug that caused a shell compiled without job control to use the
|
||||
incorrect exit status for builtin commands preceded by a command executed
|
||||
from the file system that causes the shell to call waitpid().
|
||||
|
||||
h. Improved word completion for quoted strings containing unterminated command
|
||||
substitutions with embedded double quotes.
|
||||
|
||||
2. Changes to Readline
|
||||
|
||||
a. Fixed a bug that caused mode strings to be displayed incorrectly if the prompt was
|
||||
shorter than the mode string.
|
||||
a. Fixed a bug that caused mode strings to be displayed incorrectly if the
|
||||
prompt was shorter than the mode string.
|
||||
|
||||
3. New Features in Bash
|
||||
|
||||
@@ -42,10 +42,11 @@ a. Using ${a[@]} or ${a[*]} with an array without any assigned elements when
|
||||
a. New application-callable function: rl_pending_signal(): returns the signal
|
||||
number of any signal readline has caught but not yet handled.
|
||||
|
||||
b. New application-settable variable: rl_persistent_signal_handlers: if set to a
|
||||
non-zero value, readline will enable the readline-6.2 signal handler behavior
|
||||
in callback mode: handlers are installed when rl_callback_handler_install is
|
||||
called and removed removed when a complete line has been read.
|
||||
b. New application-settable variable: rl_persistent_signal_handlers: if set
|
||||
to a non-zero value, readline will enable the readline-6.2 signal handler
|
||||
behavior in callback mode: handlers are installed when
|
||||
rl_callback_handler_install is called and removed removed when a complete
|
||||
line has been read.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
This document details the changes between this version, bash-4.4-beta2, and
|
||||
@@ -188,8 +189,8 @@ b. Fixed a bug that caused the mapfile builtin to not create array variables
|
||||
c. Fixed a bug that caused prompt expansion to loop when PS1 contained a
|
||||
syntax error.
|
||||
|
||||
d. Fixed a bug that caused the ${array[@]@A} expansion to split the results even
|
||||
when double-quoted.
|
||||
d. Fixed a bug that caused the ${array[@]@A} expansion to split the results
|
||||
even when double-quoted.
|
||||
|
||||
e. There is a new implementation of the code that saves the last CHILD_MAX
|
||||
exited background pids so their status can be queried later.
|
||||
@@ -198,8 +199,8 @@ f. Bash-4.4 can now be configured and built on very old versions of Solaris 2.
|
||||
|
||||
g. Fixed problems with --help support for several builtins.
|
||||
|
||||
h. Fixed values added to BASH_SOURCE and BASH_LINENO for functions inherited from
|
||||
the environment.
|
||||
h. Fixed values added to BASH_SOURCE and BASH_LINENO for functions inherited
|
||||
from the environment.
|
||||
|
||||
i. Fixed a bug that caused background processes run from non-interactive shells
|
||||
with job control enabled to place the terminal in the wrong process group
|
||||
@@ -208,8 +209,8 @@ i. Fixed a bug that caused background processes run from non-interactive shells
|
||||
j. Fixed a bug that caused `fc' to return an incorrect exit status when
|
||||
executing commands from the history list.
|
||||
|
||||
k. Fixed a bug that caused the shell to exit when a process substitution received
|
||||
a SIGINT when run in certain terminal emulators.
|
||||
k. Fixed a bug that caused the shell to exit when a process substitution
|
||||
received a SIGINT when run in certain terminal emulators.
|
||||
|
||||
l. EXECIGNORE now honors the setting of `extglob' when attempting to match
|
||||
executable names.
|
||||
@@ -226,11 +227,11 @@ o. Fixed a bug that caused set -e to be honored in cases of builtins invoking
|
||||
p. Fixed a bug that caused `readonly' and `export' to create local array
|
||||
variables when used within shell functions.
|
||||
|
||||
q. Fixed a bug that allowed subshells begun to execute process substitutions to
|
||||
have access to the command's temporary environment.
|
||||
q. Fixed a bug that allowed subshells begun to execute process substitutions
|
||||
to have access to the command's temporary environment.
|
||||
|
||||
r. Fixed a bug that could cause the shell to dump core when receiving a SIGCHLD
|
||||
for which a trap has been set while running in posix mode.
|
||||
r. Fixed a bug that could cause the shell to dump core when receiving a
|
||||
SIGCHLD for which a trap has been set while running in posix mode.
|
||||
|
||||
s. Fixed a bug that caused bash to not restore BASH_ARGC, BASH_ARGV, BASH_SOURCE,
|
||||
BASH_LINENO, and FUNCNAME if the shell received a SIGINT while reading
|
||||
@@ -255,11 +256,12 @@ x. Fixed a bug that caused process and command substitution to inherit output
|
||||
y. Fixed a bug that caused a terminating signal received during `echo' to run
|
||||
an exit trap in a signal handler context.
|
||||
|
||||
z. Fixed a bug that caused a builtin command containing a process substitution to
|
||||
return the wrong exit status.
|
||||
z. Fixed a bug that caused a builtin command containing a process substitution
|
||||
to return the wrong exit status.
|
||||
|
||||
aa. Fixed a bug that caused `()' subshells with piped input to incorrectly redirect
|
||||
the standard input of some of the commands in the subshell from /dev/null.
|
||||
aa. Fixed a bug that caused `()' subshells with piped input to incorrectly
|
||||
redirect the standard input of some of the commands in the subshell from
|
||||
/dev/null.
|
||||
|
||||
bb. The history builtin now uses more descriptive error messages for missing or
|
||||
invalid timestamps.
|
||||
@@ -269,7 +271,8 @@ bb. The history builtin now uses more descriptive error messages for missing or
|
||||
a. The history file writing functions only attempt to create and use a backup
|
||||
history file if the history file exists and is a regular file.
|
||||
|
||||
b. Fixed an out-of-bounds read in readline's internal tilde expansion interface.
|
||||
b. Fixed an out-of-bounds read in readline's internal tilde expansion
|
||||
interface.
|
||||
|
||||
c. Fixed several redisplay bugs with prompt strings containing multibyte
|
||||
and non-visible characters whose physical length is longer than the screen
|
||||
@@ -297,32 +300,34 @@ b. inherit_errexit: a new `shopt' option that, when set, causes command
|
||||
c. New prompt string: PS0. Expanded and displayed by interactive shells after
|
||||
reading a complete command but before executing it.
|
||||
|
||||
d. Interactive shells now behave as if SIGTSTP/SIGTTIN/SIGTTOU are set to SIG_DFL
|
||||
when the shell is started, so they are set to SIG_DFL in child processes.
|
||||
d. Interactive shells now behave as if SIGTSTP/SIGTTIN/SIGTTOU are set to
|
||||
SIG_DFL when the shell is started, so they are set to SIG_DFL in child
|
||||
processes.
|
||||
|
||||
e. Posix-mode shells now allow double quotes to quote the history expansion
|
||||
character.
|
||||
|
||||
f. OLDPWD can be inherited from the environment if it names a directory.
|
||||
|
||||
g. Shells running as root no longer inherit PS4 from the environment, closing a
|
||||
security hole involving PS4 expansion performing command substitution.
|
||||
g. Shells running as root no longer inherit PS4 from the environment, closing
|
||||
a security hole involving PS4 expansion performing command substitution.
|
||||
|
||||
h. If executing an implicit `cd' when the `autocd' option is set, bash will now
|
||||
invoke a function named `cd' if one exists before executing the `cd' builtin.
|
||||
h. If executing an implicit `cd' when the `autocd' option is set, bash will
|
||||
now invoke a function named `cd' if one exists before executing the `cd'
|
||||
builtin.
|
||||
|
||||
4. New Features in Readline
|
||||
|
||||
a. If an incremental search string has its last character removed with DEL, the
|
||||
resulting empty search string no longer matches the previous line.
|
||||
a. If an incremental search string has its last character removed with DEL,
|
||||
the resulting empty search string no longer matches the previous line.
|
||||
|
||||
b. If readline reads a history file that begins with `#' (or the value of
|
||||
the history comment character) and has enabled history timestamps, the history
|
||||
entries are assumed to be delimited by timestamps. This allows multi-line
|
||||
history entries.
|
||||
the history comment character) and has enabled history timestamps, the
|
||||
history entries are assumed to be delimited by timestamps. This allows
|
||||
multi-line history entries.
|
||||
|
||||
c. Readline now throws an error if it parses a key binding without a terminating
|
||||
`:' or whitespace.
|
||||
c. Readline now throws an error if it parses a key binding without a
|
||||
terminating `:' or whitespace.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
This document details the changes between this version, bash-4.4-beta, and
|
||||
@@ -999,3 +1004,4 @@ h. The insert-char function attempts to batch-insert all pending typeahead
|
||||
i. rl_callback_sigcleanup: a new application function that can clean up and
|
||||
unset any state set by readline's callback mode. Intended to be used
|
||||
after a signal.
|
||||
|
||||
|
||||
@@ -11601,3 +11601,51 @@ lib/sh/netopen.c
|
||||
doc/{bash.1,bashref.texi}
|
||||
- change conditional commands description to make it clearer that
|
||||
bash doesn't emulate /dev/fd if the OS provides it
|
||||
|
||||
8/22
|
||||
----
|
||||
braces.c
|
||||
- expand_amble: free partial and tem on failure to allocate memory
|
||||
for merged partial+result strvec. Fix from Dmitry Goncharov
|
||||
<dgoncharov@users.sf.net>
|
||||
|
||||
8/23
|
||||
----
|
||||
jobs.c
|
||||
- wait_for: don't call get_tty_state when a job finishes if we're
|
||||
running it as part of programmable completion. We test
|
||||
rl_readline_state. Fixes bug reported by Jaro Punta
|
||||
<silly8888@gmail.com>
|
||||
|
||||
8/24
|
||||
----
|
||||
subst.c
|
||||
- pat_subst: fix memory leak (mstr). Fix from Dmitry Goncharov
|
||||
<dgoncharov@users.sf.net>
|
||||
- split_at_delims: fix memory leak (d2). Fix from Dmitry Goncharov
|
||||
<dgoncharov@users.sf.net>
|
||||
|
||||
8/26
|
||||
----
|
||||
subst.c
|
||||
- match_upattern,match_wpattern: make sure that a trailing `*' is
|
||||
not escaped (preceded by an odd number of backslashes) before we
|
||||
append a `*' when checking whether a pattern matches anywhere in
|
||||
the string
|
||||
|
||||
lib/readline/{input,signals}.c
|
||||
- protect instances of SIGQUIT with #ifdef SIGQUIT; apparently
|
||||
MinGW doesn't define it
|
||||
- protect instances of SIGHUP with #ifdef SIGHUP; apparently
|
||||
MinGW doesn't define it. From a report from Simon Sobisch
|
||||
<simonsobisch@gnu.org>
|
||||
|
||||
xmalloc.o
|
||||
- allocerr: only try to find the break and report it if we're using
|
||||
the bash malloc; there's no guarantee that any other malloc is
|
||||
using sbrk()
|
||||
|
||||
doc/{bash.1,bashref.texi}
|
||||
- quote removal: add paragraph mentioning quote removal to beginning
|
||||
of expansions section, referencing later paragraph. Report from
|
||||
Michel Lanne <michel.lanne@gmail.com>
|
||||
|
||||
@@ -186,12 +186,12 @@ j. If an incremental search string has its last character removed with DEL, the
|
||||
resulting empty search string no longer matches the previous line.
|
||||
|
||||
k. If readline reads a history file that begins with `#' (or the value of
|
||||
the history comment character) and has enabled history timestamps, the history
|
||||
entries are assumed to be delimited by timestamps. This allows multi-line
|
||||
history entries.
|
||||
the history comment character) and has enabled history timestamps, the
|
||||
history entries are assumed to be delimited by timestamps. This allows
|
||||
multi-line history entries.
|
||||
|
||||
l. Readline now throws an error if it parses a key binding without a terminating
|
||||
`:' or whitespace.
|
||||
l. Readline now throws an error if it parses a key binding without a
|
||||
terminating `:' or whitespace.
|
||||
|
||||
m. The default binding for ^W in vi mode now uses word boundaries specified
|
||||
by Posix (vi-unix-word-rubout is bindable command name).
|
||||
@@ -212,6 +212,15 @@ q. Fixed a bug with displaying completions when the prefix display length
|
||||
r. The :p history modifier now applies to the entire line, so any expansion
|
||||
specifying :p causes the line to be printed instead of expanded.
|
||||
|
||||
s. New application-callable function: rl_pending_signal(): returns the signal
|
||||
number of any signal readline has caught but not yet handled.
|
||||
|
||||
t. New application-settable variable: rl_persistent_signal_handlers: if set
|
||||
to a non-zero value, readline will enable the readline-6.2 signal handler
|
||||
behavior in callback mode: handlers are installed when
|
||||
rl_callback_handler_install is called and removed removed when a complete
|
||||
line has been read.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
This is a terse description of the new features added to bash-4.3 since
|
||||
the release of bash-4.2. As always, the manual page (doc/bash.1) is
|
||||
|
||||
@@ -178,17 +178,37 @@ j. If an incremental search string has its last character removed with DEL, the
|
||||
resulting empty search string no longer matches the previous line.
|
||||
|
||||
k. If readline reads a history file that begins with `#' (or the value of
|
||||
the history comment character) and has enabled history timestamps, the history
|
||||
entries are assumed to be delimited by timestamps. This allows multi-line
|
||||
history entries.
|
||||
the history comment character) and has enabled history timestamps, the
|
||||
history entries are assumed to be delimited by timestamps. This allows
|
||||
multi-line history entries.
|
||||
|
||||
l. Readline now throws an error if it parses a key binding without a terminating
|
||||
`:' or whitespace.
|
||||
l. Readline now throws an error if it parses a key binding without a
|
||||
terminating `:' or whitespace.
|
||||
|
||||
m. New application-callable function: rl_pending_signal(): returns the signal
|
||||
m. The default binding for ^W in vi mode now uses word boundaries specified
|
||||
by Posix (vi-unix-word-rubout is bindable command name).
|
||||
|
||||
n. rl_clear_visible_line: new application-callable function; clears all
|
||||
screen lines occupied by the current visible readline line.
|
||||
|
||||
o. rl_tty_set_echoing: application-callable function that controls whether
|
||||
or not readline thinks it is echoing terminal output.
|
||||
|
||||
p. Handle >| and strings of digits preceding and following redirection
|
||||
specifications as single tokens when tokenizing the line for history
|
||||
expansion.
|
||||
|
||||
q. Fixed a bug with displaying completions when the prefix display length
|
||||
is greater than the length of the completions to be displayed.
|
||||
|
||||
r. The :p history modifier now applies to the entire line, so any expansion
|
||||
specifying :p causes the line to be printed instead of expanded.
|
||||
|
||||
s. New application-callable function: rl_pending_signal(): returns the signal
|
||||
number of any signal readline has caught but not yet handled.
|
||||
|
||||
n. New application-settable variable: rl_persistent_signal_handlers: if set to a
|
||||
non-zero value, readline will enable the readline-6.2 signal handler behavior
|
||||
in callback mode: handlers are installed when rl_callback_handler_install is
|
||||
called and removed removed when a complete line has been read.
|
||||
|
||||
t. New application-settable variable: rl_persistent_signal_handlers: if set
|
||||
to a non-zero value, readline will enable the readline-6.2 signal handler
|
||||
behavior in callback mode: handlers are installed when
|
||||
rl_callback_handler_install is called and removed removed when a complete
|
||||
line has been read.
|
||||
|
||||
@@ -38,6 +38,12 @@
|
||||
|
||||
#if defined (SHELL)
|
||||
# include "shell.h"
|
||||
#else
|
||||
# if defined (TEST)
|
||||
typedef char *WORD_DESC;
|
||||
typedef char **WORD_LIST;
|
||||
#define _(X) X
|
||||
# endif /* TEST */
|
||||
#endif /* SHELL */
|
||||
|
||||
#include "typemax.h" /* INTMAX_MIN, INTMAX_MAX */
|
||||
@@ -287,7 +293,9 @@ expand_amble (text, tlen, flags)
|
||||
char *tem;
|
||||
int start, i, c;
|
||||
|
||||
#if defined (SHELL)
|
||||
DECLARE_MBSTATE;
|
||||
#endif
|
||||
|
||||
result = (char **)NULL;
|
||||
|
||||
@@ -301,7 +309,7 @@ expand_amble (text, tlen, flags)
|
||||
#else
|
||||
tem = (char *)xmalloc (1 + (i - start));
|
||||
strncpy (tem, &text[start], (i - start));
|
||||
tem[i- start] = '\0';
|
||||
tem[i - start] = '\0';
|
||||
#endif
|
||||
|
||||
partial = brace_expand (tem);
|
||||
@@ -319,6 +327,8 @@ expand_amble (text, tlen, flags)
|
||||
if (tresult == 0)
|
||||
{
|
||||
internal_error (_("brace expansion: cannot allocate memory for %s"), tem);
|
||||
free (tem);
|
||||
strvec_dispose (partial);
|
||||
strvec_dispose (result);
|
||||
result = (char **)NULL;
|
||||
return result;
|
||||
@@ -333,7 +343,11 @@ expand_amble (text, tlen, flags)
|
||||
free (partial);
|
||||
}
|
||||
free (tem);
|
||||
#if defined (SHELL)
|
||||
ADVANCE_CHAR (text, tlen, i);
|
||||
#else
|
||||
i++;
|
||||
#endif
|
||||
start = i;
|
||||
}
|
||||
return (result);
|
||||
@@ -623,7 +637,11 @@ brace_gobbler (text, tlen, indx, satisfy)
|
||||
if (pass_next)
|
||||
{
|
||||
pass_next = 0;
|
||||
#if defined (SHELL)
|
||||
ADVANCE_CHAR (text, tlen, i);
|
||||
#else
|
||||
i++;
|
||||
#endif
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -657,7 +675,11 @@ brace_gobbler (text, tlen, indx, satisfy)
|
||||
if (quoted == '"' && c == '$' && text[i+1] == '(') /*)*/
|
||||
goto comsub;
|
||||
#endif
|
||||
#if defined (SHELL)
|
||||
ADVANCE_CHAR (text, tlen, i);
|
||||
#else
|
||||
i++;
|
||||
#endif
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -710,7 +732,11 @@ comsub:
|
||||
commas++;
|
||||
#endif
|
||||
|
||||
#if defined (SHELL)
|
||||
ADVANCE_CHAR (text, tlen, i);
|
||||
#else
|
||||
i++;
|
||||
#endif
|
||||
}
|
||||
|
||||
*indx = i;
|
||||
@@ -789,20 +815,29 @@ array_concat (arr1, arr2)
|
||||
#if defined (TEST)
|
||||
#include <stdio.h>
|
||||
|
||||
fatal_error (format, arg1, arg2)
|
||||
char *format, *arg1, *arg2;
|
||||
void *
|
||||
xmalloc(n)
|
||||
size_t n;
|
||||
{
|
||||
report_error (format, arg1, arg2);
|
||||
exit (1);
|
||||
return (malloc (n));
|
||||
}
|
||||
|
||||
report_error (format, arg1, arg2)
|
||||
void *
|
||||
xrealloc(p, n)
|
||||
void *p;
|
||||
size_t n;
|
||||
{
|
||||
return (realloc (p, n));
|
||||
}
|
||||
|
||||
int
|
||||
internal_error (format, arg1, arg2)
|
||||
char *format, *arg1, *arg2;
|
||||
{
|
||||
fprintf (stderr, format, arg1, arg2);
|
||||
fprintf (stderr, "\n");
|
||||
}
|
||||
|
||||
|
||||
main ()
|
||||
{
|
||||
char example[256];
|
||||
@@ -826,7 +861,7 @@ main ()
|
||||
for (i = 0; result[i]; i++)
|
||||
printf ("%s\n", result[i]);
|
||||
|
||||
free_array (result);
|
||||
strvec_dispose (result);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -357,8 +357,8 @@ declare_internal (list, local_var)
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined (ARRAY_VARS)
|
||||
restart_new_var_name:
|
||||
#if defined (ARRAY_VARS)
|
||||
var_exists = array_exists = creating_array = 0;
|
||||
compound_array_assign = simple_array_assign = 0;
|
||||
array_subscript_assignment = 0;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#! /bin/sh
|
||||
# From configure.ac for Bash 4.4, version 4.080.
|
||||
# From configure.ac for Bash 4.4, version 4.081.
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.69 for bash 4.4-rc2.
|
||||
# Generated by GNU Autoconf 2.69 for bash 4.4-releng.
|
||||
#
|
||||
# Report bugs to <bug-bash@gnu.org>.
|
||||
#
|
||||
@@ -581,8 +581,8 @@ MAKEFLAGS=
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='bash'
|
||||
PACKAGE_TARNAME='bash'
|
||||
PACKAGE_VERSION='4.4-rc2'
|
||||
PACKAGE_STRING='bash 4.4-rc2'
|
||||
PACKAGE_VERSION='4.4-releng'
|
||||
PACKAGE_STRING='bash 4.4-releng'
|
||||
PACKAGE_BUGREPORT='bug-bash@gnu.org'
|
||||
PACKAGE_URL=''
|
||||
|
||||
@@ -1393,7 +1393,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 4.4-rc2 to adapt to many kinds of systems.
|
||||
\`configure' configures bash 4.4-releng to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1458,7 +1458,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of bash 4.4-rc2:";;
|
||||
short | recursive ) echo "Configuration of bash 4.4-releng:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1651,7 +1651,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
bash configure 4.4-rc2
|
||||
bash configure 4.4-releng
|
||||
generated by GNU Autoconf 2.69
|
||||
|
||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
@@ -2360,7 +2360,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 4.4-rc2, which was
|
||||
It was created by bash $as_me 4.4-releng, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -2754,10 +2754,10 @@ ac_config_headers="$ac_config_headers config.h"
|
||||
|
||||
|
||||
BASHVERS=4.4
|
||||
RELSTATUS=rc2
|
||||
RELSTATUS=releng
|
||||
|
||||
case "$RELSTATUS" in
|
||||
alp*|bet*|dev*|rc*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
|
||||
alp*|bet*|dev*|rc*|releng*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
|
||||
*) DEBUG= MALLOC_DEBUG= ;;
|
||||
esac
|
||||
|
||||
@@ -4916,7 +4916,8 @@ CFLAGS=${CFLAGS-"$AUTO_CFLAGS"}
|
||||
# LDFLAGS=${LDFLAGS="$AUTO_LDFLAGS"} # XXX
|
||||
|
||||
# turn off paren warnings in gcc
|
||||
if test "$GCC" = yes && test -n "$DEBUG"; then
|
||||
if test "$GCC" = yes # && test -n "$DEBUG"
|
||||
then
|
||||
CFLAGS="$CFLAGS -Wno-parentheses -Wno-format-security"
|
||||
fi
|
||||
|
||||
@@ -16704,7 +16705,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 4.4-rc2, which was
|
||||
This file was extended by bash $as_me 4.4-releng, which was
|
||||
generated by GNU Autoconf 2.69. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -16770,7 +16771,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 4.4-rc2
|
||||
bash config.status 4.4-releng
|
||||
configured by $0, generated by GNU Autoconf 2.69,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
||||
+5
-4
@@ -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 4.4, version 4.080])dnl
|
||||
AC_REVISION([for Bash 4.4, version 4.081])dnl
|
||||
|
||||
define(bashvers, 4.4)
|
||||
define(relstatus, rc2)
|
||||
define(relstatus, releng)
|
||||
|
||||
AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
|
||||
|
||||
@@ -42,7 +42,7 @@ RELSTATUS=relstatus
|
||||
|
||||
dnl defaults for debug settings
|
||||
case "$RELSTATUS" in
|
||||
alp*|bet*|dev*|rc*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
|
||||
alp*|bet*|dev*|rc*|releng*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
|
||||
*) DEBUG= MALLOC_DEBUG= ;;
|
||||
esac
|
||||
|
||||
@@ -462,7 +462,8 @@ CFLAGS=${CFLAGS-"$AUTO_CFLAGS"}
|
||||
# LDFLAGS=${LDFLAGS="$AUTO_LDFLAGS"} # XXX
|
||||
|
||||
# turn off paren warnings in gcc
|
||||
if test "$GCC" = yes && test -n "$DEBUG"; then
|
||||
if test "$GCC" = yes # && test -n "$DEBUG"
|
||||
then
|
||||
CFLAGS="$CFLAGS -Wno-parentheses -Wno-format-security"
|
||||
fi
|
||||
|
||||
|
||||
+1556
-1553
File diff suppressed because it is too large
Load Diff
+6
-2
@@ -5,12 +5,12 @@
|
||||
.\" Case Western Reserve University
|
||||
.\" chet.ramey@case.edu
|
||||
.\"
|
||||
.\" Last Change: Sun Aug 21 14:47:11 EDT 2016
|
||||
.\" Last Change: Fri Aug 26 09:45:10 EDT 2016
|
||||
.\"
|
||||
.\" bash_builtins, strip all but Built-Ins section
|
||||
.if \n(zZ=1 .ig zZ
|
||||
.if \n(zY=1 .ig zY
|
||||
.TH BASH 1 "2016 August 21" "GNU Bash 4.4"
|
||||
.TH BASH 1 "2016 August 26" "GNU Bash 4.4"
|
||||
.\"
|
||||
.\" There's some problem with having a `@'
|
||||
.\" in a tagged paragraph with the BSD man macros.
|
||||
@@ -2681,6 +2681,10 @@ This is performed at the
|
||||
same time as tilde, parameter, variable, and arithmetic expansion and
|
||||
command substitution.
|
||||
.PP
|
||||
After these expansions are performed, quote characters present in the
|
||||
original word are removed unless they have been quoted themselves
|
||||
(\fIquote removal\fP).
|
||||
.PP
|
||||
Only brace expansion, word splitting, and pathname expansion
|
||||
can change the number of words of the expansion; other expansions
|
||||
expand a single word to a single word.
|
||||
|
||||
+8
-3
@@ -3,7 +3,7 @@
|
||||
</HEAD>
|
||||
<BODY><TABLE WIDTH=100%>
|
||||
<TR>
|
||||
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2016 May 29<TH ALIGN=RIGHT width=33%>BASH(1)
|
||||
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2016 August 21<TH ALIGN=RIGHT width=33%>BASH(1)
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR><A HREF="#index">Index</A>
|
||||
@@ -5533,6 +5533,11 @@ Conditional expressions are used by the <B>[[</B> compound command and
|
||||
the <B>test</B> and <B>[</B> builtin commands to test file attributes
|
||||
and perform string and arithmetic comparisons.
|
||||
Expressions are formed from the following unary or binary primaries.
|
||||
<B>Bash</B> handles several filenames specially when they are used in
|
||||
expressions.
|
||||
If the operating system on which <B>bash</B> is running provides these
|
||||
special files, bash will use them; otherwise it will emulate them
|
||||
internally with this behavior:
|
||||
If any <I>file</I> argument to one of the primaries is of the form
|
||||
<I>/dev/fd/n</I>, then file descriptor <I>n</I> is checked.
|
||||
If the <I>file</I> argument to one of the primaries is one of
|
||||
@@ -13519,7 +13524,7 @@ There may be only one active coprocess at a time.
|
||||
<HR>
|
||||
<TABLE WIDTH=100%>
|
||||
<TR>
|
||||
<TH ALIGN=LEFT width=33%>GNU Bash 4.4<TH ALIGN=CENTER width=33%>2016 May 29<TH ALIGN=RIGHT width=33%>BASH(1)
|
||||
<TH ALIGN=LEFT width=33%>GNU Bash 4.4<TH ALIGN=CENTER width=33%>2016 August 21<TH ALIGN=RIGHT width=33%>BASH(1)
|
||||
</TR>
|
||||
</TABLE>
|
||||
<HR>
|
||||
@@ -13625,6 +13630,6 @@ There may be only one active coprocess at a time.
|
||||
</DL>
|
||||
<HR>
|
||||
This document was created by man2html from bash.1.<BR>
|
||||
Time: 14 July 2016 11:48:02 EDT
|
||||
Time: 22 August 2016 09:44:22 EDT
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+141
-138
@@ -2,9 +2,9 @@ This is bash.info, produced by makeinfo version 6.1 from
|
||||
bashref.texi.
|
||||
|
||||
This text is a brief description of the features that are present in the
|
||||
Bash shell (version 4.4, 29 May 2016).
|
||||
Bash shell (version 4.4, 21 August 2016).
|
||||
|
||||
This is Edition 4.4, last updated 29 May 2016, of 'The GNU Bash
|
||||
This is Edition 4.4, last updated 21 August 2016, of 'The GNU Bash
|
||||
Reference Manual', for 'Bash', Version 4.4.
|
||||
|
||||
Copyright (C) 1988-2016 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 4.4, 29 May 2016). The Bash home page is
|
||||
Bash shell (version 4.4, 21 August 2016). The Bash home page is
|
||||
<http://www.gnu.org/software/bash/>.
|
||||
|
||||
This is Edition 4.4, last updated 29 May 2016, of 'The GNU Bash
|
||||
This is Edition 4.4, last updated 21 August 2016, of 'The GNU Bash
|
||||
Reference Manual', for 'Bash', Version 4.4.
|
||||
|
||||
Bash contains features that appear in other popular shells, and some
|
||||
@@ -5749,11 +5749,14 @@ Conditional expressions are used by the '[[' compound command and the
|
||||
|
||||
Expressions may be unary or binary. Unary expressions are often used
|
||||
to examine the status of a file. There are string operators and numeric
|
||||
comparison operators as well. If the FILE argument to one of the
|
||||
primaries is of the form '/dev/fd/N', then file descriptor N is checked.
|
||||
If the FILE argument to one of the primaries is one of '/dev/stdin',
|
||||
'/dev/stdout', or '/dev/stderr', file descriptor 0, 1, or 2,
|
||||
respectively, is checked.
|
||||
comparison operators as well. Bash handles several filenames specially
|
||||
when they are used in expressions. If the operating system on which
|
||||
Bash is running provides these special files, Bash will use them;
|
||||
otherwise it will emulate them internally with this behavior: If the
|
||||
FILE argument to one of the primaries is of the form '/dev/fd/N', then
|
||||
file descriptor N is checked. If the FILE argument to one of the
|
||||
primaries is one of '/dev/stdin', '/dev/stdout', or '/dev/stderr', file
|
||||
descriptor 0, 1, or 2, respectively, is checked.
|
||||
|
||||
When used with '[[', the '<' and '>' operators sort lexicographically
|
||||
using the current locale. The 'test' command uses ASCII ordering.
|
||||
@@ -11337,134 +11340,134 @@ D.5 Concept Index
|
||||
|
||||
|
||||
Tag Table:
|
||||
Node: Top887
|
||||
Node: Introduction2797
|
||||
Node: What is Bash?3013
|
||||
Node: What is a shell?4127
|
||||
Node: Definitions6665
|
||||
Node: Basic Shell Features9616
|
||||
Node: Shell Syntax10835
|
||||
Node: Shell Operation11861
|
||||
Node: Quoting13154
|
||||
Node: Escape Character14454
|
||||
Node: Single Quotes14939
|
||||
Node: Double Quotes15287
|
||||
Node: ANSI-C Quoting16565
|
||||
Node: Locale Translation17818
|
||||
Node: Comments18714
|
||||
Node: Shell Commands19332
|
||||
Node: Simple Commands20204
|
||||
Node: Pipelines20835
|
||||
Node: Lists23578
|
||||
Node: Compound Commands25307
|
||||
Node: Looping Constructs26310
|
||||
Node: Conditional Constructs28773
|
||||
Node: Command Grouping39695
|
||||
Node: Coprocesses41174
|
||||
Node: GNU Parallel43006
|
||||
Node: Shell Functions46979
|
||||
Node: Shell Parameters52185
|
||||
Node: Positional Parameters56598
|
||||
Node: Special Parameters57498
|
||||
Node: Shell Expansions60835
|
||||
Node: Brace Expansion62772
|
||||
Node: Tilde Expansion65553
|
||||
Node: Shell Parameter Expansion67901
|
||||
Node: Command Substitution82033
|
||||
Node: Arithmetic Expansion83388
|
||||
Node: Process Substitution84320
|
||||
Node: Word Splitting85440
|
||||
Node: Filename Expansion87384
|
||||
Node: Pattern Matching89668
|
||||
Node: Quote Removal93366
|
||||
Node: Redirections93661
|
||||
Node: Executing Commands103081
|
||||
Node: Simple Command Expansion103751
|
||||
Node: Command Search and Execution105681
|
||||
Node: Command Execution Environment108017
|
||||
Node: Environment111001
|
||||
Node: Exit Status112660
|
||||
Node: Signals114330
|
||||
Node: Shell Scripts116297
|
||||
Node: Shell Builtin Commands118812
|
||||
Node: Bourne Shell Builtins120846
|
||||
Node: Bash Builtins141446
|
||||
Node: Modifying Shell Behavior170091
|
||||
Node: The Set Builtin170436
|
||||
Node: The Shopt Builtin180849
|
||||
Node: Special Builtins196648
|
||||
Node: Shell Variables197627
|
||||
Node: Bourne Shell Variables198064
|
||||
Node: Bash Variables200095
|
||||
Node: Bash Features228475
|
||||
Node: Invoking Bash229374
|
||||
Node: Bash Startup Files235323
|
||||
Node: Interactive Shells240426
|
||||
Node: What is an Interactive Shell?240836
|
||||
Node: Is this Shell Interactive?241485
|
||||
Node: Interactive Shell Behavior242300
|
||||
Node: Bash Conditional Expressions245675
|
||||
Node: Shell Arithmetic249676
|
||||
Node: Aliases252493
|
||||
Node: Arrays255041
|
||||
Node: The Directory Stack260125
|
||||
Node: Directory Stack Builtins260909
|
||||
Node: Controlling the Prompt263877
|
||||
Node: The Restricted Shell266623
|
||||
Node: Bash POSIX Mode268448
|
||||
Node: Job Control278501
|
||||
Node: Job Control Basics278961
|
||||
Node: Job Control Builtins283680
|
||||
Node: Job Control Variables288210
|
||||
Node: Command Line Editing289366
|
||||
Node: Introduction and Notation291037
|
||||
Node: Readline Interaction292660
|
||||
Node: Readline Bare Essentials293851
|
||||
Node: Readline Movement Commands295634
|
||||
Node: Readline Killing Commands296594
|
||||
Node: Readline Arguments298512
|
||||
Node: Searching299556
|
||||
Node: Readline Init File301742
|
||||
Node: Readline Init File Syntax302889
|
||||
Node: Conditional Init Constructs323076
|
||||
Node: Sample Init File325601
|
||||
Node: Bindable Readline Commands328718
|
||||
Node: Commands For Moving329922
|
||||
Node: Commands For History331065
|
||||
Node: Commands For Text335354
|
||||
Node: Commands For Killing338743
|
||||
Node: Numeric Arguments341224
|
||||
Node: Commands For Completion342363
|
||||
Node: Keyboard Macros346554
|
||||
Node: Miscellaneous Commands347241
|
||||
Node: Readline vi Mode353045
|
||||
Node: Programmable Completion353952
|
||||
Node: Programmable Completion Builtins361413
|
||||
Node: A Programmable Completion Example371299
|
||||
Node: Using History Interactively376551
|
||||
Node: Bash History Facilities377235
|
||||
Node: Bash History Builtins380236
|
||||
Node: History Interaction384233
|
||||
Node: Event Designators387197
|
||||
Node: Word Designators388416
|
||||
Node: Modifiers390053
|
||||
Node: Installing Bash391455
|
||||
Node: Basic Installation392592
|
||||
Node: Compilers and Options395283
|
||||
Node: Compiling For Multiple Architectures396024
|
||||
Node: Installation Names397687
|
||||
Node: Specifying the System Type398505
|
||||
Node: Sharing Defaults399221
|
||||
Node: Operation Controls399894
|
||||
Node: Optional Features400852
|
||||
Node: Reporting Bugs411109
|
||||
Node: Major Differences From The Bourne Shell412303
|
||||
Node: GNU Free Documentation License429155
|
||||
Node: Indexes454332
|
||||
Node: Builtin Index454786
|
||||
Node: Reserved Word Index461613
|
||||
Node: Variable Index464061
|
||||
Node: Function Index479520
|
||||
Node: Concept Index492677
|
||||
Node: Top893
|
||||
Node: Introduction2809
|
||||
Node: What is Bash?3025
|
||||
Node: What is a shell?4139
|
||||
Node: Definitions6677
|
||||
Node: Basic Shell Features9628
|
||||
Node: Shell Syntax10847
|
||||
Node: Shell Operation11873
|
||||
Node: Quoting13166
|
||||
Node: Escape Character14466
|
||||
Node: Single Quotes14951
|
||||
Node: Double Quotes15299
|
||||
Node: ANSI-C Quoting16577
|
||||
Node: Locale Translation17830
|
||||
Node: Comments18726
|
||||
Node: Shell Commands19344
|
||||
Node: Simple Commands20216
|
||||
Node: Pipelines20847
|
||||
Node: Lists23590
|
||||
Node: Compound Commands25319
|
||||
Node: Looping Constructs26322
|
||||
Node: Conditional Constructs28785
|
||||
Node: Command Grouping39707
|
||||
Node: Coprocesses41186
|
||||
Node: GNU Parallel43018
|
||||
Node: Shell Functions46991
|
||||
Node: Shell Parameters52197
|
||||
Node: Positional Parameters56610
|
||||
Node: Special Parameters57510
|
||||
Node: Shell Expansions60847
|
||||
Node: Brace Expansion62784
|
||||
Node: Tilde Expansion65565
|
||||
Node: Shell Parameter Expansion67913
|
||||
Node: Command Substitution82045
|
||||
Node: Arithmetic Expansion83400
|
||||
Node: Process Substitution84332
|
||||
Node: Word Splitting85452
|
||||
Node: Filename Expansion87396
|
||||
Node: Pattern Matching89680
|
||||
Node: Quote Removal93378
|
||||
Node: Redirections93673
|
||||
Node: Executing Commands103093
|
||||
Node: Simple Command Expansion103763
|
||||
Node: Command Search and Execution105693
|
||||
Node: Command Execution Environment108029
|
||||
Node: Environment111013
|
||||
Node: Exit Status112672
|
||||
Node: Signals114342
|
||||
Node: Shell Scripts116309
|
||||
Node: Shell Builtin Commands118824
|
||||
Node: Bourne Shell Builtins120858
|
||||
Node: Bash Builtins141458
|
||||
Node: Modifying Shell Behavior170103
|
||||
Node: The Set Builtin170448
|
||||
Node: The Shopt Builtin180861
|
||||
Node: Special Builtins196660
|
||||
Node: Shell Variables197639
|
||||
Node: Bourne Shell Variables198076
|
||||
Node: Bash Variables200107
|
||||
Node: Bash Features228487
|
||||
Node: Invoking Bash229386
|
||||
Node: Bash Startup Files235335
|
||||
Node: Interactive Shells240438
|
||||
Node: What is an Interactive Shell?240848
|
||||
Node: Is this Shell Interactive?241497
|
||||
Node: Interactive Shell Behavior242312
|
||||
Node: Bash Conditional Expressions245687
|
||||
Node: Shell Arithmetic249927
|
||||
Node: Aliases252744
|
||||
Node: Arrays255292
|
||||
Node: The Directory Stack260376
|
||||
Node: Directory Stack Builtins261160
|
||||
Node: Controlling the Prompt264128
|
||||
Node: The Restricted Shell266874
|
||||
Node: Bash POSIX Mode268699
|
||||
Node: Job Control278752
|
||||
Node: Job Control Basics279212
|
||||
Node: Job Control Builtins283931
|
||||
Node: Job Control Variables288461
|
||||
Node: Command Line Editing289617
|
||||
Node: Introduction and Notation291288
|
||||
Node: Readline Interaction292911
|
||||
Node: Readline Bare Essentials294102
|
||||
Node: Readline Movement Commands295885
|
||||
Node: Readline Killing Commands296845
|
||||
Node: Readline Arguments298763
|
||||
Node: Searching299807
|
||||
Node: Readline Init File301993
|
||||
Node: Readline Init File Syntax303140
|
||||
Node: Conditional Init Constructs323327
|
||||
Node: Sample Init File325852
|
||||
Node: Bindable Readline Commands328969
|
||||
Node: Commands For Moving330173
|
||||
Node: Commands For History331316
|
||||
Node: Commands For Text335605
|
||||
Node: Commands For Killing338994
|
||||
Node: Numeric Arguments341475
|
||||
Node: Commands For Completion342614
|
||||
Node: Keyboard Macros346805
|
||||
Node: Miscellaneous Commands347492
|
||||
Node: Readline vi Mode353296
|
||||
Node: Programmable Completion354203
|
||||
Node: Programmable Completion Builtins361664
|
||||
Node: A Programmable Completion Example371550
|
||||
Node: Using History Interactively376802
|
||||
Node: Bash History Facilities377486
|
||||
Node: Bash History Builtins380487
|
||||
Node: History Interaction384484
|
||||
Node: Event Designators387448
|
||||
Node: Word Designators388667
|
||||
Node: Modifiers390304
|
||||
Node: Installing Bash391706
|
||||
Node: Basic Installation392843
|
||||
Node: Compilers and Options395534
|
||||
Node: Compiling For Multiple Architectures396275
|
||||
Node: Installation Names397938
|
||||
Node: Specifying the System Type398756
|
||||
Node: Sharing Defaults399472
|
||||
Node: Operation Controls400145
|
||||
Node: Optional Features401103
|
||||
Node: Reporting Bugs411360
|
||||
Node: Major Differences From The Bourne Shell412554
|
||||
Node: GNU Free Documentation License429406
|
||||
Node: Indexes454583
|
||||
Node: Builtin Index455037
|
||||
Node: Reserved Word Index461864
|
||||
Node: Variable Index464312
|
||||
Node: Function Index479771
|
||||
Node: Concept Index492928
|
||||
|
||||
End Tag Table
|
||||
|
||||
Binary file not shown.
+688
-678
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -207,9 +207,9 @@
|
||||
@xrdef{Arrays-pg}{90}
|
||||
@xrdef{The Directory Stack-title}{The Directory Stack}
|
||||
@xrdef{The Directory Stack-snt}{Section@tie 6.8}
|
||||
@xrdef{The Directory Stack-pg}{91}
|
||||
@xrdef{Directory Stack Builtins-title}{Directory Stack Builtins}
|
||||
@xrdef{Directory Stack Builtins-snt}{Section@tie 6.8.1}
|
||||
@xrdef{The Directory Stack-pg}{92}
|
||||
@xrdef{Directory Stack Builtins-pg}{92}
|
||||
@xrdef{Controlling the Prompt-title}{Controlling the Prompt}
|
||||
@xrdef{Controlling the Prompt-snt}{Section@tie 6.9}
|
||||
|
||||
+1
-1
@@ -85,7 +85,7 @@
|
||||
\entry{arithmetic evaluation}{88}{arithmetic evaluation}
|
||||
\entry{alias expansion}{89}{alias expansion}
|
||||
\entry{arrays}{90}{arrays}
|
||||
\entry{directory stack}{91}{directory stack}
|
||||
\entry{directory stack}{92}{directory stack}
|
||||
\entry{prompting}{93}{prompting}
|
||||
\entry{restricted shell}{94}{restricted shell}
|
||||
\entry{POSIX Mode}{95}{POSIX Mode}
|
||||
|
||||
+1
-1
@@ -33,7 +33,7 @@
|
||||
\entry {control operator}{3}
|
||||
\entry {coprocess}{15}
|
||||
\initial {D}
|
||||
\entry {directory stack}{91}
|
||||
\entry {directory stack}{92}
|
||||
\initial {E}
|
||||
\entry {editing command lines}{104}
|
||||
\entry {environment}{38}
|
||||
|
||||
Binary file not shown.
+9
-4
@@ -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 4.4, 29 May 2016).
|
||||
the Bash shell (version 4.4, 21 August 2016).
|
||||
|
||||
This is Edition 4.4, last updated 29 May 2016,
|
||||
This is Edition 4.4, last updated 21 August 2016,
|
||||
of The GNU Bash Reference Manual,
|
||||
for Bash, Version 4.4.
|
||||
|
||||
@@ -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 4.4, 29 May 2016).
|
||||
the Bash shell (version 4.4, 21 August 2016).
|
||||
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 4.4, last updated 29 May 2016,
|
||||
<p>This is Edition 4.4, last updated 21 August 2016,
|
||||
of <cite>The GNU Bash Reference Manual</cite>,
|
||||
for <code>Bash</code>, Version 4.4.
|
||||
</p>
|
||||
@@ -7902,6 +7902,11 @@ and the <code>test</code> and <code>[</code> builtin commands.
|
||||
<p>Expressions may be unary or binary.
|
||||
Unary expressions are often used to examine the status of a file.
|
||||
There are string operators and numeric comparison operators as well.
|
||||
Bash handles several filenames specially when they are used in
|
||||
expressions.
|
||||
If the operating system on which Bash is running provides these
|
||||
special files, Bash will use them; otherwise it will emulate them
|
||||
internally with this behavior:
|
||||
If the <var>file</var> argument to one of the primaries is of the form
|
||||
<samp>/dev/fd/<var>N</var></samp>, then file descriptor <var>N</var> is checked.
|
||||
If the <var>file</var> argument to one of the primaries is one of
|
||||
|
||||
+141
-138
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 6.1 from
|
||||
bashref.texi.
|
||||
|
||||
This text is a brief description of the features that are present in the
|
||||
Bash shell (version 4.4, 29 May 2016).
|
||||
Bash shell (version 4.4, 21 August 2016).
|
||||
|
||||
This is Edition 4.4, last updated 29 May 2016, of 'The GNU Bash
|
||||
This is Edition 4.4, last updated 21 August 2016, of 'The GNU Bash
|
||||
Reference Manual', for 'Bash', Version 4.4.
|
||||
|
||||
Copyright (C) 1988-2016 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 4.4, 29 May 2016). The Bash home page is
|
||||
Bash shell (version 4.4, 21 August 2016). The Bash home page is
|
||||
<http://www.gnu.org/software/bash/>.
|
||||
|
||||
This is Edition 4.4, last updated 29 May 2016, of 'The GNU Bash
|
||||
This is Edition 4.4, last updated 21 August 2016, of 'The GNU Bash
|
||||
Reference Manual', for 'Bash', Version 4.4.
|
||||
|
||||
Bash contains features that appear in other popular shells, and some
|
||||
@@ -5749,11 +5749,14 @@ Conditional expressions are used by the '[[' compound command and the
|
||||
|
||||
Expressions may be unary or binary. Unary expressions are often used
|
||||
to examine the status of a file. There are string operators and numeric
|
||||
comparison operators as well. If the FILE argument to one of the
|
||||
primaries is of the form '/dev/fd/N', then file descriptor N is checked.
|
||||
If the FILE argument to one of the primaries is one of '/dev/stdin',
|
||||
'/dev/stdout', or '/dev/stderr', file descriptor 0, 1, or 2,
|
||||
respectively, is checked.
|
||||
comparison operators as well. Bash handles several filenames specially
|
||||
when they are used in expressions. If the operating system on which
|
||||
Bash is running provides these special files, Bash will use them;
|
||||
otherwise it will emulate them internally with this behavior: If the
|
||||
FILE argument to one of the primaries is of the form '/dev/fd/N', then
|
||||
file descriptor N is checked. If the FILE argument to one of the
|
||||
primaries is one of '/dev/stdin', '/dev/stdout', or '/dev/stderr', file
|
||||
descriptor 0, 1, or 2, respectively, is checked.
|
||||
|
||||
When used with '[[', the '<' and '>' operators sort lexicographically
|
||||
using the current locale. The 'test' command uses ASCII ordering.
|
||||
@@ -11337,134 +11340,134 @@ D.5 Concept Index
|
||||
|
||||
|
||||
Tag Table:
|
||||
Node: Top887
|
||||
Node: Introduction2797
|
||||
Node: What is Bash?3013
|
||||
Node: What is a shell?4127
|
||||
Node: Definitions6665
|
||||
Node: Basic Shell Features9616
|
||||
Node: Shell Syntax10835
|
||||
Node: Shell Operation11861
|
||||
Node: Quoting13154
|
||||
Node: Escape Character14454
|
||||
Node: Single Quotes14939
|
||||
Node: Double Quotes15287
|
||||
Node: ANSI-C Quoting16565
|
||||
Node: Locale Translation17818
|
||||
Node: Comments18714
|
||||
Node: Shell Commands19332
|
||||
Node: Simple Commands20204
|
||||
Node: Pipelines20835
|
||||
Node: Lists23578
|
||||
Node: Compound Commands25307
|
||||
Node: Looping Constructs26310
|
||||
Node: Conditional Constructs28773
|
||||
Node: Command Grouping39695
|
||||
Node: Coprocesses41174
|
||||
Node: GNU Parallel43006
|
||||
Node: Shell Functions46979
|
||||
Node: Shell Parameters52185
|
||||
Node: Positional Parameters56598
|
||||
Node: Special Parameters57498
|
||||
Node: Shell Expansions60835
|
||||
Node: Brace Expansion62772
|
||||
Node: Tilde Expansion65553
|
||||
Node: Shell Parameter Expansion67901
|
||||
Node: Command Substitution82033
|
||||
Node: Arithmetic Expansion83388
|
||||
Node: Process Substitution84320
|
||||
Node: Word Splitting85440
|
||||
Node: Filename Expansion87384
|
||||
Node: Pattern Matching89668
|
||||
Node: Quote Removal93366
|
||||
Node: Redirections93661
|
||||
Node: Executing Commands103081
|
||||
Node: Simple Command Expansion103751
|
||||
Node: Command Search and Execution105681
|
||||
Node: Command Execution Environment108017
|
||||
Node: Environment111001
|
||||
Node: Exit Status112660
|
||||
Node: Signals114330
|
||||
Node: Shell Scripts116297
|
||||
Node: Shell Builtin Commands118812
|
||||
Node: Bourne Shell Builtins120846
|
||||
Node: Bash Builtins141446
|
||||
Node: Modifying Shell Behavior170091
|
||||
Node: The Set Builtin170436
|
||||
Node: The Shopt Builtin180849
|
||||
Node: Special Builtins196648
|
||||
Node: Shell Variables197627
|
||||
Node: Bourne Shell Variables198064
|
||||
Node: Bash Variables200095
|
||||
Node: Bash Features228475
|
||||
Node: Invoking Bash229374
|
||||
Node: Bash Startup Files235323
|
||||
Node: Interactive Shells240426
|
||||
Node: What is an Interactive Shell?240836
|
||||
Node: Is this Shell Interactive?241485
|
||||
Node: Interactive Shell Behavior242300
|
||||
Node: Bash Conditional Expressions245675
|
||||
Node: Shell Arithmetic249676
|
||||
Node: Aliases252493
|
||||
Node: Arrays255041
|
||||
Node: The Directory Stack260125
|
||||
Node: Directory Stack Builtins260909
|
||||
Node: Controlling the Prompt263877
|
||||
Node: The Restricted Shell266623
|
||||
Node: Bash POSIX Mode268448
|
||||
Node: Job Control278501
|
||||
Node: Job Control Basics278961
|
||||
Node: Job Control Builtins283680
|
||||
Node: Job Control Variables288210
|
||||
Node: Command Line Editing289366
|
||||
Node: Introduction and Notation291037
|
||||
Node: Readline Interaction292660
|
||||
Node: Readline Bare Essentials293851
|
||||
Node: Readline Movement Commands295634
|
||||
Node: Readline Killing Commands296594
|
||||
Node: Readline Arguments298512
|
||||
Node: Searching299556
|
||||
Node: Readline Init File301742
|
||||
Node: Readline Init File Syntax302889
|
||||
Node: Conditional Init Constructs323076
|
||||
Node: Sample Init File325601
|
||||
Node: Bindable Readline Commands328718
|
||||
Node: Commands For Moving329922
|
||||
Node: Commands For History331065
|
||||
Node: Commands For Text335354
|
||||
Node: Commands For Killing338743
|
||||
Node: Numeric Arguments341224
|
||||
Node: Commands For Completion342363
|
||||
Node: Keyboard Macros346554
|
||||
Node: Miscellaneous Commands347241
|
||||
Node: Readline vi Mode353045
|
||||
Node: Programmable Completion353952
|
||||
Node: Programmable Completion Builtins361413
|
||||
Node: A Programmable Completion Example371299
|
||||
Node: Using History Interactively376551
|
||||
Node: Bash History Facilities377235
|
||||
Node: Bash History Builtins380236
|
||||
Node: History Interaction384233
|
||||
Node: Event Designators387197
|
||||
Node: Word Designators388416
|
||||
Node: Modifiers390053
|
||||
Node: Installing Bash391455
|
||||
Node: Basic Installation392592
|
||||
Node: Compilers and Options395283
|
||||
Node: Compiling For Multiple Architectures396024
|
||||
Node: Installation Names397687
|
||||
Node: Specifying the System Type398505
|
||||
Node: Sharing Defaults399221
|
||||
Node: Operation Controls399894
|
||||
Node: Optional Features400852
|
||||
Node: Reporting Bugs411109
|
||||
Node: Major Differences From The Bourne Shell412303
|
||||
Node: GNU Free Documentation License429155
|
||||
Node: Indexes454332
|
||||
Node: Builtin Index454786
|
||||
Node: Reserved Word Index461613
|
||||
Node: Variable Index464061
|
||||
Node: Function Index479520
|
||||
Node: Concept Index492677
|
||||
Node: Top893
|
||||
Node: Introduction2809
|
||||
Node: What is Bash?3025
|
||||
Node: What is a shell?4139
|
||||
Node: Definitions6677
|
||||
Node: Basic Shell Features9628
|
||||
Node: Shell Syntax10847
|
||||
Node: Shell Operation11873
|
||||
Node: Quoting13166
|
||||
Node: Escape Character14466
|
||||
Node: Single Quotes14951
|
||||
Node: Double Quotes15299
|
||||
Node: ANSI-C Quoting16577
|
||||
Node: Locale Translation17830
|
||||
Node: Comments18726
|
||||
Node: Shell Commands19344
|
||||
Node: Simple Commands20216
|
||||
Node: Pipelines20847
|
||||
Node: Lists23590
|
||||
Node: Compound Commands25319
|
||||
Node: Looping Constructs26322
|
||||
Node: Conditional Constructs28785
|
||||
Node: Command Grouping39707
|
||||
Node: Coprocesses41186
|
||||
Node: GNU Parallel43018
|
||||
Node: Shell Functions46991
|
||||
Node: Shell Parameters52197
|
||||
Node: Positional Parameters56610
|
||||
Node: Special Parameters57510
|
||||
Node: Shell Expansions60847
|
||||
Node: Brace Expansion62784
|
||||
Node: Tilde Expansion65565
|
||||
Node: Shell Parameter Expansion67913
|
||||
Node: Command Substitution82045
|
||||
Node: Arithmetic Expansion83400
|
||||
Node: Process Substitution84332
|
||||
Node: Word Splitting85452
|
||||
Node: Filename Expansion87396
|
||||
Node: Pattern Matching89680
|
||||
Node: Quote Removal93378
|
||||
Node: Redirections93673
|
||||
Node: Executing Commands103093
|
||||
Node: Simple Command Expansion103763
|
||||
Node: Command Search and Execution105693
|
||||
Node: Command Execution Environment108029
|
||||
Node: Environment111013
|
||||
Node: Exit Status112672
|
||||
Node: Signals114342
|
||||
Node: Shell Scripts116309
|
||||
Node: Shell Builtin Commands118824
|
||||
Node: Bourne Shell Builtins120858
|
||||
Node: Bash Builtins141458
|
||||
Node: Modifying Shell Behavior170103
|
||||
Node: The Set Builtin170448
|
||||
Node: The Shopt Builtin180861
|
||||
Node: Special Builtins196660
|
||||
Node: Shell Variables197639
|
||||
Node: Bourne Shell Variables198076
|
||||
Node: Bash Variables200107
|
||||
Node: Bash Features228487
|
||||
Node: Invoking Bash229386
|
||||
Node: Bash Startup Files235335
|
||||
Node: Interactive Shells240438
|
||||
Node: What is an Interactive Shell?240848
|
||||
Node: Is this Shell Interactive?241497
|
||||
Node: Interactive Shell Behavior242312
|
||||
Node: Bash Conditional Expressions245687
|
||||
Node: Shell Arithmetic249927
|
||||
Node: Aliases252744
|
||||
Node: Arrays255292
|
||||
Node: The Directory Stack260376
|
||||
Node: Directory Stack Builtins261160
|
||||
Node: Controlling the Prompt264128
|
||||
Node: The Restricted Shell266874
|
||||
Node: Bash POSIX Mode268699
|
||||
Node: Job Control278752
|
||||
Node: Job Control Basics279212
|
||||
Node: Job Control Builtins283931
|
||||
Node: Job Control Variables288461
|
||||
Node: Command Line Editing289617
|
||||
Node: Introduction and Notation291288
|
||||
Node: Readline Interaction292911
|
||||
Node: Readline Bare Essentials294102
|
||||
Node: Readline Movement Commands295885
|
||||
Node: Readline Killing Commands296845
|
||||
Node: Readline Arguments298763
|
||||
Node: Searching299807
|
||||
Node: Readline Init File301993
|
||||
Node: Readline Init File Syntax303140
|
||||
Node: Conditional Init Constructs323327
|
||||
Node: Sample Init File325852
|
||||
Node: Bindable Readline Commands328969
|
||||
Node: Commands For Moving330173
|
||||
Node: Commands For History331316
|
||||
Node: Commands For Text335605
|
||||
Node: Commands For Killing338994
|
||||
Node: Numeric Arguments341475
|
||||
Node: Commands For Completion342614
|
||||
Node: Keyboard Macros346805
|
||||
Node: Miscellaneous Commands347492
|
||||
Node: Readline vi Mode353296
|
||||
Node: Programmable Completion354203
|
||||
Node: Programmable Completion Builtins361664
|
||||
Node: A Programmable Completion Example371550
|
||||
Node: Using History Interactively376802
|
||||
Node: Bash History Facilities377486
|
||||
Node: Bash History Builtins380487
|
||||
Node: History Interaction384484
|
||||
Node: Event Designators387448
|
||||
Node: Word Designators388667
|
||||
Node: Modifiers390304
|
||||
Node: Installing Bash391706
|
||||
Node: Basic Installation392843
|
||||
Node: Compilers and Options395534
|
||||
Node: Compiling For Multiple Architectures396275
|
||||
Node: Installation Names397938
|
||||
Node: Specifying the System Type398756
|
||||
Node: Sharing Defaults399472
|
||||
Node: Operation Controls400145
|
||||
Node: Optional Features401103
|
||||
Node: Reporting Bugs411360
|
||||
Node: Major Differences From The Bourne Shell412554
|
||||
Node: GNU Free Documentation License429406
|
||||
Node: Indexes454583
|
||||
Node: Builtin Index455037
|
||||
Node: Reserved Word Index461864
|
||||
Node: Variable Index464312
|
||||
Node: Function Index479771
|
||||
Node: Concept Index492928
|
||||
|
||||
End Tag Table
|
||||
|
||||
+3
-3
@@ -1,4 +1,4 @@
|
||||
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/MacPorts 2016_0) (preloaded format=pdfetex 2016.7.6) 14 JUL 2016 11:48
|
||||
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/MacPorts 2016_0) (preloaded format=pdfetex 2016.7.6) 22 AUG 2016 09:44
|
||||
entering extended mode
|
||||
restricted \write18 enabled.
|
||||
file:line:error style messages enabled.
|
||||
@@ -390,7 +390,7 @@ texinfo.tex: doing @include of fdl.texi
|
||||
Here is how much of TeX's memory you used:
|
||||
4059 strings out of 497105
|
||||
47054 string characters out of 6206776
|
||||
136588 words of memory out of 5000000
|
||||
136594 words of memory out of 5000000
|
||||
4846 multiletter control sequences out of 15000+600000
|
||||
34315 words of font info for 116 fonts, out of 8000000 for 9000
|
||||
51 hyphenation exceptions out of 8191
|
||||
@@ -412,7 +412,7 @@ fonts/type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/texmf-texlive/fonts
|
||||
lic/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm
|
||||
-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm-super
|
||||
/sfrm1440.pfb>
|
||||
Output written on bashref.pdf (177 pages, 733442 bytes).
|
||||
Output written on bashref.pdf (177 pages, 733716 bytes).
|
||||
PDF statistics:
|
||||
2573 PDF objects out of 2984 (max. 8388607)
|
||||
2351 compressed objects within 24 object streams
|
||||
|
||||
Binary file not shown.
+616
-611
File diff suppressed because it is too large
Load Diff
@@ -1703,6 +1703,10 @@ This is performed at the
|
||||
same time as tilde, parameter, variable, and arithmetic expansion and
|
||||
command substitution.
|
||||
|
||||
After these expansions are performed, quote characters present in the
|
||||
original word are removed unless they have been quoted themselves
|
||||
(@var{quote removal}).
|
||||
|
||||
Only brace expansion, word splitting, and filename expansion
|
||||
can change the number of words of the expansion; other expansions
|
||||
expand a single word to a single word.
|
||||
|
||||
+1
-1
@@ -77,7 +77,7 @@
|
||||
@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{88}
|
||||
@numsecentry{Aliases}{6.6}{Aliases}{89}
|
||||
@numsecentry{Arrays}{6.7}{Arrays}{90}
|
||||
@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{91}
|
||||
@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{92}
|
||||
@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{92}
|
||||
@numsecentry{Controlling the Prompt}{6.9}{Controlling the Prompt}{93}
|
||||
@numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{94}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
%!PS-Adobe-3.0
|
||||
%%Creator: groff version 1.22.3
|
||||
%%CreationDate: Thu Jul 14 11:47:50 2016
|
||||
%%CreationDate: Mon Aug 22 09:44:00 2016
|
||||
%%DocumentNeededResources: font Times-Roman
|
||||
%%+ font Times-Bold
|
||||
%%+ font Times-Italic
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
%!PS-Adobe-3.0
|
||||
%%Creator: groff version 1.22.3
|
||||
%%CreationDate: Thu Jul 14 11:47:50 2016
|
||||
%%CreationDate: Mon Aug 22 09:44:00 2016
|
||||
%%DocumentNeededResources: font Times-Roman
|
||||
%%+ font Times-Bold
|
||||
%%DocumentSuppliedResources: procset grops 1.22 3
|
||||
|
||||
+2
-2
@@ -2,10 +2,10 @@
|
||||
Copyright (C) 1988-2016 Free Software Foundation, Inc.
|
||||
@end ignore
|
||||
|
||||
@set LASTCHANGE Sun Aug 21 14:48:56 EDT 2016
|
||||
@set LASTCHANGE Fri Aug 26 09:44:56 EDT 2016
|
||||
|
||||
@set EDITION 4.4
|
||||
@set VERSION 4.4
|
||||
|
||||
@set UPDATED 21 August 2016
|
||||
@set UPDATED 26 August 2016
|
||||
@set UPDATED-MONTH August 2016
|
||||
|
||||
+3
-3
@@ -4722,11 +4722,11 @@ execute_function (var, words, flags, fds_to_close, async, subshell)
|
||||
|
||||
#if defined (ARRAY_VARS)
|
||||
fa = (struct func_array_state *)xmalloc (sizeof (struct func_array_state));
|
||||
fa->source_a = bash_source_a;
|
||||
fa->source_a = (ARRAY *)bash_source_a;
|
||||
fa->source_v = bash_source_v;
|
||||
fa->lineno_a = bash_lineno_a;
|
||||
fa->lineno_a = (ARRAY *)bash_lineno_a;
|
||||
fa->lineno_v = bash_lineno_v;
|
||||
fa->funcname_a = funcname_a;
|
||||
fa->funcname_a = (ARRAY *)funcname_a;
|
||||
fa->funcname_v = funcname_v;
|
||||
if (subshell == 0)
|
||||
add_unwind_protect (restore_funcarray_state, fa);
|
||||
|
||||
@@ -75,6 +75,10 @@
|
||||
#include "builtins/builtext.h"
|
||||
#include "builtins/common.h"
|
||||
|
||||
#if defined (READLINE)
|
||||
# include <readline/readline.h>
|
||||
#endif
|
||||
|
||||
#if !defined (errno)
|
||||
extern int errno;
|
||||
#endif /* !errno */
|
||||
@@ -2834,6 +2838,11 @@ if (job == NO_JOB)
|
||||
get_new_window_size (0, (int *)0, (int *)0);
|
||||
}
|
||||
else
|
||||
#if defined (READLINE)
|
||||
/* We don't want to do this if we are running a process during
|
||||
programmable completion. */
|
||||
if (RL_ISSTATE (RL_STATE_COMPLETING) == 0)
|
||||
#endif
|
||||
get_tty_state ();
|
||||
|
||||
/* If job control is enabled, the job was started with job
|
||||
|
||||
@@ -567,10 +567,18 @@ handle_error:
|
||||
if (errno != EINTR)
|
||||
return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
|
||||
/* fatal signals of interest */
|
||||
#if defined (SIGHUP)
|
||||
else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM)
|
||||
#else
|
||||
else if (_rl_caught_signal == SIGTERM)
|
||||
#endif
|
||||
return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
|
||||
/* keyboard-generated signals of interest */
|
||||
#if defined (SIGQUIT)
|
||||
else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT)
|
||||
#else
|
||||
else if (_rl_caught_signal == SIGINT)
|
||||
#endif
|
||||
RL_CHECK_SIGNALS ();
|
||||
/* non-keyboard-generated signals of interest */
|
||||
else if (_rl_caught_signal == SIGWINCH)
|
||||
|
||||
@@ -235,7 +235,9 @@ _rl_handle_signal (sig)
|
||||
case SIGTTOU:
|
||||
#endif /* SIGTSTP */
|
||||
case SIGTERM:
|
||||
#if defined (SIGHUP)
|
||||
case SIGHUP:
|
||||
#endif
|
||||
#if defined (SIGALRM)
|
||||
case SIGALRM:
|
||||
#endif
|
||||
@@ -415,7 +417,9 @@ rl_set_signals ()
|
||||
|
||||
sigaddset (&bset, SIGINT);
|
||||
sigaddset (&bset, SIGTERM);
|
||||
#if defined (SIGHUP)
|
||||
sigaddset (&bset, SIGHUP);
|
||||
#endif
|
||||
#if defined (SIGQUIT)
|
||||
sigaddset (&bset, SIGQUIT);
|
||||
#endif
|
||||
@@ -444,7 +448,9 @@ rl_set_signals ()
|
||||
|
||||
rl_maybe_set_sighandler (SIGINT, rl_signal_handler, &old_int);
|
||||
rl_maybe_set_sighandler (SIGTERM, rl_signal_handler, &old_term);
|
||||
#if defined (SIGHUP)
|
||||
rl_maybe_set_sighandler (SIGHUP, rl_signal_handler, &old_hup);
|
||||
#endif
|
||||
#if defined (SIGQUIT)
|
||||
rl_maybe_set_sighandler (SIGQUIT, rl_signal_handler, &old_quit);
|
||||
#endif
|
||||
@@ -509,7 +515,9 @@ rl_clear_signals ()
|
||||
overhead */
|
||||
rl_maybe_restore_sighandler (SIGINT, &old_int);
|
||||
rl_maybe_restore_sighandler (SIGTERM, &old_term);
|
||||
#if defined (SIGHUP)
|
||||
rl_maybe_restore_sighandler (SIGHUP, &old_hup);
|
||||
#endif
|
||||
#if defined (SIGQUIT)
|
||||
rl_maybe_restore_sighandler (SIGQUIT, &old_quit);
|
||||
#endif
|
||||
|
||||
+18
-3
@@ -75,12 +75,27 @@
|
||||
#define INT_MAX (~0 - INT_MIN)
|
||||
#endif
|
||||
|
||||
/* True if the arithmetic type T is signed. */
|
||||
#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
|
||||
|
||||
/* The maximum and minimum values for the integer type T. These
|
||||
macros have undefined behavior if T is signed and has padding bits.
|
||||
If this is a problem for you, please let us know how to fix it for
|
||||
your host. */
|
||||
#define TYPE_MINIMUM(t) \
|
||||
((t) (! TYPE_SIGNED (t) \
|
||||
? (t) 0 \
|
||||
: ~ TYPE_MAXIMUM (t)))
|
||||
#define TYPE_MAXIMUM(t) \
|
||||
((t) (! TYPE_SIGNED (t) \
|
||||
? (t) -1 \
|
||||
: ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
|
||||
|
||||
#ifndef TIME_T_MIN
|
||||
#define TIME_T_MIN (0 < (time_t) -1 ? (time_t) 0 \
|
||||
: ~ (time_t) 0 << (sizeof (time_t) * CHAR_BIT - 1))
|
||||
# define TIME_T_MIN TYPE_MINIMUM (time_t)
|
||||
#endif
|
||||
#ifndef TIME_T_MAX
|
||||
#define TIME_T_MAX (~ (time_t) 0 - TIME_T_MIN)
|
||||
# define TIME_T_MAX TYPE_MAXIMUM (time_t)
|
||||
#endif
|
||||
|
||||
#define TM_YEAR_BASE 1900
|
||||
|
||||
@@ -2254,7 +2254,10 @@ split_at_delims (string, slen, delims, sentinel, flags, nwp, cwp)
|
||||
for (i = 0; member (string[i], d) && spctabnl (string[i]); i++)
|
||||
;
|
||||
if (string[i] == '\0')
|
||||
return (ret);
|
||||
{
|
||||
FREE (d2);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
ts = i;
|
||||
nw = 0;
|
||||
@@ -4443,14 +4446,36 @@ match_upattern (string, pat, mtype, sp, ep)
|
||||
len = STRLEN (pat);
|
||||
if (pat[0] != '*' || (pat[0] == '*' && pat[1] == LPAREN && extended_glob) || pat[len - 1] != '*')
|
||||
{
|
||||
int unescaped_backslash;
|
||||
char *pp;
|
||||
|
||||
p = npat = (char *)xmalloc (len + 3);
|
||||
p1 = pat;
|
||||
if (*p1 != '*' || (*p1 == '*' && p1[1] == LPAREN && extended_glob))
|
||||
*p++ = '*';
|
||||
while (*p1)
|
||||
*p++ = *p1++;
|
||||
if (p1[-1] != '*' || p[-2] == '\\')
|
||||
#if 1
|
||||
/* Need to also handle a pattern that ends with an unescaped backslash.
|
||||
For right now, we ignore it because the pattern matching code will
|
||||
fail the match anyway */
|
||||
/* If the pattern ends with a `*' we leave it alone if it's preceded by
|
||||
an even number of backslashes, but if it's escaped by a backslash
|
||||
we need to add another `*'. */
|
||||
if (p1[-1] == '*' && (unescaped_backslash = p1[-2] == '\\'))
|
||||
{
|
||||
pp = p1 - 3;
|
||||
while (pp >= pat && *pp-- == '\\')
|
||||
unescaped_backslash = 1 - unescaped_backslash;
|
||||
if (unescaped_backslash)
|
||||
*p++ = '*';
|
||||
}
|
||||
else if (p1[-1] != '*')
|
||||
*p++ = '*';
|
||||
#else
|
||||
if (p1[-1] != '*' || p1[-2] == '\\')
|
||||
*p++ = '*';
|
||||
#endif
|
||||
*p = '\0';
|
||||
}
|
||||
else
|
||||
@@ -4584,14 +4609,31 @@ match_wpattern (wstring, indices, wstrlen, wpat, mtype, sp, ep)
|
||||
len = wcslen (wpat);
|
||||
if (wpat[0] != L'*' || (wpat[0] == L'*' && wpat[1] == WLPAREN && extended_glob) || wpat[len - 1] != L'*')
|
||||
{
|
||||
int unescaped_backslash;
|
||||
wchar_t *wpp;
|
||||
|
||||
wp = nwpat = (wchar_t *)xmalloc ((len + 3) * sizeof (wchar_t));
|
||||
wp1 = wpat;
|
||||
if (*wp1 != L'*' || (*wp1 == '*' && wp1[1] == WLPAREN && extended_glob))
|
||||
*wp++ = L'*';
|
||||
while (*wp1 != L'\0')
|
||||
*wp++ = *wp1++;
|
||||
#if 1
|
||||
/* See comments above in match_upattern. */
|
||||
if (wp1[-1] == L'*' && (unescaped_backslash = wp1[-2] == L'\\'))
|
||||
{
|
||||
wpp = wp1 - 3;
|
||||
while (wpp >= wpat && *wpp-- == L'\\')
|
||||
unescaped_backslash = 1 - unescaped_backslash;
|
||||
if (unescaped_backslash)
|
||||
*wp++ = L'*';
|
||||
}
|
||||
else if (wp1[-1] != L'*')
|
||||
*wp++ = L'*';
|
||||
#else
|
||||
if (wp1[-1] != L'*' || wp1[-2] == L'\\')
|
||||
*wp++ = L'*';
|
||||
#endif
|
||||
*wp = '\0';
|
||||
}
|
||||
else
|
||||
@@ -7399,6 +7441,7 @@ pat_subst (string, pat, rep, mflags)
|
||||
mstr[x] = s[x];
|
||||
mstr[mlen] = '\0';
|
||||
rstr = strcreplace (rep, '&', mstr, 0);
|
||||
free (mstr);
|
||||
rslen = strlen (rstr);
|
||||
}
|
||||
else
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
BUILD_DIR=/usr/local/build/bash/bash-current
|
||||
BUILD_DIR=/usr/local/build/chet/bash/bash-current
|
||||
THIS_SH=$BUILD_DIR/bash
|
||||
PATH=$PATH:$BUILD_DIR
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#!/local/bin/bash
|
||||
#Time-stamp: <95/06/07 07:40:40 hrue@imf.unit.no>
|
||||
|
||||
getop () {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* xmalloc.c -- safe versions of malloc and realloc */
|
||||
|
||||
/* Copyright (C) 1991-2009 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991-2016 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Bash, the GNU Bourne Again SHell.
|
||||
|
||||
@@ -61,7 +61,7 @@ static size_t allocated;
|
||||
/* */
|
||||
/* **************************************************************** */
|
||||
|
||||
#if defined (HAVE_SBRK)
|
||||
#if defined (HAVE_SBRK) && defined (USING_BASH_MALLOC)
|
||||
#define FINDBRK() \
|
||||
do { \
|
||||
if (brkfound == 0) \
|
||||
@@ -86,7 +86,7 @@ allocerr (func, bytes)
|
||||
const char *func;
|
||||
size_t bytes;
|
||||
{
|
||||
#if defined (HAVE_SBRK)
|
||||
#if defined (HAVE_SBRK) && defined (USING_BASH_MALLOC)
|
||||
allocated = findbrk ();
|
||||
fatal_error (_("%s: cannot allocate %lu bytes (%lu bytes allocated)"), func, (unsigned long)bytes, (unsigned long)allocated);
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user