commit bash-20180907 snapshot

This commit is contained in:
Chet Ramey
2018-09-10 10:05:19 -04:00
parent 82b4156ab5
commit b52e30b8dd
43 changed files with 16240 additions and 16417 deletions
+121
View File
@@ -1,3 +1,124 @@
This document details the changes between this version, bash-5.0-beta, and
the previous version, bash-5.0-alpha.
1. Changes to Bash
a. Fixed a bug that allowed subshells to "inherit" enclosing loops -- this
is where POSIX says the subshell is not "enclosed" by the loop.
b. Added more UTF-8-specific versions of multibyte functions, and optimized
existing functions if the current locale uses UTF-8 encoding.
c. In POSIX mode, assignments preceding regular builtins should not persist
when the builtin completes.
d. Added additional checks to special array assignment (e.g., BASH_ALIASES)
so it can't be used to bypass validity checks performed in other places.
e. The `!!' history expansion now refers to the previous history entry as
expected, even if used on the second or subsequent line of a multi-line
history entry.
f. Fixed a bug that could cause the shell to dereference a NULL pointer if
the environment (`environ') is set to NULL.
g. Bash uses slightly better integer overflow handling for brace sequence
expansion on systems where ints are 32 bits and intmax_t is 64 bits.
h. Fixed a bug setting attributes for a variable named as an argument to
`declare' that also appears as a nameref in the temporary environment.
i. Fixed several bugs that could cause assignments to namerefs to create
variables with invalid names.
j. Fixed a bug that could result in the SIGINT handler being set incorrectly
in asynchronous subshells.
k. Fixed a bug that could cause `bash -t' to not execute the specified command.
l. Fixed several bugs that caused the shell to operate on the wrong variable
when using namerefs with the same name as a global variable in shell
functions.
m. Internal changes to how the shell handles variables with invalid names in
the initial environment and to prevent variables with invalid names from
being added to the environment instead of passing them on to children.
n. Changes to make sure that an expansion that results in a quoted null string
is reflected in the expansion, even if the word expands to nothing.
o. Changes to make sure that $* and ${array[*]} (and $@/${array[@]}) expand
the same way after the recent changes for POSIX interpretation 888.
p. Saving and restoring the positional parameters at function entry and exit
is considerably more efficient; noticeably so when there are large numbers
of positional parameters.
q. Fixed a bug that caused `lastpipe' and `pipefail' to return an incorrect
status for the pipeline if there was more than one external command in a
loop body appearing in the last pipeline element.
r. Fixed a bug that caused value conversion errors with the printf builtin's
%u and %f conversion specifications and invalid constants.
2. Changes to Readline
a. Added more UTF-8-specific versions of multibyte functions, and optimized
existing functions if the current locale uses UTF-8 encoding.
b. Fixed a problem with bracketed-paste inserting more than one character and
interacting with other readline functions.
c. Fixed a bug that caused the history library to attempt to append a history
line to a non-existent history entry.
d. If using bracketed paste mode, output a newline after the \r that is the
last character of the mode disable string to avoid overwriting output.
e. Fixes to the vi-mode `b', `B', `w', `W', `e', and `E' commands to better
handle multibyte characters.
f. Fixed a redisplay problem that caused an extra newline to be generated on
accept-line when the line is exactly the screenwidth.
3. New Features in Bash
a. Bash no longer allows variable assignments preceding a special builtin that
changes variable attributes to propagate back to the calling environment
unless the compatibility level is 44 or lower.
b. You can set the default value for $HISTSIZE at build time in config-top.h.
c. The `complete' builtin now accepts a -I option that applies the completion
to the initial word on the line.
d. The internal bash malloc now uses mmap (if available) to satisfy requests
greater than 128K bytes, so free can use mfree to return the pages to the
kernel.
e. The shell doesn't automatically set BASH_ARGC and BASH_ARGV at startup
unless it's in debugging mode, as the documentation has always said, but
will dynamically create them if a script references them at the top level
without having enabled debugging mode.
f. The localvar_inherit option will not attempt to inherit a value from a
variable of an incompatible type (indexed vs. associative arrays, for
example).
g. The `globasciiranges' option is now enabled by default; it can be set to
off by default at configuration time.
4. New Features in Readline
a. The history expansion library now understands command and process
substitution and extended globbing and allows them to appear anywhere in a
word.
b. The history library has a new variable that allows applications to set the
initial quoting state, so quoting state can be inherited from a previous
line.
------------------------------------------------------------------------------
This document details the changes between this version, bash-5.0-alpha, and
the previous version, bash-4.4-release.
+121
View File
@@ -1,3 +1,124 @@
This document details the changes between this version, bash-5.0-beta, and
the previous version, bash-5.0-alpha.
1. Changes to Bash
a. Fixed a bug that allowed subshells to "inherit" enclosing loops -- this
is where POSIX says the subshell is not "enclosed" by the loop.
b. Added more UTF-8-specific versions of multibyte functions, and optimized
existing functions if the current locale uses UTF-8 encoding.
c. In POSIX mode, assignments preceding regular builtins should not persist
when the builtin completes.
d. Added additional checks to special array assignment (e.g., BASH_ALIASES)
so it can't be used to bypass validity checks performed in other places.
e. The `!!' history expansion now refers to the previous history entry as
expected, even if used on the second or subsequent line of a multi-line
history entry.
f. Fixed a bug that could cause the shell to dereference a NULL pointer if
the environment (`environ') is set to NULL.
g. Bash uses slightly better integer overflow handling for brace sequence
expansion on systems where ints are 32 bits and intmax_t is 64 bits.
h. Fixed a bug setting attributes for a variable named as an argument to
`declare' that also appears as a nameref in the temporary environment.
i. Fixed several bugs that could cause assignments to namerefs to create
variables with invalid names.
j. Fixed a bug that could result in the SIGINT handler being set incorrectly
in asynchronous subshells.
k. Fixed a bug that could cause `bash -t' to not execute the specified command.
l. Fixed several bugs that caused the shell to operate on the wrong variable
when using namerefs with the same name as a global variable in shell
functions.
m. Internal changes to how the shell handles variables with invalid names in
the initial environment and to prevent variables with invalid names from
being added to the environment instead of passing them on to children.
n. Changes to make sure that an expansion that results in a quoted null string
is reflected in the expansion, even if the word expands to nothing.
o. Changes to make sure that $* and ${array[*]} (and $@/${array[@]}) expand
the same way after the recent changes for POSIX interpretation 888.
p. Saving and restoring the positional parameters at function entry and exit
is considerably more efficient; noticeably so when there are large numbers
of positional parameters.
q. Fixed a bug that caused `lastpipe' and `pipefail' to return an incorrect
status for the pipeline if there was more than one external command in a
loop body appearing in the last pipeline element.
r. Fixed a bug that caused value conversion errors with the printf builtin's
%u and %f conversion specifications and invalid constants.
2. Changes to Readline
a. Added more UTF-8-specific versions of multibyte functions, and optimized
existing functions if the current locale uses UTF-8 encoding.
b. Fixed a problem with bracketed-paste inserting more than one character and
interacting with other readline functions.
c. Fixed a bug that caused the history library to attempt to append a history
line to a non-existent history entry.
d. If using bracketed paste mode, output a newline after the \r that is the
last character of the mode disable string to avoid overwriting output.
e. Fixes to the vi-mode `b', `B', `w', `W', `e', and `E' commands to better
handle multibyte characters.
f. Fixed a redisplay problem that caused an extra newline to be generated on
accept-line when the line is exactly the screenwidth.
3. New Features in Bash
a. Bash no longer allows variable assignments preceding a special builtin that
changes variable attributes to propagate back to the calling environment
unless the compatibility level is 44 or lower.
b. You can set the default value for $HISTSIZE at build time in config-top.h.
c. The `complete' builtin now accepts a -I option that applies the completion
to the initial word on the line.
d. The internal bash malloc now uses mmap (if available) to satisfy requests
greater than 128K bytes, so free can use mfree to return the pages to the
kernel.
e. The shell doesn't automatically set BASH_ARGC and BASH_ARGV at startup
unless it's in debugging mode, as the documentation has always said, but
will dynamically create them if a script references them at the top level
without having enabled debugging mode.
f. The localvar_inherit option will not attempt to inherit a value from a
variable of an incompatible type (indexed vs. associative arrays, for
example).
g. The `globasciiranges' option is now enabled by default; it can be set to
off by default at configuration time.
4. New Features in Readline
a. The history expansion library now understands command and process
substitution and extended globbing and allows them to appear anywhere in a
word.
b. The history library has a new variable that allows applications to set the
initial quoting state, so quoting state can be inherited from a previous
line.
------------------------------------------------------------------------------
This document details the changes between this version, bash-5.0-alpha, and
the previous version, bash-4.4-release.
+51
View File
@@ -4252,3 +4252,54 @@ builtins/printf.def
- getuintmax,getfloatmax: on a conversion error, return as much of the
value as we were able to convert instead of 0. Fixes bug reported
by Robert Elz <kre@bmunnari.OZ.AU>
9/4
---
lib/readline/text.c,lib/readline/rlprivate.h
- _rl_backward_char_internal: new function, guts of rl_backward_char
and rl_backward_byte, not currently used there
lib/readline/vi_mode.c
- _rl_vi_advance_point: new function, move point forward by one
character, handling multibyte locales and characters and the end
of line semantics
- _rl_vi_backup_point: new function, move point backward by one
character, handling multibyte locales and characters
- rl_vi_eword,rl_vi_eWord: use rl_vi_advance_point instead of a simple
increment to handle multibyte characters. Fixes bug reported by
Enrico Maria De Angelis <enricomaria.dean6elis@gmail.com>
9/5
---
lib/readline/vi_mode.c
- rl_vi_fword,rl_vi_fWord: use rl_vi_advance_point instead of a simple
increment to handle multibyte characters
- rl_vi_bword,rl_vi_bWord: use rl_vi_backup_point instead of a simple
decrement (and _rl_vi_advance_point where necessary) to handle
multibyte characters
- rl_vi_complete,_rl_vi_change_mbchar_case,_rl_vi_domove_motion_cleanup:
use _rl_vi_advance_point instead of simple rl_point increment
- vi_delete_dispatch,vi_change_dispatch,vi_yank_dispatch: use
INCREMENT_POS instead of a simple increment to rl_mark to handle
multibyte characters
- rl_vi_column: use _rl_forward_char_internal, starting with
rl_point == 0, to handle multibyte characters (Posix says `character
position', not index)
9/7
---
configure.ac
- changed release status to `beta'
9/9
---
lib/readline/display.c
- _rl_update_final: if the bottom line has zero characters and we are
on that line at column 0, don't bother with an additional \r\n.
Fixes redisplay nit reported by Per Bothner <per@bothner.com>
configure.ac
- openbsd needs DEV_FD_STAT_BROKEN defined
[bash-5.0-beta frozen]
+2 -2
View File
@@ -248,8 +248,8 @@ and linked, rather than changing run-time features.
'--enable-largefile'
Enable support for large files
(http://www.sas.com/standards/large_file/x_open.20Mar96.html) if
the operating system requires special compiler options to build
(http://www.unix.org/version2/whatsnew/lfs20mar.html) if the
operating system requires special compiler options to build
programs which can access large files. This is enabled by default,
if the operating system provides large file support.
+33
View File
@@ -85,6 +85,31 @@ z. The `times' builtin now honors the current locale when printing a decimal
aa. There is a new (disabled by default, undocumented) shell option to enable
and disable sending history to syslog at runtime.
bb. Bash no longer allows variable assignments preceding a special builtin that
changes variable attributes to propagate back to the calling environment
unless the compatibility level is 44 or lower.
cc. You can set the default value for $HISTSIZE at build time in config-top.h.
dd. The `complete' builtin now accepts a -I option that applies the completion
to the initial word on the line.
ee. The internal bash malloc now uses mmap (if available) to satisfy requests
greater than 128K bytes, so free can use mfree to return the pages to the
kernel.
ff. The shell doesn't automatically set BASH_ARGC and BASH_ARGV at startup
unless it's in debugging mode, as the documentation has always said, but
will dynamically create them if a script references them at the top level
without having enabled debugging mode.
gg. The localvar_inherit option will not attempt to inherit a value from a
variable of an incompatible type (indexed vs. associative arrays, for
example).
hh. The `globasciiranges' option is now enabled by default; it can be set to
off by default at configuration time.
2. New Features in Readline
a. Non-incremental vi-mode search (`N', `n') can search for a shell pattern, as
@@ -112,6 +137,14 @@ g. There is a simple variable comparison facility available for use within an
either `on' or `off'; variable names are separated from the operator by
whitespace.
h. The history expansion library now understands command and process
substitution and extended globbing and allows them to appear anywhere in a
word.
i. The history library has a new variable that allows applications to set the
initial quoting state, so quoting state can be inherited from a previous
line.
-------------------------------------------------------------------------------
This is a terse description of the new features added to bash-4.4 since
the release of bash-4.3. As always, the manual page (doc/bash.1) is
+33
View File
@@ -85,6 +85,31 @@ z. The `times' builtin now honors the current locale when printing a decimal
aa. There is a new (disabled by default, undocumented) shell option to enable
and disable sending history to syslog at runtime.
bb. Bash no longer allows variable assignments preceding a special builtin that
changes variable attributes to propagate back to the calling environment
unless the compatibility level is 44 or lower.
cc. You can set the default value for $HISTSIZE at build time in config-top.h.
dd. The `complete' builtin now accepts a -I option that applies the completion
to the initial word on the line.
ee. The internal bash malloc now uses mmap (if available) to satisfy requests
greater than 128K bytes, so free can use mfree to return the pages to the
kernel.
ff. The shell doesn't automatically set BASH_ARGC and BASH_ARGV at startup
unless it's in debugging mode, as the documentation has always said, but
will dynamically create them if a script references them at the top level
without having enabled debugging mode.
gg. The localvar_inherit option will not attempt to inherit a value from a
variable of an incompatible type (indexed vs. associative arrays, for
example).
hh. The `globasciiranges' option is now enabled by default; it can be set to
off by default at configuration time.
2. New Features in Readline
a. Non-incremental vi-mode search (`N', `n') can search for a shell pattern, as
@@ -111,3 +136,11 @@ g. There is a simple variable comparison facility available for use within an
variables may be compared to a value; boolean variables must be compared to
either `on' or `off'; variable names are separated from the operator by
whitespace.
h. The history expansion library now understands command and process
substitution and extended globbing and allows them to appear anywhere in a
word.
i. The history library has a new variable that allows applications to set the
initial quoting state, so quoting state can be inherited from a previous
line.
+58 -56
View File
@@ -11,212 +11,214 @@ files.
The following list is what's changed when 'POSIX mode' is in effect:
1. When a command in the hash table no longer exists, Bash will
1. Bash ensures that the 'POSIXLY_CORRECT' variable is set.
2. When a command in the hash table no longer exists, Bash will
re-search '$PATH' to find the new location. This is also available
with 'shopt -s checkhash'.
2. The message printed by the job control code and builtins when a job
3. The message printed by the job control code and builtins when a job
exits with a non-zero status is 'Done(status)'.
3. The message printed by the job control code and builtins when a job
4. The message printed by the job control code and builtins when a job
is stopped is 'Stopped(SIGNAME)', where SIGNAME is, for example,
'SIGTSTP'.
4. Alias expansion is always enabled, even in non-interactive shells.
5. Alias expansion is always enabled, even in non-interactive shells.
5. Reserved words appearing in a context where reserved words are
6. Reserved words appearing in a context where reserved words are
recognized do not undergo alias expansion.
6. The POSIX 'PS1' and 'PS2' expansions of '!' to the history number
7. The POSIX 'PS1' and 'PS2' expansions of '!' to the history number
and '!!' to '!' are enabled, and parameter expansion is performed
on the values of 'PS1' and 'PS2' regardless of the setting of the
'promptvars' option.
7. The POSIX startup files are executed ('$ENV') rather than the
8. The POSIX startup files are executed ('$ENV') rather than the
normal Bash files.
8. Tilde expansion is only performed on assignments preceding a
9. Tilde expansion is only performed on assignments preceding a
command name, rather than on all assignment statements on the line.
9. The default history file is '~/.sh_history' (this is the default
10. The default history file is '~/.sh_history' (this is the default
value of '$HISTFILE').
10. Redirection operators do not perform filename expansion on the
11. Redirection operators do not perform filename expansion on the
word in the redirection unless the shell is interactive.
11. Redirection operators do not perform word splitting on the word in
12. Redirection operators do not perform word splitting on the word in
the redirection.
12. Function names must be valid shell 'name's. That is, they may not
13. Function names must be valid shell 'name's. That is, they may not
contain characters other than letters, digits, and underscores, and
may not start with a digit. Declaring a function with an invalid
name causes a fatal syntax error in non-interactive shells.
13. Function names may not be the same as one of the POSIX special
14. Function names may not be the same as one of the POSIX special
builtins.
14. POSIX special builtins are found before shell functions during
15. POSIX special builtins are found before shell functions during
command lookup.
15. When printing shell function definitions (e.g., by 'type'), Bash
16. When printing shell function definitions (e.g., by 'type'), Bash
does not print the 'function' keyword.
16. Literal tildes that appear as the first character in elements of
17. Literal tildes that appear as the first character in elements of
the 'PATH' variable are not expanded as described above under *note
Tilde Expansion::.
17. The 'time' reserved word may be used by itself as a command. When
18. The 'time' reserved word may be used by itself as a command. When
used in this way, it displays timing statistics for the shell and
its completed children. The 'TIMEFORMAT' variable controls the
format of the timing information.
18. When parsing and expanding a ${...} expansion that appears within
19. When parsing and expanding a ${...} expansion that appears within
double quotes, single quotes are no longer special and cannot be
used to quote a closing brace or other special character, unless
the operator is one of those defined to perform pattern removal.
In this case, they do not have to appear as matched pairs.
19. The parser does not recognize 'time' as a reserved word if the
20. The parser does not recognize 'time' as a reserved word if the
next token begins with a '-'.
20. The '!' character does not introduce history expansion within a
21. The '!' character does not introduce history expansion within a
double-quoted string, even if the 'histexpand' option is enabled.
21. If a POSIX special builtin returns an error status, a
22. If a POSIX special builtin returns an error status, a
non-interactive shell exits. The fatal errors are those listed in
the POSIX standard, and include things like passing incorrect
options, redirection errors, variable assignment errors for
assignments preceding the command name, and so on.
22. A non-interactive shell exits with an error status if a variable
23. A non-interactive shell exits with an error status if a variable
assignment error occurs when no command name follows the assignment
statements. A variable assignment error occurs, for example, when
trying to assign a value to a readonly variable.
23. A non-interactive shell exits with an error status if a variable
24. A non-interactive shell exits with an error status if a variable
assignment error occurs in an assignment statement preceding a
special builtin, but not with any other simple command.
24. A non-interactive shell exits with an error status if the
25. A non-interactive shell exits with an error status if the
iteration variable in a 'for' statement or the selection variable
in a 'select' statement is a readonly variable.
25. Non-interactive shells exit if FILENAME in '.' FILENAME is not
26. Non-interactive shells exit if FILENAME in '.' FILENAME is not
found.
26. Non-interactive shells exit if a syntax error in an arithmetic
27. Non-interactive shells exit if a syntax error in an arithmetic
expansion results in an invalid expression.
27. Non-interactive shells exit if a parameter expansion error occurs.
28. Non-interactive shells exit if a parameter expansion error occurs.
28. Non-interactive shells exit if there is a syntax error in a script
29. Non-interactive shells exit if there is a syntax error in a script
read with the '.' or 'source' builtins, or in a string processed by
the 'eval' builtin.
29. Process substitution is not available.
30. Process substitution is not available.
30. While variable indirection is available, it may not be applied to
31. While variable indirection is available, it may not be applied to
the '#' and '?' special parameters.
31. When expanding the '*' special parameter in a pattern context
32. When expanding the '*' special parameter in a pattern context
where the expansion is double-quoted does not treat the '$*' as if
it were double-quoted.
32. Assignment statements preceding POSIX special builtins persist in
33. Assignment statements preceding POSIX special builtins persist in
the shell environment after the builtin completes.
33. Assignment statements preceding shell function calls persist in
34. Assignment statements preceding shell function calls persist in
the shell environment after the function returns, as if a POSIX
special builtin command had been executed.
34. The 'command' builtin does not prevent builtins that take
35. The 'command' builtin does not prevent builtins that take
assignment statements as arguments from expanding them as
assignment statements; when not in POSIX mode, assignment builtins
lose their assignment statement expansion properties when preceded
by 'command'.
35. The 'bg' builtin uses the required format to describe each job
36. The 'bg' builtin uses the required format to describe each job
placed in the background, which does not include an indication of
whether the job is the current or previous job.
36. The output of 'kill -l' prints all the signal names on a single
37. The output of 'kill -l' prints all the signal names on a single
line, separated by spaces, without the 'SIG' prefix.
37. The 'kill' builtin does not accept signal names with a 'SIG'
38. The 'kill' builtin does not accept signal names with a 'SIG'
prefix.
38. The 'export' and 'readonly' builtin commands display their output
39. The 'export' and 'readonly' builtin commands display their output
in the format required by POSIX.
39. The 'trap' builtin displays signal names without the leading
40. The 'trap' builtin displays signal names without the leading
'SIG'.
40. The 'trap' builtin doesn't check the first argument for a possible
41. The 'trap' builtin doesn't check the first argument for a possible
signal specification and revert the signal handling to the original
disposition if it is, unless that argument consists solely of
digits and is a valid signal number. If users want to reset the
handler for a given signal to the original disposition, they should
use '-' as the first argument.
41. The '.' and 'source' builtins do not search the current directory
42. The '.' and 'source' builtins do not search the current directory
for the filename argument if it is not found by searching 'PATH'.
42. Enabling POSIX mode has the effect of setting the
43. Enabling POSIX mode has the effect of setting the
'inherit_errexit' option, so subshells spawned to execute command
substitutions inherit the value of the '-e' option from the parent
shell. When the 'inherit_errexit' option is not enabled, Bash
clears the '-e' option in such subshells.
43. When the 'alias' builtin displays alias definitions, it does not
44. When the 'alias' builtin displays alias definitions, it does not
display them with a leading 'alias ' unless the '-p' option is
supplied.
44. When the 'set' builtin is invoked without options, it does not
45. When the 'set' builtin is invoked without options, it does not
display shell function names and definitions.
45. When the 'set' builtin is invoked without options, it displays
46. When the 'set' builtin is invoked without options, it displays
variable values without quotes, unless they contain shell
metacharacters, even if the result contains nonprinting characters.
46. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname
47. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname
constructed from '$PWD' and the directory name supplied as an
argument does not refer to an existing directory, 'cd' will fail
instead of falling back to PHYSICAL mode.
47. The 'pwd' builtin verifies that the value it prints is the same as
48. The 'pwd' builtin verifies that the value it prints is the same as
the current directory, even if it is not asked to check the file
system with the '-P' option.
48. When listing the history, the 'fc' builtin does not include an
49. When listing the history, the 'fc' builtin does not include an
indication of whether or not a history entry has been modified.
49. The default editor used by 'fc' is 'ed'.
50. The default editor used by 'fc' is 'ed'.
50. The 'type' and 'command' builtins will not report a non-executable
51. The 'type' and 'command' builtins will not report a non-executable
file as having been found, though the shell will attempt to execute
such a file if it is the only so-named file found in '$PATH'.
51. The 'vi' editing mode will invoke the 'vi' editor directly when
52. The 'vi' editing mode will invoke the 'vi' editor directly when
the 'v' command is run, instead of checking '$VISUAL' and
'$EDITOR'.
52. When the 'xpg_echo' option is enabled, Bash does not attempt to
53. When the 'xpg_echo' option is enabled, Bash does not attempt to
interpret any arguments to 'echo' as options. Each argument is
displayed, after escape characters are converted.
53. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
54. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
and '-f' options.
54. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not
55. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not
interrupt the 'wait' builtin and cause it to return immediately.
The trap command is run once for each child that exits.
55. The 'read' builtin may be interrupted by a signal for which a trap
56. The 'read' builtin may be interrupted by a signal for which a trap
has been set. If Bash receives a trapped signal while executing
'read', the trap handler executes and 'read' returns an exit status
greater than 128.
56. Bash removes an exited background process's status from the list
57. Bash removes an exited background process's status from the list
of such statuses after the 'wait' builtin is used to obtain it.
There is other POSIX behavior that Bash does not implement by default
Vendored
+12 -11
View File
@@ -1,7 +1,7 @@
#! /bin/sh
# From configure.ac for Bash 5.0, version 4.095.
# From configure.ac for Bash 5.0, version 5.002.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for bash 5.0-alpha.
# Generated by GNU Autoconf 2.69 for bash 5.0-beta.
#
# Report bugs to <bug-bash@gnu.org>.
#
@@ -581,8 +581,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='bash'
PACKAGE_TARNAME='bash'
PACKAGE_VERSION='5.0-alpha'
PACKAGE_STRING='bash 5.0-alpha'
PACKAGE_VERSION='5.0-beta'
PACKAGE_STRING='bash 5.0-beta'
PACKAGE_BUGREPORT='bug-bash@gnu.org'
PACKAGE_URL=''
@@ -1394,7 +1394,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures bash 5.0-alpha to adapt to many kinds of systems.
\`configure' configures bash 5.0-beta to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1459,7 +1459,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of bash 5.0-alpha:";;
short | recursive ) echo "Configuration of bash 5.0-beta:";;
esac
cat <<\_ACEOF
@@ -1655,7 +1655,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
bash configure 5.0-alpha
bash configure 5.0-beta
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2364,7 +2364,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by bash $as_me 5.0-alpha, which was
It was created by bash $as_me 5.0-beta, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2759,7 +2759,7 @@ ac_config_headers="$ac_config_headers config.h"
BASHVERS=5.0
RELSTATUS=alpha
RELSTATUS=beta
case "$RELSTATUS" in
alp*|bet*|dev*|rc*|releng*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
@@ -16180,6 +16180,7 @@ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
*) $as_echo "#define PGRP_PIPE 1" >>confdefs.h
;;
esac ;;
openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;;
*qnx[67]*) LOCAL_LIBS="-lncurses" ;;
*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
powerux*) LOCAL_LIBS="-lgen" ;;
@@ -16820,7 +16821,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by bash $as_me 5.0-alpha, which was
This file was extended by bash $as_me 5.0-beta, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16886,7 +16887,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
bash config.status 5.0-alpha
bash config.status 5.0-beta
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
+3 -2
View File
@@ -21,10 +21,10 @@ dnl Process this file with autoconf to produce a configure script.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
AC_REVISION([for Bash 5.0, version 4.095])dnl
AC_REVISION([for Bash 5.0, version 5.002])dnl
define(bashvers, 5.0)
define(relstatus, alpha)
define(relstatus, beta)
AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
@@ -1116,6 +1116,7 @@ linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
1.*|2.[[0123]]*) : ;;
*) AC_DEFINE(PGRP_PIPE) ;;
esac ;;
openbsd*) LOCAL_CFLAGS="-DDEV_FD_STAT_BROKEN" ;;
*qnx[[67]]*) LOCAL_LIBS="-lncurses" ;;
*qnx*) LOCAL_CFLAGS="-Dqnx -F -3s" LOCAL_LDFLAGS="-3s" LOCAL_LIBS="-lunix -lncurses" ;;
powerux*) LOCAL_LIBS="-lgen" ;;
+2069 -2056
View File
File diff suppressed because it is too large Load Diff
+31 -10
View File
@@ -3,7 +3,7 @@
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2018 June 8<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2018 August 7<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
@@ -2896,6 +2896,12 @@ startup file, overriding the default of
</FONT>
below).
<DT><B>INSIDE_EMACS</B>
<DD>
If this variable appears in the environment when the shell starts,
<B>bash</B> assumes that it is running inside an Emacs shell buffer
and may disable line editing, depending on the value of <B>TERM</B>.
<DT><B>LANG</B>
<DD>
@@ -3052,6 +3058,8 @@ running, <B>bash</B> enables <I>posix mode</I>, as if the command
<TT>set -o posix</TT>
had been executed.
When the shell enters <I>posix mode</I>, it sets this variable if it was
not already set.
<DT><B>PROMPT_COMMAND</B>
<DD>
@@ -3707,6 +3715,16 @@ and
</FONT>
and the shell assigns the expanded value.
<P>
Bash also performs tilde expansion on words satisfying the conditions of
variable assignments (as described above under
<FONT SIZE=-1><B>PARAMETERS</B>)
</FONT>
when they appear as arguments to simple commands.
Bash does not do this, except for the <I>declaration</I> commands listed
above, when in <I>posix mode</I>.
<A NAME="lbBB">&nbsp;</A>
<H4>Parameter Expansion</H4>
@@ -9768,18 +9786,21 @@ them to be reused as input.
The <B>-r</B> option removes a completion specification for
each <I>name</I>, or, if no <I>name</I>s are supplied, all
completion specifications.
The <B>-D</B> option indicates that the remaining options and actions should
The <B>-D</B> option indicates that other supplied options and actions should
apply to the ``default'' command completion; that is, completion attempted
on a command for which no completion has previously been defined.
The <B>-E</B> option indicates that the remaining options and actions should
The <B>-E</B> option indicates that other supplied options and actions should
apply to ``empty'' command completion; that is, completion attempted on a
blank line.
The <B>-I</B> option indicates that the remaining options and actions should
The <B>-I</B> option indicates that other supplied options and actions should
apply to completion on the inital non-assignment word on the line, or after
a command delimiter such as <B>;</B> or <B>|</B>, which is usually command
name completion.
If multiple options are supplied, the <B>-D</B> option takes precedence
over <B>-E</B>, and both take precedence of <B>-I</B>.
over <B>-E</B>, and both take precedence over <B>-I</B>.
If any of <B>-D</B>, <B>-E</B>, or <B>-I</B> are supplied, any other
<I>name</I> arguments are ignored; these completions only apply to the case
specified by the option.
<P>
The process of applying these completion specifications when word completion
is attempted is described above under <B>Programmable Completion</B>.
@@ -10018,13 +10039,13 @@ If no <I>option</I>s are given, display the completion options for each
<I>name</I> or the current completion.
The possible values of <I>option</I> are those valid for the <B>complete</B>
builtin described above.
The <B>-D</B> option indicates that the remaining options should
The <B>-D</B> option indicates that other supplied options should
apply to the ``default'' command completion; that is, completion attempted
on a command for which no completion has previously been defined.
The <B>-E</B> option indicates that the remaining options should
The <B>-E</B> option indicates that other supplied options should
apply to ``empty'' command completion; that is, completion attempted on a
blank line.
The <B>-I</B> option indicates that the remaining options should
The <B>-I</B> option indicates that other supplied options should
apply to completion on the inital non-assignment word on the line,
or after a command delimiter such as <B>;</B> or <B>|</B>, which is usually
command name completion.
@@ -13871,7 +13892,7 @@ There may be only one active coprocess at a time.
<HR>
<TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>GNU Bash 5.0<TH ALIGN=CENTER width=33%>2018 June 8<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>GNU Bash 5.0<TH ALIGN=CENTER width=33%>2018 August 7<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
@@ -13977,6 +13998,6 @@ There may be only one active coprocess at a time.
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
Time: 16 July 2018 10:36:49 EDT
Time: 07 September 2018 16:15:28 EDT
</BODY>
</HTML>
+252 -235
View File
@@ -2,9 +2,9 @@ This is bash.info, produced by makeinfo version 6.5 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.0, 8 June 2018).
Bash shell (version 5.0, 7 August 2018).
This is Edition 5.0, last updated 8 June 2018, of 'The GNU Bash
This is Edition 5.0, last updated 7 August 2018, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.0.
Copyright (C) 1988-2018 Free Software Foundation, Inc.
@@ -27,10 +27,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 5.0, 8 June 2018). The Bash home page is
Bash shell (version 5.0, 7 August 2018). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.0, last updated 8 June 2018, of 'The GNU Bash
This is Edition 5.0, last updated 7 August 2018, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.0.
Bash contains features that appear in other popular shells, and some
@@ -1645,6 +1645,11 @@ assigns the expanded value.
'~-N'
The string that would be displayed by 'dirs -N'
Bash also performs tilde expansion on words satisfying the conditions
of variable assignments (*note Shell Parameters::) when they appear as
arguments to simple commands. Bash does not do this, except for the
DECLARATION commands listed above, when in POSIX mode.

File: bash.info, Node: Shell Parameter Expansion, Next: Command Substitution, Prev: Tilde Expansion, Up: Shell Expansions
@@ -5255,6 +5260,12 @@ Variables::).
The name of the Readline initialization file, overriding the
default of '~/.inputrc'.
'INSIDE_EMACS'
If Bash finds this variable in the environment when the shell
starts, it assumes that the shell is running in an Emacs shell
buffer and may disable line editing depending on the value of
'TERM'.
'LANG'
Used to determine the locale category for any category not
specifically selected with a variable starting with 'LC_'.
@@ -5335,7 +5346,8 @@ Variables::).
supplied. If it is set while the shell is running, Bash enables
POSIX mode, as if the command
set -o posix
had been executed.
had been executed. When the shell enters POSIX mode, it sets this
variable if it was not already set.
'PPID'
The process ID of the shell's parent process. This variable is
@@ -6533,212 +6545,214 @@ startup files.
The following list is what's changed when 'POSIX mode' is in effect:
1. When a command in the hash table no longer exists, Bash will
1. Bash ensures that the 'POSIXLY_CORRECT' variable is set.
2. When a command in the hash table no longer exists, Bash will
re-search '$PATH' to find the new location. This is also available
with 'shopt -s checkhash'.
2. The message printed by the job control code and builtins when a job
3. The message printed by the job control code and builtins when a job
exits with a non-zero status is 'Done(status)'.
3. The message printed by the job control code and builtins when a job
4. The message printed by the job control code and builtins when a job
is stopped is 'Stopped(SIGNAME)', where SIGNAME is, for example,
'SIGTSTP'.
4. Alias expansion is always enabled, even in non-interactive shells.
5. Alias expansion is always enabled, even in non-interactive shells.
5. Reserved words appearing in a context where reserved words are
6. Reserved words appearing in a context where reserved words are
recognized do not undergo alias expansion.
6. The POSIX 'PS1' and 'PS2' expansions of '!' to the history number
7. The POSIX 'PS1' and 'PS2' expansions of '!' to the history number
and '!!' to '!' are enabled, and parameter expansion is performed
on the values of 'PS1' and 'PS2' regardless of the setting of the
'promptvars' option.
7. The POSIX startup files are executed ('$ENV') rather than the
8. The POSIX startup files are executed ('$ENV') rather than the
normal Bash files.
8. Tilde expansion is only performed on assignments preceding a
9. Tilde expansion is only performed on assignments preceding a
command name, rather than on all assignment statements on the line.
9. The default history file is '~/.sh_history' (this is the default
10. The default history file is '~/.sh_history' (this is the default
value of '$HISTFILE').
10. Redirection operators do not perform filename expansion on the
11. Redirection operators do not perform filename expansion on the
word in the redirection unless the shell is interactive.
11. Redirection operators do not perform word splitting on the word in
12. Redirection operators do not perform word splitting on the word in
the redirection.
12. Function names must be valid shell 'name's. That is, they may not
13. Function names must be valid shell 'name's. That is, they may not
contain characters other than letters, digits, and underscores, and
may not start with a digit. Declaring a function with an invalid
name causes a fatal syntax error in non-interactive shells.
13. Function names may not be the same as one of the POSIX special
14. Function names may not be the same as one of the POSIX special
builtins.
14. POSIX special builtins are found before shell functions during
15. POSIX special builtins are found before shell functions during
command lookup.
15. When printing shell function definitions (e.g., by 'type'), Bash
16. When printing shell function definitions (e.g., by 'type'), Bash
does not print the 'function' keyword.
16. Literal tildes that appear as the first character in elements of
17. Literal tildes that appear as the first character in elements of
the 'PATH' variable are not expanded as described above under *note
Tilde Expansion::.
17. The 'time' reserved word may be used by itself as a command. When
18. The 'time' reserved word may be used by itself as a command. When
used in this way, it displays timing statistics for the shell and
its completed children. The 'TIMEFORMAT' variable controls the
format of the timing information.
18. When parsing and expanding a ${...} expansion that appears within
19. When parsing and expanding a ${...} expansion that appears within
double quotes, single quotes are no longer special and cannot be
used to quote a closing brace or other special character, unless
the operator is one of those defined to perform pattern removal.
In this case, they do not have to appear as matched pairs.
19. The parser does not recognize 'time' as a reserved word if the
20. The parser does not recognize 'time' as a reserved word if the
next token begins with a '-'.
20. The '!' character does not introduce history expansion within a
21. The '!' character does not introduce history expansion within a
double-quoted string, even if the 'histexpand' option is enabled.
21. If a POSIX special builtin returns an error status, a
22. If a POSIX special builtin returns an error status, a
non-interactive shell exits. The fatal errors are those listed in
the POSIX standard, and include things like passing incorrect
options, redirection errors, variable assignment errors for
assignments preceding the command name, and so on.
22. A non-interactive shell exits with an error status if a variable
23. A non-interactive shell exits with an error status if a variable
assignment error occurs when no command name follows the assignment
statements. A variable assignment error occurs, for example, when
trying to assign a value to a readonly variable.
23. A non-interactive shell exits with an error status if a variable
24. A non-interactive shell exits with an error status if a variable
assignment error occurs in an assignment statement preceding a
special builtin, but not with any other simple command.
24. A non-interactive shell exits with an error status if the
25. A non-interactive shell exits with an error status if the
iteration variable in a 'for' statement or the selection variable
in a 'select' statement is a readonly variable.
25. Non-interactive shells exit if FILENAME in '.' FILENAME is not
26. Non-interactive shells exit if FILENAME in '.' FILENAME is not
found.
26. Non-interactive shells exit if a syntax error in an arithmetic
27. Non-interactive shells exit if a syntax error in an arithmetic
expansion results in an invalid expression.
27. Non-interactive shells exit if a parameter expansion error occurs.
28. Non-interactive shells exit if a parameter expansion error occurs.
28. Non-interactive shells exit if there is a syntax error in a script
29. Non-interactive shells exit if there is a syntax error in a script
read with the '.' or 'source' builtins, or in a string processed by
the 'eval' builtin.
29. Process substitution is not available.
30. Process substitution is not available.
30. While variable indirection is available, it may not be applied to
31. While variable indirection is available, it may not be applied to
the '#' and '?' special parameters.
31. When expanding the '*' special parameter in a pattern context
32. When expanding the '*' special parameter in a pattern context
where the expansion is double-quoted does not treat the '$*' as if
it were double-quoted.
32. Assignment statements preceding POSIX special builtins persist in
33. Assignment statements preceding POSIX special builtins persist in
the shell environment after the builtin completes.
33. Assignment statements preceding shell function calls persist in
34. Assignment statements preceding shell function calls persist in
the shell environment after the function returns, as if a POSIX
special builtin command had been executed.
34. The 'command' builtin does not prevent builtins that take
35. The 'command' builtin does not prevent builtins that take
assignment statements as arguments from expanding them as
assignment statements; when not in POSIX mode, assignment builtins
lose their assignment statement expansion properties when preceded
by 'command'.
35. The 'bg' builtin uses the required format to describe each job
36. The 'bg' builtin uses the required format to describe each job
placed in the background, which does not include an indication of
whether the job is the current or previous job.
36. The output of 'kill -l' prints all the signal names on a single
37. The output of 'kill -l' prints all the signal names on a single
line, separated by spaces, without the 'SIG' prefix.
37. The 'kill' builtin does not accept signal names with a 'SIG'
38. The 'kill' builtin does not accept signal names with a 'SIG'
prefix.
38. The 'export' and 'readonly' builtin commands display their output
39. The 'export' and 'readonly' builtin commands display their output
in the format required by POSIX.
39. The 'trap' builtin displays signal names without the leading
40. The 'trap' builtin displays signal names without the leading
'SIG'.
40. The 'trap' builtin doesn't check the first argument for a possible
41. The 'trap' builtin doesn't check the first argument for a possible
signal specification and revert the signal handling to the original
disposition if it is, unless that argument consists solely of
digits and is a valid signal number. If users want to reset the
handler for a given signal to the original disposition, they should
use '-' as the first argument.
41. The '.' and 'source' builtins do not search the current directory
42. The '.' and 'source' builtins do not search the current directory
for the filename argument if it is not found by searching 'PATH'.
42. Enabling POSIX mode has the effect of setting the
43. Enabling POSIX mode has the effect of setting the
'inherit_errexit' option, so subshells spawned to execute command
substitutions inherit the value of the '-e' option from the parent
shell. When the 'inherit_errexit' option is not enabled, Bash
clears the '-e' option in such subshells.
43. When the 'alias' builtin displays alias definitions, it does not
44. When the 'alias' builtin displays alias definitions, it does not
display them with a leading 'alias ' unless the '-p' option is
supplied.
44. When the 'set' builtin is invoked without options, it does not
45. When the 'set' builtin is invoked without options, it does not
display shell function names and definitions.
45. When the 'set' builtin is invoked without options, it displays
46. When the 'set' builtin is invoked without options, it displays
variable values without quotes, unless they contain shell
metacharacters, even if the result contains nonprinting characters.
46. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname
47. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname
constructed from '$PWD' and the directory name supplied as an
argument does not refer to an existing directory, 'cd' will fail
instead of falling back to PHYSICAL mode.
47. The 'pwd' builtin verifies that the value it prints is the same as
48. The 'pwd' builtin verifies that the value it prints is the same as
the current directory, even if it is not asked to check the file
system with the '-P' option.
48. When listing the history, the 'fc' builtin does not include an
49. When listing the history, the 'fc' builtin does not include an
indication of whether or not a history entry has been modified.
49. The default editor used by 'fc' is 'ed'.
50. The default editor used by 'fc' is 'ed'.
50. The 'type' and 'command' builtins will not report a non-executable
51. The 'type' and 'command' builtins will not report a non-executable
file as having been found, though the shell will attempt to execute
such a file if it is the only so-named file found in '$PATH'.
51. The 'vi' editing mode will invoke the 'vi' editor directly when
52. The 'vi' editing mode will invoke the 'vi' editor directly when
the 'v' command is run, instead of checking '$VISUAL' and
'$EDITOR'.
52. When the 'xpg_echo' option is enabled, Bash does not attempt to
53. When the 'xpg_echo' option is enabled, Bash does not attempt to
interpret any arguments to 'echo' as options. Each argument is
displayed, after escape characters are converted.
53. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
54. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
and '-f' options.
54. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not
55. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not
interrupt the 'wait' builtin and cause it to return immediately.
The trap command is run once for each child that exits.
55. The 'read' builtin may be interrupted by a signal for which a trap
56. The 'read' builtin may be interrupted by a signal for which a trap
has been set. If Bash receives a trapped signal while executing
'read', the trap handler executes and 'read' returns an exit status
greater than 128.
56. Bash removes an exited background process's status from the list
57. Bash removes an exited background process's status from the list
of such statuses after the 'wait' builtin is used to obtain it.
There is other POSIX behavior that Bash does not implement by default
@@ -8769,18 +8783,20 @@ happening.
completion specifications are printed in a way that allows them to
be reused as input. The '-r' option removes a completion
specification for each NAME, or, if no NAMEs are supplied, all
completion specifications. The '-D' option indicates that the
remaining options and actions should apply to the "default" command
completion specifications. The '-D' option indicates that other
supplied options and actions should apply to the "default" command
completion; that is, completion attempted on a command for which no
completion has previously been defined. The '-E' option indicates
that the remaining options and actions should apply to "empty"
that other supplied options and actions should apply to "empty"
command completion; that is, completion attempted on a blank line.
The '-I' option indicates that the remaining options and actions
The '-I' option indicates that other supplied options and actions
should apply to completion on the inital non-assignment word on the
line, or after a command delimiter such as ';' or '|', which is
usually command name completion. If multiple options are supplied,
the '-D' option takes precedence over '-E', and both take
precedence over '-I'.
precedence over '-I'. If any of '-D', '-E', or '-I' are supplied,
any other NAME arguments are ignored; these completions only apply
to the case specified by the option.
The process of applying these completion specifications when word
completion is attempted is described above (*note Programmable
@@ -8970,12 +8986,12 @@ happening.
If no OPTIONs are given, display the completion options for each
NAME or the current completion. The possible values of OPTION are
those valid for the 'complete' builtin described above. The '-D'
option indicates that the remaining options should apply to the
option indicates that other supplied options should apply to the
"default" command completion; that is, completion attempted on a
command for which no completion has previously been defined. The
'-E' option indicates that the remaining options should apply to
'-E' option indicates that other supplied options should apply to
"empty" command completion; that is, completion attempted on a
blank line. The '-I' option indicates that the remaining options
blank line. The '-I' option indicates that other supplied options
should apply to completion on the inital non-assignment word on the
line, or after a command delimiter such as ';' or '|', which is
usually command name completion.
@@ -10924,7 +10940,7 @@ D.1 Index of Shell Builtin Commands
* complete: Programmable Completion Builtins.
(line 30)
* compopt: Programmable Completion Builtins.
(line 235)
(line 237)
* continue: Bourne Shell Builtins.
(line 85)
* declare: Bash Builtins. (line 148)
@@ -11178,27 +11194,28 @@ D.3 Parameter and Variable Index
* input-meta: Readline Init File Syntax.
(line 187)
* INPUTRC: Bash Variables. (line 459)
* INSIDE_EMACS: Bash Variables. (line 463)
* isearch-terminators: Readline Init File Syntax.
(line 195)
* keymap: Readline Init File Syntax.
(line 202)
* LANG: Bash Variables. (line 463)
* LC_ALL: Bash Variables. (line 467)
* LC_COLLATE: Bash Variables. (line 471)
* LC_CTYPE: Bash Variables. (line 478)
* LANG: Bash Variables. (line 469)
* LC_ALL: Bash Variables. (line 473)
* LC_COLLATE: Bash Variables. (line 477)
* LC_CTYPE: Bash Variables. (line 484)
* LC_MESSAGES: Locale Translation. (line 11)
* LC_MESSAGES <1>: Bash Variables. (line 483)
* LC_NUMERIC: Bash Variables. (line 487)
* LC_TIME: Bash Variables. (line 491)
* LINENO: Bash Variables. (line 495)
* LINES: Bash Variables. (line 499)
* MACHTYPE: Bash Variables. (line 505)
* LC_MESSAGES <1>: Bash Variables. (line 489)
* LC_NUMERIC: Bash Variables. (line 493)
* LC_TIME: Bash Variables. (line 497)
* LINENO: Bash Variables. (line 501)
* LINES: Bash Variables. (line 505)
* MACHTYPE: Bash Variables. (line 511)
* MAIL: Bourne Shell Variables.
(line 22)
* MAILCHECK: Bash Variables. (line 509)
* MAILCHECK: Bash Variables. (line 515)
* MAILPATH: Bourne Shell Variables.
(line 27)
* MAPFILE: Bash Variables. (line 517)
* MAPFILE: Bash Variables. (line 523)
* mark-modified-lines: Readline Init File Syntax.
(line 232)
* mark-symlinked-directories: Readline Init File Syntax.
@@ -11209,42 +11226,42 @@ D.3 Parameter and Variable Index
(line 249)
* meta-flag: Readline Init File Syntax.
(line 187)
* OLDPWD: Bash Variables. (line 521)
* OLDPWD: Bash Variables. (line 527)
* OPTARG: Bourne Shell Variables.
(line 34)
* OPTERR: Bash Variables. (line 524)
* OPTERR: Bash Variables. (line 530)
* OPTIND: Bourne Shell Variables.
(line 38)
* OSTYPE: Bash Variables. (line 528)
* OSTYPE: Bash Variables. (line 534)
* output-meta: Readline Init File Syntax.
(line 254)
* page-completions: Readline Init File Syntax.
(line 260)
* PATH: Bourne Shell Variables.
(line 42)
* PIPESTATUS: Bash Variables. (line 531)
* POSIXLY_CORRECT: Bash Variables. (line 536)
* PPID: Bash Variables. (line 545)
* PROMPT_COMMAND: Bash Variables. (line 549)
* PROMPT_DIRTRIM: Bash Variables. (line 553)
* PS0: Bash Variables. (line 559)
* PIPESTATUS: Bash Variables. (line 537)
* POSIXLY_CORRECT: Bash Variables. (line 542)
* PPID: Bash Variables. (line 552)
* PROMPT_COMMAND: Bash Variables. (line 556)
* PROMPT_DIRTRIM: Bash Variables. (line 560)
* PS0: Bash Variables. (line 566)
* PS1: Bourne Shell Variables.
(line 48)
* PS2: Bourne Shell Variables.
(line 53)
* PS3: Bash Variables. (line 564)
* PS4: Bash Variables. (line 569)
* PWD: Bash Variables. (line 577)
* RANDOM: Bash Variables. (line 580)
* READLINE_LINE: Bash Variables. (line 585)
* READLINE_POINT: Bash Variables. (line 589)
* REPLY: Bash Variables. (line 593)
* PS3: Bash Variables. (line 571)
* PS4: Bash Variables. (line 576)
* PWD: Bash Variables. (line 584)
* RANDOM: Bash Variables. (line 587)
* READLINE_LINE: Bash Variables. (line 592)
* READLINE_POINT: Bash Variables. (line 596)
* REPLY: Bash Variables. (line 600)
* revert-all-at-newline: Readline Init File Syntax.
(line 270)
* SECONDS: Bash Variables. (line 596)
* SHELL: Bash Variables. (line 602)
* SHELLOPTS: Bash Variables. (line 607)
* SHLVL: Bash Variables. (line 616)
* SECONDS: Bash Variables. (line 603)
* SHELL: Bash Variables. (line 609)
* SHELLOPTS: Bash Variables. (line 614)
* SHLVL: Bash Variables. (line 623)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 276)
* show-all-if-unmodified: Readline Init File Syntax.
@@ -11255,10 +11272,10 @@ D.3 Parameter and Variable Index
(line 297)
* TEXTDOMAIN: Locale Translation. (line 11)
* TEXTDOMAINDIR: Locale Translation. (line 11)
* TIMEFORMAT: Bash Variables. (line 621)
* TMOUT: Bash Variables. (line 659)
* TMPDIR: Bash Variables. (line 671)
* UID: Bash Variables. (line 675)
* TIMEFORMAT: Bash Variables. (line 628)
* TMOUT: Bash Variables. (line 666)
* TMPDIR: Bash Variables. (line 678)
* UID: Bash Variables. (line 682)
* vi-cmd-mode-string: Readline Init File Syntax.
(line 310)
* vi-ins-mode-string: Readline Init File Syntax.
@@ -11627,134 +11644,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 Translation17824
Node: Comments18720
Node: Shell Commands19338
Node: Simple Commands20210
Node: Pipelines20841
Node: Lists23773
Node: Compound Commands25512
Node: Looping Constructs26524
Node: Conditional Constructs29019
Node: Command Grouping40102
Node: Coprocesses41581
Node: GNU Parallel43484
Node: Shell Functions47542
Node: Shell Parameters54625
Node: Positional Parameters59038
Node: Special Parameters59938
Node: Shell Expansions63652
Node: Brace Expansion65775
Node: Tilde Expansion68499
Node: Shell Parameter Expansion70847
Node: Command Substitution85303
Node: Arithmetic Expansion86658
Node: Process Substitution87590
Node: Word Splitting88710
Node: Filename Expansion90654
Node: Pattern Matching93184
Node: Quote Removal97170
Node: Redirections97465
Node: Executing Commands107023
Node: Simple Command Expansion107693
Node: Command Search and Execution109623
Node: Command Execution Environment111999
Node: Environment114983
Node: Exit Status116642
Node: Signals118312
Node: Shell Scripts120279
Node: Shell Builtin Commands122794
Node: Bourne Shell Builtins124832
Node: Bash Builtins145490
Node: Modifying Shell Behavior174398
Node: The Set Builtin174743
Node: The Shopt Builtin185156
Node: Special Builtins202026
Node: Shell Variables203005
Node: Bourne Shell Variables203442
Node: Bash Variables205546
Node: Bash Features235686
Node: Invoking Bash236585
Node: Bash Startup Files242598
Node: Interactive Shells247701
Node: What is an Interactive Shell?248111
Node: Is this Shell Interactive?248760
Node: Interactive Shell Behavior249575
Node: Bash Conditional Expressions253062
Node: Shell Arithmetic257428
Node: Aliases260245
Node: Arrays262793
Node: The Directory Stack268159
Node: Directory Stack Builtins268943
Node: Controlling the Prompt271911
Node: The Restricted Shell274677
Node: Bash POSIX Mode276502
Node: Job Control286853
Node: Job Control Basics287313
Node: Job Control Builtins292281
Node: Job Control Variables297008
Node: Command Line Editing298164
Node: Introduction and Notation299835
Node: Readline Interaction301458
Node: Readline Bare Essentials302649
Node: Readline Movement Commands304432
Node: Readline Killing Commands305392
Node: Readline Arguments307310
Node: Searching308354
Node: Readline Init File310540
Node: Readline Init File Syntax311687
Node: Conditional Init Constructs332087
Node: Sample Init File336283
Node: Bindable Readline Commands339400
Node: Commands For Moving340604
Node: Commands For History342453
Node: Commands For Text346748
Node: Commands For Killing350136
Node: Numeric Arguments352617
Node: Commands For Completion353756
Node: Keyboard Macros357947
Node: Miscellaneous Commands358634
Node: Readline vi Mode364587
Node: Programmable Completion365494
Node: Programmable Completion Builtins373088
Node: A Programmable Completion Example383616
Node: Using History Interactively388856
Node: Bash History Facilities389540
Node: Bash History Builtins392545
Node: History Interaction397076
Node: Event Designators400696
Node: Word Designators401915
Node: Modifiers403552
Node: Installing Bash404954
Node: Basic Installation406091
Node: Compilers and Options409349
Node: Compiling For Multiple Architectures410090
Node: Installation Names411783
Node: Specifying the System Type412601
Node: Sharing Defaults413317
Node: Operation Controls413990
Node: Optional Features414948
Node: Reporting Bugs425466
Node: Major Differences From The Bourne Shell426660
Node: GNU Free Documentation License443512
Node: Indexes468689
Node: Builtin Index469143
Node: Reserved Word Index475970
Node: Variable Index478418
Node: Function Index494096
Node: Concept Index507399
Node: Top891
Node: Introduction2805
Node: What is Bash?3021
Node: What is a shell?4135
Node: Definitions6673
Node: Basic Shell Features9624
Node: Shell Syntax10843
Node: Shell Operation11869
Node: Quoting13162
Node: Escape Character14462
Node: Single Quotes14947
Node: Double Quotes15295
Node: ANSI-C Quoting16573
Node: Locale Translation17832
Node: Comments18728
Node: Shell Commands19346
Node: Simple Commands20218
Node: Pipelines20849
Node: Lists23781
Node: Compound Commands25520
Node: Looping Constructs26532
Node: Conditional Constructs29027
Node: Command Grouping40110
Node: Coprocesses41589
Node: GNU Parallel43492
Node: Shell Functions47550
Node: Shell Parameters54633
Node: Positional Parameters59046
Node: Special Parameters59946
Node: Shell Expansions63660
Node: Brace Expansion65783
Node: Tilde Expansion68507
Node: Shell Parameter Expansion71124
Node: Command Substitution85580
Node: Arithmetic Expansion86935
Node: Process Substitution87867
Node: Word Splitting88987
Node: Filename Expansion90931
Node: Pattern Matching93461
Node: Quote Removal97447
Node: Redirections97742
Node: Executing Commands107300
Node: Simple Command Expansion107970
Node: Command Search and Execution109900
Node: Command Execution Environment112276
Node: Environment115260
Node: Exit Status116919
Node: Signals118589
Node: Shell Scripts120556
Node: Shell Builtin Commands123071
Node: Bourne Shell Builtins125109
Node: Bash Builtins145767
Node: Modifying Shell Behavior174675
Node: The Set Builtin175020
Node: The Shopt Builtin185433
Node: Special Builtins202303
Node: Shell Variables203282
Node: Bourne Shell Variables203719
Node: Bash Variables205823
Node: Bash Features236283
Node: Invoking Bash237182
Node: Bash Startup Files243195
Node: Interactive Shells248298
Node: What is an Interactive Shell?248708
Node: Is this Shell Interactive?249357
Node: Interactive Shell Behavior250172
Node: Bash Conditional Expressions253659
Node: Shell Arithmetic258025
Node: Aliases260842
Node: Arrays263390
Node: The Directory Stack268756
Node: Directory Stack Builtins269540
Node: Controlling the Prompt272508
Node: The Restricted Shell275274
Node: Bash POSIX Mode277099
Node: Job Control287514
Node: Job Control Basics287974
Node: Job Control Builtins292942
Node: Job Control Variables297669
Node: Command Line Editing298825
Node: Introduction and Notation300496
Node: Readline Interaction302119
Node: Readline Bare Essentials303310
Node: Readline Movement Commands305093
Node: Readline Killing Commands306053
Node: Readline Arguments307971
Node: Searching309015
Node: Readline Init File311201
Node: Readline Init File Syntax312348
Node: Conditional Init Constructs332748
Node: Sample Init File336944
Node: Bindable Readline Commands340061
Node: Commands For Moving341265
Node: Commands For History343114
Node: Commands For Text347409
Node: Commands For Killing350797
Node: Numeric Arguments353278
Node: Commands For Completion354417
Node: Keyboard Macros358608
Node: Miscellaneous Commands359295
Node: Readline vi Mode365248
Node: Programmable Completion366155
Node: Programmable Completion Builtins373749
Node: A Programmable Completion Example384442
Node: Using History Interactively389682
Node: Bash History Facilities390366
Node: Bash History Builtins393371
Node: History Interaction397902
Node: Event Designators401522
Node: Word Designators402741
Node: Modifiers404378
Node: Installing Bash405780
Node: Basic Installation406917
Node: Compilers and Options410175
Node: Compiling For Multiple Architectures410916
Node: Installation Names412609
Node: Specifying the System Type413427
Node: Sharing Defaults414143
Node: Operation Controls414816
Node: Optional Features415774
Node: Reporting Bugs426292
Node: Major Differences From The Bourne Shell427486
Node: GNU Free Documentation License444338
Node: Indexes469515
Node: Builtin Index469969
Node: Reserved Word Index476796
Node: Variable Index479244
Node: Function Index494995
Node: Concept Index508298

End Tag Table
BIN
View File
Binary file not shown.
+2284 -2263
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -111,7 +111,7 @@
@xrdef{Pattern Matching-title}{Pattern Matching}
@xrdef{Pattern Matching-snt}{Section@tie 3.5.8.1}
@xrdef{Filename Expansion-pg}{32}
@xrdef{Pattern Matching-pg}{32}
@xrdef{Pattern Matching-pg}{33}
@xrdef{Quote Removal-title}{Quote Removal}
@xrdef{Quote Removal-snt}{Section@tie 3.5.9}
@xrdef{Redirections-title}{Redirections}
+2 -2
View File
@@ -60,8 +60,8 @@
\entry{expansion, pathname}{32}{expansion, pathname}
\entry{filename expansion}{32}{filename expansion}
\entry{pathname expansion}{32}{pathname expansion}
\entry{pattern matching}{32}{pattern matching}
\entry{matching, pattern}{32}{matching, pattern}
\entry{pattern matching}{33}{pattern matching}
\entry{matching, pattern}{33}{matching, pattern}
\entry{redirection}{34}{redirection}
\entry{command expansion}{38}{command expansion}
\entry{command execution}{38}{command execution}
+2 -2
View File
@@ -79,7 +79,7 @@
\entry {localization}{7}
\entry {login shell}{86}
\initial {M}
\entry {matching, pattern}{32}
\entry {matching, pattern}{33}
\entry {metacharacter}{3}
\initial {N}
\entry {name}{3}
@@ -93,7 +93,7 @@
\entry {parameters, positional}{21}
\entry {parameters, special}{21}
\entry {pathname expansion}{32}
\entry {pattern matching}{32}
\entry {pattern matching}{33}
\entry {pipeline}{8}
\entry {POSIX}{3}
\entry {POSIX Mode}{98}
BIN
View File
Binary file not shown.
+34 -12
View File
@@ -1,9 +1,9 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This text is a brief description of the features that are present in
the Bash shell (version 5.0, 8 June 2018).
the Bash shell (version 5.0, 7 August 2018).
This is Edition 5.0, last updated 8 June 2018,
This is Edition 5.0, last updated 7 August 2018,
of The GNU Bash Reference Manual,
for Bash, Version 5.0.
@@ -284,10 +284,10 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Previou
<h1 class="top">Bash Features</h1>
<p>This text is a brief description of the features that are present in
the Bash shell (version 5.0, 8 June 2018).
the Bash shell (version 5.0, 7 August 2018).
The Bash home page is <a href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
</p>
<p>This is Edition 5.0, last updated 8 June 2018,
<p>This is Edition 5.0, last updated 7 August 2018,
of <cite>The GNU Bash Reference Manual</cite>,
for <code>Bash</code>, Version 5.0.
</p>
@@ -2466,6 +2466,12 @@ and the shell assigns the expanded value.
</p></dd>
</dl>
<p>Bash also performs tilde expansion on words satisfying the conditions of
variable assignments (see <a href="#Shell-Parameters">Shell Parameters</a>)
when they appear as arguments to simple commands.
Bash does not do this, except for the <var>declaration</var> commands listed
above, when in <small>POSIX</small> mode.
</p>
<hr>
<a name="Shell-Parameter-Expansion"></a>
<div class="header">
@@ -7214,6 +7220,14 @@ input to the shell. This is only in effect for interactive shells.
of <samp>~/.inputrc</samp>.
</p>
</dd>
<dt><code>INSIDE_EMACS</code>
<a name="index-INSIDE_005fEMACS"></a>
</dt>
<dd><p>If Bash finds this variable in the environment when the shell
starts, it assumes that the shell is running in an Emacs shell buffer
and may disable line editing depending on the value of <code>TERM</code>.
</p>
</dd>
<dt><code>LANG</code>
<a name="index-LANG"></a>
</dt>
@@ -7346,7 +7360,9 @@ as if the command
</p><div class="example">
<pre class="example"><code>set -o posix</code>
</pre></div>
<p>had been executed.
<p>had been executed.
When the shell enters <small>POSIX</small> mode, it sets this variable if it was
not already set.
</p>
</dd>
<dt><code>PPID</code>
@@ -8938,7 +8954,9 @@ startup files.
<p>The following list is what&rsquo;s changed when &lsquo;<small>POSIX</small> mode&rsquo; is in effect:
</p>
<ol>
<li> When a command in the hash table no longer exists, Bash will re-search
<li> Bash ensures that the <code>POSIXLY_CORRECT</code> variable is set.
</li><li> When a command in the hash table no longer exists, Bash will re-search
<code>$PATH</code> to find the new location. This is also available with
&lsquo;<samp>shopt -s checkhash</samp>&rsquo;.
@@ -12012,18 +12030,21 @@ reused as input.
The <samp>-r</samp> option removes a completion specification for
each <var>name</var>, or, if no <var>name</var>s are supplied, all
completion specifications.
The <samp>-D</samp> option indicates that the remaining options and actions should
The <samp>-D</samp> option indicates that other supplied options and actions should
apply to the &ldquo;default&rdquo; command completion; that is, completion attempted
on a command for which no completion has previously been defined.
The <samp>-E</samp> option indicates that the remaining options and actions should
The <samp>-E</samp> option indicates that other supplied options and actions should
apply to &ldquo;empty&rdquo; command completion; that is, completion attempted on a
blank line.
The <samp>-I</samp> option indicates that the remaining options and actions should
The <samp>-I</samp> option indicates that other supplied options and actions should
apply to completion on the inital non-assignment word on the line, or after a
command delimiter such as &lsquo;<samp>;</samp>&rsquo; or &lsquo;<samp>|</samp>&rsquo;, which is usually command
name completion.
If multiple options are supplied, the <samp>-D</samp> option takes precedence
over <samp>-E</samp>, and both take precedence over <samp>-I</samp>.
If any of <samp>-D</samp>, <samp>-E</samp>, or <samp>-I</samp> are supplied, any other
<var>name</var> arguments are ignored; these completions only apply to the case
specified by the option.
</p>
<p>The process of applying these completion specifications when word completion
is attempted is described above (see <a href="#Programmable-Completion">Programmable Completion</a>).
@@ -12261,13 +12282,13 @@ If no <var>option</var>s are given, display the completion options for each
<var>name</var> or the current completion.
The possible values of <var>option</var> are those valid for the <code>complete</code>
builtin described above.
The <samp>-D</samp> option indicates that the remaining options should
The <samp>-D</samp> option indicates that other supplied options should
apply to the &ldquo;default&rdquo; command completion; that is, completion attempted
on a command for which no completion has previously been defined.
The <samp>-E</samp> option indicates that the remaining options should
The <samp>-E</samp> option indicates that other supplied options should
apply to &ldquo;empty&rdquo; command completion; that is, completion attempted on a
blank line.
The <samp>-I</samp> option indicates that the remaining options should
The <samp>-I</samp> option indicates that other supplied options should
apply to completion on the inital non-assignment word on the line, or after a
command delimiter such as &lsquo;<samp>;</samp>&rsquo; or &lsquo;<samp>|</samp>&rsquo;, which is usually command
name completion.
@@ -15037,6 +15058,7 @@ Next: <a href="#Function-Index" accesskey="n" rel="next">Function Index</a>, Pre
<tr><td></td><td valign="top"><a href="#index-IGNOREEOF"><code>IGNOREEOF</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-input_002dmeta"><code>input-meta</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Readline-Init-File-Syntax">Readline Init File Syntax</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-INPUTRC"><code>INPUTRC</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-INSIDE_005fEMACS"><code>INSIDE_EMACS</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bash-Variables">Bash Variables</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-isearch_002dterminators"><code>isearch-terminators</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Readline-Init-File-Syntax">Readline Init File Syntax</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th><a name="Variable-Index_vr_letter-K">K</a></th><td></td><td></td></tr>
+252 -235
View File
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 6.5 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.0, 8 June 2018).
Bash shell (version 5.0, 7 August 2018).
This is Edition 5.0, last updated 8 June 2018, of 'The GNU Bash
This is Edition 5.0, last updated 7 August 2018, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.0.
Copyright (C) 1988-2018 Free Software Foundation, Inc.
@@ -27,10 +27,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 5.0, 8 June 2018). The Bash home page is
Bash shell (version 5.0, 7 August 2018). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.0, last updated 8 June 2018, of 'The GNU Bash
This is Edition 5.0, last updated 7 August 2018, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.0.
Bash contains features that appear in other popular shells, and some
@@ -1645,6 +1645,11 @@ assigns the expanded value.
'~-N'
The string that would be displayed by 'dirs -N'
Bash also performs tilde expansion on words satisfying the conditions
of variable assignments (*note Shell Parameters::) when they appear as
arguments to simple commands. Bash does not do this, except for the
DECLARATION commands listed above, when in POSIX mode.

File: bashref.info, Node: Shell Parameter Expansion, Next: Command Substitution, Prev: Tilde Expansion, Up: Shell Expansions
@@ -5255,6 +5260,12 @@ Variables::).
The name of the Readline initialization file, overriding the
default of '~/.inputrc'.
'INSIDE_EMACS'
If Bash finds this variable in the environment when the shell
starts, it assumes that the shell is running in an Emacs shell
buffer and may disable line editing depending on the value of
'TERM'.
'LANG'
Used to determine the locale category for any category not
specifically selected with a variable starting with 'LC_'.
@@ -5335,7 +5346,8 @@ Variables::).
supplied. If it is set while the shell is running, Bash enables
POSIX mode, as if the command
set -o posix
had been executed.
had been executed. When the shell enters POSIX mode, it sets this
variable if it was not already set.
'PPID'
The process ID of the shell's parent process. This variable is
@@ -6533,212 +6545,214 @@ startup files.
The following list is what's changed when 'POSIX mode' is in effect:
1. When a command in the hash table no longer exists, Bash will
1. Bash ensures that the 'POSIXLY_CORRECT' variable is set.
2. When a command in the hash table no longer exists, Bash will
re-search '$PATH' to find the new location. This is also available
with 'shopt -s checkhash'.
2. The message printed by the job control code and builtins when a job
3. The message printed by the job control code and builtins when a job
exits with a non-zero status is 'Done(status)'.
3. The message printed by the job control code and builtins when a job
4. The message printed by the job control code and builtins when a job
is stopped is 'Stopped(SIGNAME)', where SIGNAME is, for example,
'SIGTSTP'.
4. Alias expansion is always enabled, even in non-interactive shells.
5. Alias expansion is always enabled, even in non-interactive shells.
5. Reserved words appearing in a context where reserved words are
6. Reserved words appearing in a context where reserved words are
recognized do not undergo alias expansion.
6. The POSIX 'PS1' and 'PS2' expansions of '!' to the history number
7. The POSIX 'PS1' and 'PS2' expansions of '!' to the history number
and '!!' to '!' are enabled, and parameter expansion is performed
on the values of 'PS1' and 'PS2' regardless of the setting of the
'promptvars' option.
7. The POSIX startup files are executed ('$ENV') rather than the
8. The POSIX startup files are executed ('$ENV') rather than the
normal Bash files.
8. Tilde expansion is only performed on assignments preceding a
9. Tilde expansion is only performed on assignments preceding a
command name, rather than on all assignment statements on the line.
9. The default history file is '~/.sh_history' (this is the default
10. The default history file is '~/.sh_history' (this is the default
value of '$HISTFILE').
10. Redirection operators do not perform filename expansion on the
11. Redirection operators do not perform filename expansion on the
word in the redirection unless the shell is interactive.
11. Redirection operators do not perform word splitting on the word in
12. Redirection operators do not perform word splitting on the word in
the redirection.
12. Function names must be valid shell 'name's. That is, they may not
13. Function names must be valid shell 'name's. That is, they may not
contain characters other than letters, digits, and underscores, and
may not start with a digit. Declaring a function with an invalid
name causes a fatal syntax error in non-interactive shells.
13. Function names may not be the same as one of the POSIX special
14. Function names may not be the same as one of the POSIX special
builtins.
14. POSIX special builtins are found before shell functions during
15. POSIX special builtins are found before shell functions during
command lookup.
15. When printing shell function definitions (e.g., by 'type'), Bash
16. When printing shell function definitions (e.g., by 'type'), Bash
does not print the 'function' keyword.
16. Literal tildes that appear as the first character in elements of
17. Literal tildes that appear as the first character in elements of
the 'PATH' variable are not expanded as described above under *note
Tilde Expansion::.
17. The 'time' reserved word may be used by itself as a command. When
18. The 'time' reserved word may be used by itself as a command. When
used in this way, it displays timing statistics for the shell and
its completed children. The 'TIMEFORMAT' variable controls the
format of the timing information.
18. When parsing and expanding a ${...} expansion that appears within
19. When parsing and expanding a ${...} expansion that appears within
double quotes, single quotes are no longer special and cannot be
used to quote a closing brace or other special character, unless
the operator is one of those defined to perform pattern removal.
In this case, they do not have to appear as matched pairs.
19. The parser does not recognize 'time' as a reserved word if the
20. The parser does not recognize 'time' as a reserved word if the
next token begins with a '-'.
20. The '!' character does not introduce history expansion within a
21. The '!' character does not introduce history expansion within a
double-quoted string, even if the 'histexpand' option is enabled.
21. If a POSIX special builtin returns an error status, a
22. If a POSIX special builtin returns an error status, a
non-interactive shell exits. The fatal errors are those listed in
the POSIX standard, and include things like passing incorrect
options, redirection errors, variable assignment errors for
assignments preceding the command name, and so on.
22. A non-interactive shell exits with an error status if a variable
23. A non-interactive shell exits with an error status if a variable
assignment error occurs when no command name follows the assignment
statements. A variable assignment error occurs, for example, when
trying to assign a value to a readonly variable.
23. A non-interactive shell exits with an error status if a variable
24. A non-interactive shell exits with an error status if a variable
assignment error occurs in an assignment statement preceding a
special builtin, but not with any other simple command.
24. A non-interactive shell exits with an error status if the
25. A non-interactive shell exits with an error status if the
iteration variable in a 'for' statement or the selection variable
in a 'select' statement is a readonly variable.
25. Non-interactive shells exit if FILENAME in '.' FILENAME is not
26. Non-interactive shells exit if FILENAME in '.' FILENAME is not
found.
26. Non-interactive shells exit if a syntax error in an arithmetic
27. Non-interactive shells exit if a syntax error in an arithmetic
expansion results in an invalid expression.
27. Non-interactive shells exit if a parameter expansion error occurs.
28. Non-interactive shells exit if a parameter expansion error occurs.
28. Non-interactive shells exit if there is a syntax error in a script
29. Non-interactive shells exit if there is a syntax error in a script
read with the '.' or 'source' builtins, or in a string processed by
the 'eval' builtin.
29. Process substitution is not available.
30. Process substitution is not available.
30. While variable indirection is available, it may not be applied to
31. While variable indirection is available, it may not be applied to
the '#' and '?' special parameters.
31. When expanding the '*' special parameter in a pattern context
32. When expanding the '*' special parameter in a pattern context
where the expansion is double-quoted does not treat the '$*' as if
it were double-quoted.
32. Assignment statements preceding POSIX special builtins persist in
33. Assignment statements preceding POSIX special builtins persist in
the shell environment after the builtin completes.
33. Assignment statements preceding shell function calls persist in
34. Assignment statements preceding shell function calls persist in
the shell environment after the function returns, as if a POSIX
special builtin command had been executed.
34. The 'command' builtin does not prevent builtins that take
35. The 'command' builtin does not prevent builtins that take
assignment statements as arguments from expanding them as
assignment statements; when not in POSIX mode, assignment builtins
lose their assignment statement expansion properties when preceded
by 'command'.
35. The 'bg' builtin uses the required format to describe each job
36. The 'bg' builtin uses the required format to describe each job
placed in the background, which does not include an indication of
whether the job is the current or previous job.
36. The output of 'kill -l' prints all the signal names on a single
37. The output of 'kill -l' prints all the signal names on a single
line, separated by spaces, without the 'SIG' prefix.
37. The 'kill' builtin does not accept signal names with a 'SIG'
38. The 'kill' builtin does not accept signal names with a 'SIG'
prefix.
38. The 'export' and 'readonly' builtin commands display their output
39. The 'export' and 'readonly' builtin commands display their output
in the format required by POSIX.
39. The 'trap' builtin displays signal names without the leading
40. The 'trap' builtin displays signal names without the leading
'SIG'.
40. The 'trap' builtin doesn't check the first argument for a possible
41. The 'trap' builtin doesn't check the first argument for a possible
signal specification and revert the signal handling to the original
disposition if it is, unless that argument consists solely of
digits and is a valid signal number. If users want to reset the
handler for a given signal to the original disposition, they should
use '-' as the first argument.
41. The '.' and 'source' builtins do not search the current directory
42. The '.' and 'source' builtins do not search the current directory
for the filename argument if it is not found by searching 'PATH'.
42. Enabling POSIX mode has the effect of setting the
43. Enabling POSIX mode has the effect of setting the
'inherit_errexit' option, so subshells spawned to execute command
substitutions inherit the value of the '-e' option from the parent
shell. When the 'inherit_errexit' option is not enabled, Bash
clears the '-e' option in such subshells.
43. When the 'alias' builtin displays alias definitions, it does not
44. When the 'alias' builtin displays alias definitions, it does not
display them with a leading 'alias ' unless the '-p' option is
supplied.
44. When the 'set' builtin is invoked without options, it does not
45. When the 'set' builtin is invoked without options, it does not
display shell function names and definitions.
45. When the 'set' builtin is invoked without options, it displays
46. When the 'set' builtin is invoked without options, it displays
variable values without quotes, unless they contain shell
metacharacters, even if the result contains nonprinting characters.
46. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname
47. When the 'cd' builtin is invoked in LOGICAL mode, and the pathname
constructed from '$PWD' and the directory name supplied as an
argument does not refer to an existing directory, 'cd' will fail
instead of falling back to PHYSICAL mode.
47. The 'pwd' builtin verifies that the value it prints is the same as
48. The 'pwd' builtin verifies that the value it prints is the same as
the current directory, even if it is not asked to check the file
system with the '-P' option.
48. When listing the history, the 'fc' builtin does not include an
49. When listing the history, the 'fc' builtin does not include an
indication of whether or not a history entry has been modified.
49. The default editor used by 'fc' is 'ed'.
50. The default editor used by 'fc' is 'ed'.
50. The 'type' and 'command' builtins will not report a non-executable
51. The 'type' and 'command' builtins will not report a non-executable
file as having been found, though the shell will attempt to execute
such a file if it is the only so-named file found in '$PATH'.
51. The 'vi' editing mode will invoke the 'vi' editor directly when
52. The 'vi' editing mode will invoke the 'vi' editor directly when
the 'v' command is run, instead of checking '$VISUAL' and
'$EDITOR'.
52. When the 'xpg_echo' option is enabled, Bash does not attempt to
53. When the 'xpg_echo' option is enabled, Bash does not attempt to
interpret any arguments to 'echo' as options. Each argument is
displayed, after escape characters are converted.
53. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
54. The 'ulimit' builtin uses a block size of 512 bytes for the '-c'
and '-f' options.
54. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not
55. The arrival of 'SIGCHLD' when a trap is set on 'SIGCHLD' does not
interrupt the 'wait' builtin and cause it to return immediately.
The trap command is run once for each child that exits.
55. The 'read' builtin may be interrupted by a signal for which a trap
56. The 'read' builtin may be interrupted by a signal for which a trap
has been set. If Bash receives a trapped signal while executing
'read', the trap handler executes and 'read' returns an exit status
greater than 128.
56. Bash removes an exited background process's status from the list
57. Bash removes an exited background process's status from the list
of such statuses after the 'wait' builtin is used to obtain it.
There is other POSIX behavior that Bash does not implement by default
@@ -8769,18 +8783,20 @@ happening.
completion specifications are printed in a way that allows them to
be reused as input. The '-r' option removes a completion
specification for each NAME, or, if no NAMEs are supplied, all
completion specifications. The '-D' option indicates that the
remaining options and actions should apply to the "default" command
completion specifications. The '-D' option indicates that other
supplied options and actions should apply to the "default" command
completion; that is, completion attempted on a command for which no
completion has previously been defined. The '-E' option indicates
that the remaining options and actions should apply to "empty"
that other supplied options and actions should apply to "empty"
command completion; that is, completion attempted on a blank line.
The '-I' option indicates that the remaining options and actions
The '-I' option indicates that other supplied options and actions
should apply to completion on the inital non-assignment word on the
line, or after a command delimiter such as ';' or '|', which is
usually command name completion. If multiple options are supplied,
the '-D' option takes precedence over '-E', and both take
precedence over '-I'.
precedence over '-I'. If any of '-D', '-E', or '-I' are supplied,
any other NAME arguments are ignored; these completions only apply
to the case specified by the option.
The process of applying these completion specifications when word
completion is attempted is described above (*note Programmable
@@ -8970,12 +8986,12 @@ happening.
If no OPTIONs are given, display the completion options for each
NAME or the current completion. The possible values of OPTION are
those valid for the 'complete' builtin described above. The '-D'
option indicates that the remaining options should apply to the
option indicates that other supplied options should apply to the
"default" command completion; that is, completion attempted on a
command for which no completion has previously been defined. The
'-E' option indicates that the remaining options should apply to
'-E' option indicates that other supplied options should apply to
"empty" command completion; that is, completion attempted on a
blank line. The '-I' option indicates that the remaining options
blank line. The '-I' option indicates that other supplied options
should apply to completion on the inital non-assignment word on the
line, or after a command delimiter such as ';' or '|', which is
usually command name completion.
@@ -10924,7 +10940,7 @@ D.1 Index of Shell Builtin Commands
* complete: Programmable Completion Builtins.
(line 30)
* compopt: Programmable Completion Builtins.
(line 235)
(line 237)
* continue: Bourne Shell Builtins.
(line 85)
* declare: Bash Builtins. (line 148)
@@ -11178,27 +11194,28 @@ D.3 Parameter and Variable Index
* input-meta: Readline Init File Syntax.
(line 187)
* INPUTRC: Bash Variables. (line 459)
* INSIDE_EMACS: Bash Variables. (line 463)
* isearch-terminators: Readline Init File Syntax.
(line 195)
* keymap: Readline Init File Syntax.
(line 202)
* LANG: Bash Variables. (line 463)
* LC_ALL: Bash Variables. (line 467)
* LC_COLLATE: Bash Variables. (line 471)
* LC_CTYPE: Bash Variables. (line 478)
* LANG: Bash Variables. (line 469)
* LC_ALL: Bash Variables. (line 473)
* LC_COLLATE: Bash Variables. (line 477)
* LC_CTYPE: Bash Variables. (line 484)
* LC_MESSAGES: Locale Translation. (line 11)
* LC_MESSAGES <1>: Bash Variables. (line 483)
* LC_NUMERIC: Bash Variables. (line 487)
* LC_TIME: Bash Variables. (line 491)
* LINENO: Bash Variables. (line 495)
* LINES: Bash Variables. (line 499)
* MACHTYPE: Bash Variables. (line 505)
* LC_MESSAGES <1>: Bash Variables. (line 489)
* LC_NUMERIC: Bash Variables. (line 493)
* LC_TIME: Bash Variables. (line 497)
* LINENO: Bash Variables. (line 501)
* LINES: Bash Variables. (line 505)
* MACHTYPE: Bash Variables. (line 511)
* MAIL: Bourne Shell Variables.
(line 22)
* MAILCHECK: Bash Variables. (line 509)
* MAILCHECK: Bash Variables. (line 515)
* MAILPATH: Bourne Shell Variables.
(line 27)
* MAPFILE: Bash Variables. (line 517)
* MAPFILE: Bash Variables. (line 523)
* mark-modified-lines: Readline Init File Syntax.
(line 232)
* mark-symlinked-directories: Readline Init File Syntax.
@@ -11209,42 +11226,42 @@ D.3 Parameter and Variable Index
(line 249)
* meta-flag: Readline Init File Syntax.
(line 187)
* OLDPWD: Bash Variables. (line 521)
* OLDPWD: Bash Variables. (line 527)
* OPTARG: Bourne Shell Variables.
(line 34)
* OPTERR: Bash Variables. (line 524)
* OPTERR: Bash Variables. (line 530)
* OPTIND: Bourne Shell Variables.
(line 38)
* OSTYPE: Bash Variables. (line 528)
* OSTYPE: Bash Variables. (line 534)
* output-meta: Readline Init File Syntax.
(line 254)
* page-completions: Readline Init File Syntax.
(line 260)
* PATH: Bourne Shell Variables.
(line 42)
* PIPESTATUS: Bash Variables. (line 531)
* POSIXLY_CORRECT: Bash Variables. (line 536)
* PPID: Bash Variables. (line 545)
* PROMPT_COMMAND: Bash Variables. (line 549)
* PROMPT_DIRTRIM: Bash Variables. (line 553)
* PS0: Bash Variables. (line 559)
* PIPESTATUS: Bash Variables. (line 537)
* POSIXLY_CORRECT: Bash Variables. (line 542)
* PPID: Bash Variables. (line 552)
* PROMPT_COMMAND: Bash Variables. (line 556)
* PROMPT_DIRTRIM: Bash Variables. (line 560)
* PS0: Bash Variables. (line 566)
* PS1: Bourne Shell Variables.
(line 48)
* PS2: Bourne Shell Variables.
(line 53)
* PS3: Bash Variables. (line 564)
* PS4: Bash Variables. (line 569)
* PWD: Bash Variables. (line 577)
* RANDOM: Bash Variables. (line 580)
* READLINE_LINE: Bash Variables. (line 585)
* READLINE_POINT: Bash Variables. (line 589)
* REPLY: Bash Variables. (line 593)
* PS3: Bash Variables. (line 571)
* PS4: Bash Variables. (line 576)
* PWD: Bash Variables. (line 584)
* RANDOM: Bash Variables. (line 587)
* READLINE_LINE: Bash Variables. (line 592)
* READLINE_POINT: Bash Variables. (line 596)
* REPLY: Bash Variables. (line 600)
* revert-all-at-newline: Readline Init File Syntax.
(line 270)
* SECONDS: Bash Variables. (line 596)
* SHELL: Bash Variables. (line 602)
* SHELLOPTS: Bash Variables. (line 607)
* SHLVL: Bash Variables. (line 616)
* SECONDS: Bash Variables. (line 603)
* SHELL: Bash Variables. (line 609)
* SHELLOPTS: Bash Variables. (line 614)
* SHLVL: Bash Variables. (line 623)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 276)
* show-all-if-unmodified: Readline Init File Syntax.
@@ -11255,10 +11272,10 @@ D.3 Parameter and Variable Index
(line 297)
* TEXTDOMAIN: Locale Translation. (line 11)
* TEXTDOMAINDIR: Locale Translation. (line 11)
* TIMEFORMAT: Bash Variables. (line 621)
* TMOUT: Bash Variables. (line 659)
* TMPDIR: Bash Variables. (line 671)
* UID: Bash Variables. (line 675)
* TIMEFORMAT: Bash Variables. (line 628)
* TMOUT: Bash Variables. (line 666)
* TMPDIR: Bash Variables. (line 678)
* UID: Bash Variables. (line 682)
* vi-cmd-mode-string: Readline Init File Syntax.
(line 310)
* vi-ins-mode-string: Readline Init File Syntax.
@@ -11627,134 +11644,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 Translation17824
Node: Comments18720
Node: Shell Commands19338
Node: Simple Commands20210
Node: Pipelines20841
Node: Lists23773
Node: Compound Commands25512
Node: Looping Constructs26524
Node: Conditional Constructs29019
Node: Command Grouping40102
Node: Coprocesses41581
Node: GNU Parallel43484
Node: Shell Functions47542
Node: Shell Parameters54625
Node: Positional Parameters59038
Node: Special Parameters59938
Node: Shell Expansions63652
Node: Brace Expansion65775
Node: Tilde Expansion68499
Node: Shell Parameter Expansion70847
Node: Command Substitution85303
Node: Arithmetic Expansion86658
Node: Process Substitution87590
Node: Word Splitting88710
Node: Filename Expansion90654
Node: Pattern Matching93184
Node: Quote Removal97170
Node: Redirections97465
Node: Executing Commands107023
Node: Simple Command Expansion107693
Node: Command Search and Execution109623
Node: Command Execution Environment111999
Node: Environment114983
Node: Exit Status116642
Node: Signals118312
Node: Shell Scripts120279
Node: Shell Builtin Commands122794
Node: Bourne Shell Builtins124832
Node: Bash Builtins145490
Node: Modifying Shell Behavior174398
Node: The Set Builtin174743
Node: The Shopt Builtin185156
Node: Special Builtins202026
Node: Shell Variables203005
Node: Bourne Shell Variables203442
Node: Bash Variables205546
Node: Bash Features235686
Node: Invoking Bash236585
Node: Bash Startup Files242598
Node: Interactive Shells247701
Node: What is an Interactive Shell?248111
Node: Is this Shell Interactive?248760
Node: Interactive Shell Behavior249575
Node: Bash Conditional Expressions253062
Node: Shell Arithmetic257428
Node: Aliases260245
Node: Arrays262793
Node: The Directory Stack268159
Node: Directory Stack Builtins268943
Node: Controlling the Prompt271911
Node: The Restricted Shell274677
Node: Bash POSIX Mode276502
Node: Job Control286853
Node: Job Control Basics287313
Node: Job Control Builtins292281
Node: Job Control Variables297008
Node: Command Line Editing298164
Node: Introduction and Notation299835
Node: Readline Interaction301458
Node: Readline Bare Essentials302649
Node: Readline Movement Commands304432
Node: Readline Killing Commands305392
Node: Readline Arguments307310
Node: Searching308354
Node: Readline Init File310540
Node: Readline Init File Syntax311687
Node: Conditional Init Constructs332087
Node: Sample Init File336283
Node: Bindable Readline Commands339400
Node: Commands For Moving340604
Node: Commands For History342453
Node: Commands For Text346748
Node: Commands For Killing350136
Node: Numeric Arguments352617
Node: Commands For Completion353756
Node: Keyboard Macros357947
Node: Miscellaneous Commands358634
Node: Readline vi Mode364587
Node: Programmable Completion365494
Node: Programmable Completion Builtins373088
Node: A Programmable Completion Example383616
Node: Using History Interactively388856
Node: Bash History Facilities389540
Node: Bash History Builtins392545
Node: History Interaction397076
Node: Event Designators400696
Node: Word Designators401915
Node: Modifiers403552
Node: Installing Bash404954
Node: Basic Installation406091
Node: Compilers and Options409349
Node: Compiling For Multiple Architectures410090
Node: Installation Names411783
Node: Specifying the System Type412601
Node: Sharing Defaults413317
Node: Operation Controls413990
Node: Optional Features414948
Node: Reporting Bugs425466
Node: Major Differences From The Bourne Shell426660
Node: GNU Free Documentation License443512
Node: Indexes468689
Node: Builtin Index469143
Node: Reserved Word Index475970
Node: Variable Index478418
Node: Function Index494096
Node: Concept Index507399
Node: Top891
Node: Introduction2805
Node: What is Bash?3021
Node: What is a shell?4135
Node: Definitions6673
Node: Basic Shell Features9624
Node: Shell Syntax10843
Node: Shell Operation11869
Node: Quoting13162
Node: Escape Character14462
Node: Single Quotes14947
Node: Double Quotes15295
Node: ANSI-C Quoting16573
Node: Locale Translation17832
Node: Comments18728
Node: Shell Commands19346
Node: Simple Commands20218
Node: Pipelines20849
Node: Lists23781
Node: Compound Commands25520
Node: Looping Constructs26532
Node: Conditional Constructs29027
Node: Command Grouping40110
Node: Coprocesses41589
Node: GNU Parallel43492
Node: Shell Functions47550
Node: Shell Parameters54633
Node: Positional Parameters59046
Node: Special Parameters59946
Node: Shell Expansions63660
Node: Brace Expansion65783
Node: Tilde Expansion68507
Node: Shell Parameter Expansion71124
Node: Command Substitution85580
Node: Arithmetic Expansion86935
Node: Process Substitution87867
Node: Word Splitting88987
Node: Filename Expansion90931
Node: Pattern Matching93461
Node: Quote Removal97447
Node: Redirections97742
Node: Executing Commands107300
Node: Simple Command Expansion107970
Node: Command Search and Execution109900
Node: Command Execution Environment112276
Node: Environment115260
Node: Exit Status116919
Node: Signals118589
Node: Shell Scripts120556
Node: Shell Builtin Commands123071
Node: Bourne Shell Builtins125109
Node: Bash Builtins145767
Node: Modifying Shell Behavior174675
Node: The Set Builtin175020
Node: The Shopt Builtin185433
Node: Special Builtins202303
Node: Shell Variables203282
Node: Bourne Shell Variables203719
Node: Bash Variables205823
Node: Bash Features236283
Node: Invoking Bash237182
Node: Bash Startup Files243195
Node: Interactive Shells248298
Node: What is an Interactive Shell?248708
Node: Is this Shell Interactive?249357
Node: Interactive Shell Behavior250172
Node: Bash Conditional Expressions253659
Node: Shell Arithmetic258025
Node: Aliases260842
Node: Arrays263390
Node: The Directory Stack268756
Node: Directory Stack Builtins269540
Node: Controlling the Prompt272508
Node: The Restricted Shell275274
Node: Bash POSIX Mode277099
Node: Job Control287514
Node: Job Control Basics287974
Node: Job Control Builtins292942
Node: Job Control Variables297669
Node: Command Line Editing298825
Node: Introduction and Notation300496
Node: Readline Interaction302119
Node: Readline Bare Essentials303310
Node: Readline Movement Commands305093
Node: Readline Killing Commands306053
Node: Readline Arguments307971
Node: Searching309015
Node: Readline Init File311201
Node: Readline Init File Syntax312348
Node: Conditional Init Constructs332748
Node: Sample Init File336944
Node: Bindable Readline Commands340061
Node: Commands For Moving341265
Node: Commands For History343114
Node: Commands For Text347409
Node: Commands For Killing350797
Node: Numeric Arguments353278
Node: Commands For Completion354417
Node: Keyboard Macros358608
Node: Miscellaneous Commands359295
Node: Readline vi Mode365248
Node: Programmable Completion366155
Node: Programmable Completion Builtins373749
Node: A Programmable Completion Example384442
Node: Using History Interactively389682
Node: Bash History Facilities390366
Node: Bash History Builtins393371
Node: History Interaction397902
Node: Event Designators401522
Node: Word Designators402741
Node: Modifiers404378
Node: Installing Bash405780
Node: Basic Installation406917
Node: Compilers and Options410175
Node: Compiling For Multiple Architectures410916
Node: Installation Names412609
Node: Specifying the System Type413427
Node: Sharing Defaults414143
Node: Operation Controls414816
Node: Optional Features415774
Node: Reporting Bugs426292
Node: Major Differences From The Bourne Shell427486
Node: GNU Free Documentation License444338
Node: Indexes469515
Node: Builtin Index469969
Node: Reserved Word Index476796
Node: Variable Index479244
Node: Function Index494995
Node: Concept Index508298

End Tag Table
+7 -7
View File
@@ -1,4 +1,4 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/MacPorts 2017_2) (preloaded format=pdfetex 2017.7.5) 16 JUL 2018 10:36
This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018/MacPorts 2018.47642_1) (preloaded format=pdfetex 2018.9.7) 7 SEP 2018 16:15
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
@@ -270,9 +270,9 @@ texinfo.tex: doing @include of fdl.texi
[163] [164] [165] [166] [167]) Appendix D [168] [169] [170] [171] [172]
[173] [174] [175] [176] [177] )
Here is how much of TeX's memory you used:
4065 strings out of 497104
47072 string characters out of 6206767
136573 words of memory out of 5000000
4065 strings out of 497100
47078 string characters out of 6206795
136577 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
@@ -294,10 +294,10 @@ s/type1/public/amsfonts/cm/cmtt12.pfb></opt/local/share/texmf-texlive/fonts/typ
e1/public/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fonts/type1/pub
lic/cm-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm
-super/sfrm1440.pfb>
Output written on bashref.pdf (183 pages, 750313 bytes).
Output written on bashref.pdf (183 pages, 751241 bytes).
PDF statistics:
2618 PDF objects out of 2984 (max. 8388607)
2390 compressed objects within 24 object streams
2620 PDF objects out of 2984 (max. 8388607)
2392 compressed objects within 24 object streams
309 named destinations out of 1000 (max. 500000)
1125 words of extra memory for PDF output out of 10000 (max. 10000000)
BIN
View File
Binary file not shown.
+1260 -1237
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -35,7 +35,7 @@
@numsubsecentry{Process Substitution}{3.5.6}{Process Substitution}{31}
@numsubsecentry{Word Splitting}{3.5.7}{Word Splitting}{31}
@numsubsecentry{Filename Expansion}{3.5.8}{Filename Expansion}{32}
@numsubsubsecentry{Pattern Matching}{3.5.8.1}{Pattern Matching}{32}
@numsubsubsecentry{Pattern Matching}{3.5.8.1}{Pattern Matching}{33}
@numsubsecentry{Quote Removal}{3.5.9}{Quote Removal}{34}
@numsecentry{Redirections}{3.6}{Redirections}{34}
@numsubsecentry{Redirecting Input}{3.6.1}{}{35}
+2 -1
View File
@@ -86,6 +86,7 @@
\entry{HOSTTYPE}{80}{\code {HOSTTYPE}}
\entry{IGNOREEOF}{80}{\code {IGNOREEOF}}
\entry{INPUTRC}{80}{\code {INPUTRC}}
\entry{INSIDE_EMACS}{80}{\code {INSIDE_EMACS}}
\entry{LANG}{80}{\code {LANG}}
\entry{LC_ALL}{80}{\code {LC_ALL}}
\entry{LC_COLLATE}{80}{\code {LC_COLLATE}}
@@ -110,7 +111,7 @@
\entry{PS3}{81}{\code {PS3}}
\entry{PS4}{81}{\code {PS4}}
\entry{PWD}{81}{\code {PWD}}
\entry{RANDOM}{81}{\code {RANDOM}}
\entry{RANDOM}{82}{\code {RANDOM}}
\entry{READLINE_LINE}{82}{\code {READLINE_LINE}}
\entry{READLINE_POINT}{82}{\code {READLINE_POINT}}
\entry{REPLY}{82}{\code {REPLY}}
+2 -1
View File
@@ -118,6 +118,7 @@
\entry {\code {IGNOREEOF}}{80}
\entry {\code {input-meta}}{113}
\entry {\code {INPUTRC}}{80}
\entry {\code {INSIDE_EMACS}}{80}
\entry {\code {isearch-terminators}}{113}
\initial {K}
\entry {\code {keymap}}{113}
@@ -164,7 +165,7 @@
\entry {\code {PS4}}{81}
\entry {\code {PWD}}{81}
\initial {R}
\entry {\code {RANDOM}}{81}
\entry {\code {RANDOM}}{82}
\entry {\code {READLINE_LINE}}{82}
\entry {\code {READLINE_POINT}}{82}
\entry {\code {REPLY}}{82}
+18 -16
View File
@@ -219,18 +219,20 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
completion specifications are printed in a way that allows them
to be reused as input. The --rr option removes a completion spec-
ification for each _n_a_m_e, or, if no _n_a_m_es are supplied, all com-
pletion specifications. The --DD option indicates that the
remaining options and actions should apply to the ``default''
command completion; that is, completion attempted on a command
for which no completion has previously been defined. The --EE
option indicates that the remaining options and actions should
apply to ``empty'' command completion; that is, completion
attempted on a blank line. The --II option indicates that the
remaining options and actions should apply to completion on the
inital non-assignment word on the line, or after a command
delimiter such as ;; or ||, which is usually command name comple-
tion. If multiple options are supplied, the --DD option takes
precedence over --EE, and both take precedence of --II.
pletion specifications. The --DD option indicates that other sup-
plied options and actions should apply to the ``default'' com-
mand completion; that is, completion attempted on a command for
which no completion has previously been defined. The --EE option
indicates that other supplied options and actions should apply
to ``empty'' command completion; that is, completion attempted
on a blank line. The --II option indicates that other supplied
options and actions should apply to completion on the inital
non-assignment word on the line, or after a command delimiter
such as ;; or ||, which is usually command name completion. If
multiple options are supplied, the --DD option takes precedence
over --EE, and both take precedence over --II. If any of --DD, --EE, or
--II are supplied, any other _n_a_m_e arguments are ignored; these
completions only apply to the case specified by the option.
The process of applying these completion specifications when
word completion is attempted is described above under PPrrooggrraamm--
@@ -364,13 +366,13 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
are supplied. If no _o_p_t_i_o_ns are given, display the completion
options for each _n_a_m_e or the current completion. The possible
values of _o_p_t_i_o_n are those valid for the ccoommpplleettee builtin
described above. The --DD option indicates that the remaining
described above. The --DD option indicates that other supplied
options should apply to the ``default'' command completion; that
is, completion attempted on a command for which no completion
has previously been defined. The --EE option indicates that the
remaining options should apply to ``empty'' command completion;
has previously been defined. The --EE option indicates that other
supplied options should apply to ``empty'' command completion;
that is, completion attempted on a blank line. The --II option
indicates that the remaining options should apply to completion
indicates that other supplied options should apply to completion
on the inital non-assignment word on the line, or after a com-
mand delimiter such as ;; or ||, which is usually command name
completion.
+233 -228
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
%%CreationDate: Mon Jul 16 10:36:39 2018
%%CreationDate: Fri Sep 7 15:34:15 2018
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
@@ -614,360 +614,365 @@ E F0 3.404(][)C F2<ad41>-3.404 E F3(action)3.404 E F0 3.404(][)C F2
(reused as input.)144 578.4 R(The)5.31 E F2<ad72>2.81 E F0 .31
(option remo)2.81 F -.15(ve)-.15 G 2.81(sac).15 G .31
(ompletion speci\214cation for each)-2.81 F F3(name)2.81 E F0 2.81(,o)C
1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E F3(name)2.81 E F0(s)A 1.346
(are supplied, all completion speci\214cations.)144 590.4 R(The)6.347 E
F2<ad44>3.847 E F0 1.347(option indicates that the remaining options)
3.847 F .5(and actions should apply to the `)144 602.4 R(`def)-.74 E
1.11 -.4(r, i)-2.81 H 2.81(fn).4 G(o)-2.81 E F3(name)2.81 E F0(s)A 1.207
(are supplied, all completion speci\214cations.)144 590.4 R(The)6.207 E
F2<ad44>3.707 E F0 1.208(option indicates that other supplied options)
3.708 F .5(and actions should apply to the `)144 602.4 R(`def)-.74 E
(ault')-.1 E 3('c)-.74 G .5
(ommand completion; that is, completion attempted on)-3 F 3.455(ac)144
614.4 S .955(ommand for which no completion has pre)-3.455 F .955
(viously been de\214ned.)-.25 F(The)5.955 E F2<ad45>3.455 E F0 .955
(option indicates that)3.455 F .065
(the remaining options and actions should apply to `)144 626.4 R
(`empty')-.74 E 2.564('c)-.74 G .064
(ommand completion; that is, comple-)-2.564 F 1.373
(tion attempted on a blank line.)144 638.4 R(The)6.373 E F2<ad49>3.873 E
F0 1.374(option indicates that the remaining options and actions)3.873 F
1.335(should apply to completion on the inital non-assignment w)144
650.4 R 1.334(ord on the line, or after a command)-.1 F .43
(delimiter such as)144 662.4 R F2(;)2.93 E F0(or)2.93 E F2(|)2.93 E F0
2.93(,w)C .431(hich is usually command name completion.)-2.93 F .431
(If multiple options are sup-)5.431 F(plied, the)144 674.4 Q F2<ad44>2.5
E F0(option tak)2.5 E(es precedence o)-.1 E -.15(ve)-.15 G(r).15 E F2
<ad45>2.5 E F0 2.5(,a)C(nd both tak)-2.5 E 2.5(ep)-.1 G(recedence of)
-2.5 E F2<ad49>2.5 E F0(.)A 1.438
(option indicates that)3.455 F .876
(other supplied options and actions should apply to `)144 626.4 R
(`empty')-.74 E 3.376('c)-.74 G .876(ommand completion; that is, com-)
-3.376 F .447(pletion attempted on a blank line.)144 638.4 R(The)5.447 E
F2<ad49>2.947 E F0 .448
(option indicates that other supplied options and actions)2.947 F 1.335
(should apply to completion on the inital non-assignment w)144 650.4 R
1.334(ord on the line, or after a command)-.1 F .43(delimiter such as)
144 662.4 R F2(;)2.93 E F0(or)2.93 E F2(|)2.93 E F0 2.93(,w)C .431
(hich is usually command name completion.)-2.93 F .431
(If multiple options are sup-)5.431 F .708(plied, the)144 674.4 R F2
<ad44>3.208 E F0 .708(option tak)3.208 F .708(es precedence o)-.1 F -.15
(ve)-.15 G(r).15 E F2<ad45>3.208 E F0 3.208(,a)C .708(nd both tak)-3.208
F 3.208(ep)-.1 G .707(recedence o)-3.208 F -.15(ve)-.15 G(r).15 E F2
<ad49>3.207 E F0 5.707(.I)C 3.207(fa)-5.707 G 1.007 -.15(ny o)-3.207 H
(f).15 E F2<ad44>3.207 E F0(,)A F2<ad45>144 686.4 Q F0 2.603(,o)C(r)
-2.603 E F2<ad49>2.603 E F0 .103(are supplied, an)2.603 F 2.603(yo)-.15
G(ther)-2.603 E F3(name)2.603 E F0(ar)2.603 E .103
(guments are ignored; these completions only apply to the)-.18 F
(case speci\214ed by the option.)144 698.4 Q 1.438
(The process of applying these completion speci\214cations when w)144
698.4 R 1.437(ord completion is attempted is)-.1 F(described abo)144
710.4 Q .3 -.15(ve u)-.15 H(nder).15 E F2(Pr)2.5 E
(ogrammable Completion)-.18 E F0(.)A(GNU Bash 5.0)72 768 Q(2004 Apr 20)
149.565 E(3)203.725 E 0 Cg EP
722.4 R 1.437(ord completion is attempted is)-.1 F(GNU Bash 5.0)72 768 Q
(2004 Apr 20)149.565 E(3)203.725 E 0 Cg EP
%%Page: 4 4
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
E(UIL)-.1 E(TINS\(1\))-.92 E .555(Other options, if speci\214ed, ha)144
84 R .855 -.15(ve t)-.2 H .555(he follo).15 F .555(wing meanings.)-.25 F
.555(The ar)5.555 F .555(guments to the)-.18 F/F1 10/Times-Bold@0 SF
<ad47>3.056 E F0(,)A F1<ad57>3.056 E F0 3.056(,a)C(nd)-3.056 E F1<ad58>
3.056 E F0 .723(options \(and, if necessary)144 96 R 3.223(,t)-.65 G(he)
-3.223 E F1<ad50>3.223 E F0(and)3.223 E F1<ad53>3.223 E F0 .722
E(UIL)-.1 E(TINS\(1\))-.92 E(described abo)144 84 Q .3 -.15(ve u)-.15 H
(nder).15 E/F1 10/Times-Bold@0 SF(Pr)2.5 E(ogrammable Completion)-.18 E
F0(.)A .555(Other options, if speci\214ed, ha)144 108 R .855 -.15(ve t)
-.2 H .555(he follo).15 F .555(wing meanings.)-.25 F .555(The ar)5.555 F
.555(guments to the)-.18 F F1<ad47>3.056 E F0(,)A F1<ad57>3.056 E F0
3.056(,a)C(nd)-3.056 E F1<ad58>3.056 E F0 .723
(options \(and, if necessary)144 120 R 3.223(,t)-.65 G(he)-3.223 E F1
<ad50>3.223 E F0(and)3.223 E F1<ad53>3.223 E F0 .722
(options\) should be quoted to protect them from e)3.223 F(xpan-)-.15 E
(sion before the)144 108 Q F1(complete)2.5 E F0 -.2(bu)2.5 G
(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1<ad6f>144 120 Q/F2
10/Times-Italic@0 SF(comp-option)2.5 E F0(The)184 132 Q F2(comp-option)
(sion before the)144 132 Q F1(complete)2.5 E F0 -.2(bu)2.5 G
(iltin is in).2 E -.2(vo)-.4 G -.1(ke).2 G(d.).1 E F1<ad6f>144 144 Q/F2
10/Times-Italic@0 SF(comp-option)2.5 E F0(The)184 156 Q F2(comp-option)
2.79 E F0 .291(controls se)2.791 F -.15(ve)-.25 G .291
(ral aspects of the compspec').15 F 2.791(sb)-.55 G(eha)-2.791 E .291
(vior be)-.2 F .291(yond the simple)-.15 F(generation of completions.)
184 144 Q F2(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184
156 Q F0 .281(Perform the rest of the def)224 168 R(ault)-.1 E F1(bash)
184 168 Q F2(comp-option)5 E F0(may be one of:)2.5 E F1(bashdefault)184
180 Q F0 .281(Perform the rest of the def)224 192 R(ault)-.1 E F1(bash)
2.781 E F0 .281(completions if the compspec generates no)2.781 F
(matches.)224 180 Q F1(default)184 192 Q F0 2.875(Use readline')224 192
(matches.)224 204 Q F1(default)184 216 Q F0 2.875(Use readline')224 216
R 5.375(sd)-.55 G(ef)-5.375 E 2.876
(ault \214lename completion if the compspec generates no)-.1 F(matches.)
224 204 Q F1(dir)184 216 Q(names)-.15 E F0(Perform directory name compl\
etion if the compspec generates no matches.)224 228 Q F1(\214lenames)184
240 Q F0 -.7(Te)224 252 S .137(ll readline that the compspec generates \
224 228 Q F1(dir)184 240 Q(names)-.15 E F0(Perform directory name compl\
etion if the compspec generates no matches.)224 252 Q F1(\214lenames)184
264 Q F0 -.7(Te)224 276 S .137(ll readline that the compspec generates \
\214lenames, so it can perform an).7 F 2.636<798c>-.15 G(le-)-2.636 E
.134(name\255speci\214c processing \(lik)224 264 R 2.634(ea)-.1 G .134
.134(name\255speci\214c processing \(lik)224 288 R 2.634(ea)-.1 G .134
(dding a slash to directory names, quoting spe-)-2.634 F .45
(cial characters, or suppressing trailing spaces\).)224 276 R .45
(Intended to be used with shell)5.45 F(functions.)224 288 Q F1(noquote)
184 300 Q F0 -.7(Te)224 300 S .814
(cial characters, or suppressing trailing spaces\).)224 300 R .45
(Intended to be used with shell)5.45 F(functions.)224 312 Q F1(noquote)
184 324 Q F0 -.7(Te)224 324 S .814
(ll readline not to quote the completed w).7 F .814(ords if the)-.1 F
3.314(ya)-.15 G .815(re \214lenames \(quoting)-3.314 F
(\214lenames is the def)224 312 Q(ault\).)-.1 E F1(nosort)184 324 Q F0
-.7(Te)224 324 S(ll readline not to sort the list of possible completio\
ns alphabetically).7 E(.)-.65 E F1(nospace)184 336 Q F0 -.7(Te)224 336 S
(\214lenames is the def)224 336 Q(ault\).)-.1 E F1(nosort)184 348 Q F0
-.7(Te)224 348 S(ll readline not to sort the list of possible completio\
ns alphabetically).7 E(.)-.65 E F1(nospace)184 360 Q F0 -.7(Te)224 360 S
.22(ll readline not to append a space \(the def).7 F .22(ault\) to w)-.1
F .22(ords completed at the end)-.1 F(of the line.)224 348 Q F1
(plusdirs)184 360 Q F0 1.985(After an)224 360 R 4.485(ym)-.15 G 1.985
F .22(ords completed at the end)-.1 F(of the line.)224 372 Q F1
(plusdirs)184 384 Q F0 1.985(After an)224 384 R 4.485(ym)-.15 G 1.985
(atches de\214ned by the compspec are generated, directory name)-4.485 F
.584(completion is attempted and an)224 372 R 3.084(ym)-.15 G .584
(atches are added to the results of the other)-3.084 F(actions.)224 384
Q F1<ad41>144 396 Q F2(action)2.5 E F0(The)184 408 Q F2(action)2.5 E F0
.584(completion is attempted and an)224 396 R 3.084(ym)-.15 G .584
(atches are added to the results of the other)-3.084 F(actions.)224 408
Q F1<ad41>144 420 Q F2(action)2.5 E F0(The)184 432 Q F2(action)2.5 E F0
(may be one of the follo)2.5 E
(wing to generate a list of possible completions:)-.25 E F1(alias)184
420 Q F0(Alias names.)224 420 Q(May also be speci\214ed as)5 E F1<ad61>
2.5 E F0(.)A F1(arrayv)184 432 Q(ar)-.1 E F0(Array v)224 444 Q
(ariable names.)-.25 E F1(binding)184 456 Q(Readline)224 456 Q F0 -.1
(ke)2.5 G 2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 468 S(iltin)
.2 E F0(Names of shell b)224 468 Q(uiltin commands.)-.2 E
(May also be speci\214ed as)5 E F1<ad62>2.5 E F0(.)A F1(command)184 480
Q F0(Command names.)224 492 Q(May also be speci\214ed as)5 E F1<ad63>2.5
E F0(.)A F1(dir)184 504 Q(ectory)-.18 E F0(Directory names.)224 516 Q
(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 528
Q F0(Names of disabled shell b)224 540 Q(uiltins.)-.2 E F1(enabled)184
552 Q F0(Names of enabled shell b)224 552 Q(uiltins.)-.2 E F1(export)184
564 Q F0(Names of e)224 564 Q(xported shell v)-.15 E 2.5(ariables. May)
444 Q F0(Alias names.)224 444 Q(May also be speci\214ed as)5 E F1<ad61>
2.5 E F0(.)A F1(arrayv)184 456 Q(ar)-.1 E F0(Array v)224 468 Q
(ariable names.)-.25 E F1(binding)184 480 Q(Readline)224 480 Q F0 -.1
(ke)2.5 G 2.5(yb)-.05 G(inding names.)-2.5 E F1 -.2(bu)184 492 S(iltin)
.2 E F0(Names of shell b)224 492 Q(uiltin commands.)-.2 E
(May also be speci\214ed as)5 E F1<ad62>2.5 E F0(.)A F1(command)184 504
Q F0(Command names.)224 516 Q(May also be speci\214ed as)5 E F1<ad63>2.5
E F0(.)A F1(dir)184 528 Q(ectory)-.18 E F0(Directory names.)224 540 Q
(May also be speci\214ed as)5 E F1<ad64>2.5 E F0(.)A F1(disabled)184 552
Q F0(Names of disabled shell b)224 564 Q(uiltins.)-.2 E F1(enabled)184
576 Q F0(Names of enabled shell b)224 576 Q(uiltins.)-.2 E F1(export)184
588 Q F0(Names of e)224 588 Q(xported shell v)-.15 E 2.5(ariables. May)
-.25 F(also be speci\214ed as)2.5 E F1<ad65>2.5 E F0(.)A F1(\214le)184
576 Q F0(File names.)224 576 Q(May also be speci\214ed as)5 E F1<ad66>
2.5 E F0(.)A F1(function)184 588 Q F0(Names of shell functions.)224 600
Q F1(gr)184 612 Q(oup)-.18 E F0(Group names.)224 612 Q
600 Q F0(File names.)224 600 Q(May also be speci\214ed as)5 E F1<ad66>
2.5 E F0(.)A F1(function)184 612 Q F0(Names of shell functions.)224 624
Q F1(gr)184 636 Q(oup)-.18 E F0(Group names.)224 636 Q
(May also be speci\214ed as)5 E F1<ad67>2.5 E F0(.)A F1(helptopic)184
624 Q F0(Help topics as accepted by the)224 636 Q F1(help)2.5 E F0 -.2
(bu)2.5 G(iltin.).2 E F1(hostname)184 648 Q F0(Hostnames, as tak)224 660
648 Q F0(Help topics as accepted by the)224 660 Q F1(help)2.5 E F0 -.2
(bu)2.5 G(iltin.).2 E F1(hostname)184 672 Q F0(Hostnames, as tak)224 684
Q(en from the \214le speci\214ed by the)-.1 E/F3 9/Times-Bold@0 SF
(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E F1(job)184 672 Q F0
(Job names, if job control is acti)224 672 Q -.15(ve)-.25 G 5(.M).15 G
(ay also be speci\214ed as)-5 E F1<ad6a>2.5 E F0(.)A F1 -.1(ke)184 684 S
(yw).1 E(ord)-.1 E F0(Shell reserv)224 696 Q(ed w)-.15 E 2.5(ords. May)
-.1 F(also be speci\214ed as)2.5 E F1<ad6b>2.5 E F0(.)A F1(running)184
708 Q F0(Names of running jobs, if job control is acti)224 708 Q -.15
(ve)-.25 G(.).15 E(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(4)203.725
E 0 Cg EP
(HOSTFILE)2.5 E F0(shell v)2.25 E(ariable.)-.25 E F1(job)184 696 Q F0
(Job names, if job control is acti)224 696 Q -.15(ve)-.25 G 5(.M).15 G
(ay also be speci\214ed as)-5 E F1<ad6a>2.5 E F0(.)A(GNU Bash 5.0)72 768
Q(2004 Apr 20)149.565 E(4)203.725 E 0 Cg EP
%%Page: 5 5
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(ser)184 84 Q(vice)-.1
E F0(Service names.)224 84 Q(May also be speci\214ed as)5 E F1<ad73>2.5
E F0(.)A F1(setopt)184 96 Q F0 -1.11(Va)224 96 S(lid ar)1.11 E
(guments for the)-.18 E F1<ad6f>2.5 E F0(option to the)2.5 E F1(set)2.5
E F0 -.2(bu)2.5 G(iltin.).2 E F1(shopt)184 108 Q F0
(Shell option names as accepted by the)224 108 Q F1(shopt)2.5 E F0 -.2
(bu)2.5 G(iltin.).2 E F1(signal)184 120 Q F0(Signal names.)224 120 Q F1
(stopped)184 132 Q F0(Names of stopped jobs, if job control is acti)224
132 Q -.15(ve)-.25 G(.).15 E F1(user)184 144 Q F0(User names.)224 144 Q
(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 156 S
(riable).1 E F0(Names of all shell v)224 156 Q 2.5(ariables. May)-.25 F
(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad43>144 168 Q/F2
10/Times-Italic@0 SF(command)2.5 E(command)184 180 Q F0 1.055(is e)3.555
E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF -.1(ke)184 84 S(yw).1
E(ord)-.1 E F0(Shell reserv)224 96 Q(ed w)-.15 E 2.5(ords. May)-.1 F
(also be speci\214ed as)2.5 E F1<ad6b>2.5 E F0(.)A F1(running)184 108 Q
F0(Names of running jobs, if job control is acti)224 108 Q -.15(ve)-.25
G(.).15 E F1(ser)184 120 Q(vice)-.1 E F0(Service names.)224 120 Q
(May also be speci\214ed as)5 E F1<ad73>2.5 E F0(.)A F1(setopt)184 132 Q
F0 -1.11(Va)224 132 S(lid ar)1.11 E(guments for the)-.18 E F1<ad6f>2.5 E
F0(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1
(shopt)184 144 Q F0(Shell option names as accepted by the)224 144 Q F1
(shopt)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1(signal)184 156 Q F0
(Signal names.)224 156 Q F1(stopped)184 168 Q F0
(Names of stopped jobs, if job control is acti)224 168 Q -.15(ve)-.25 G
(.).15 E F1(user)184 180 Q F0(User names.)224 180 Q
(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 192 S
(riable).1 E F0(Names of all shell v)224 192 Q 2.5(ariables. May)-.25 F
(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad43>144 204 Q/F2
10/Times-Italic@0 SF(command)2.5 E(command)184 216 Q F0 1.055(is e)3.555
F -.15(xe)-.15 G 1.055(cuted in a subshell en).15 F 1.056
(vironment, and its output is used as the possible)-.4 F(completions.)
184 192 Q F1<ad46>144 204 Q F2(function)2.5 E F0 .114
(The shell function)184 216 R F2(function)2.614 E F0 .114(is e)2.614 F
184 228 Q F1<ad46>144 240 Q F2(function)2.5 E F0 .114
(The shell function)184 252 R F2(function)2.614 E F0 .114(is e)2.614 F
-.15(xe)-.15 G .114(cuted in the current shell en).15 F 2.614
(vironment. When)-.4 F .113(the func-)2.613 F .816(tion is e)184 228 R
(vironment. When)-.4 F .113(the func-)2.613 F .816(tion is e)184 264 R
-.15(xe)-.15 G .816(cuted, the \214rst ar).15 F .816(gument \()-.18 F F1
($1)A F0 3.316(\)i)C 3.316(st)-3.316 G .817
(he name of the command whose ar)-3.316 F(guments)-.18 E 1.407
(are being completed, the second ar)184 240 R 1.407(gument \()-.18 F F1
(are being completed, the second ar)184 276 R 1.407(gument \()-.18 F F1
($2)A F0 3.907(\)i)C 3.907(st)-3.907 G 1.407(he w)-3.907 F 1.407
(ord being completed, and the)-.1 F .103(third ar)184 252 R .103
(ord being completed, and the)-.1 F .103(third ar)184 288 R .103
(gument \()-.18 F F1($3)A F0 2.603(\)i)C 2.603(st)-2.603 G .103(he w)
-2.603 F .104(ord preceding the w)-.1 F .104
(ord being completed on the current com-)-.1 F .102(mand line.)184 264 R
(ord being completed on the current com-)-.1 F .102(mand line.)184 300 R
.102(When it \214nishes, the possible completions are retrie)5.102 F
-.15(ve)-.25 G 2.601(df).15 G .101(rom the v)-2.601 F .101(alue of the)
-.25 F/F3 9/Times-Bold@0 SF(COMPREPL)184 276 Q(Y)-.828 E F0(array v)2.25
E(ariable.)-.25 E F1<ad47>144 288 Q F2(globpat)2.5 E F0 1.007
(The pathname e)184 300 R 1.007(xpansion pattern)-.15 F F2(globpat)3.507
-.25 F/F3 9/Times-Bold@0 SF(COMPREPL)184 312 Q(Y)-.828 E F0(array v)2.25
E(ariable.)-.25 E F1<ad47>144 324 Q F2(globpat)2.5 E F0 1.007
(The pathname e)184 336 R 1.007(xpansion pattern)-.15 F F2(globpat)3.507
E F0 1.007(is e)3.507 F 1.008(xpanded to generate the possible comple-)
-.15 F(tions.)184 312 Q F1<ad50>144 324 Q F2(pr)2.5 E(e\214x)-.37 E(pr)
184 336 Q(e\214x)-.37 E F0 .535(is added at the be)3.035 F .534
-.15 F(tions.)184 348 Q F1<ad50>144 360 Q F2(pr)2.5 E(e\214x)-.37 E(pr)
184 372 Q(e\214x)-.37 E F0 .535(is added at the be)3.035 F .534
(ginning of each possible completion after all other options ha)-.15 F
-.15(ve)-.2 G(been applied.)184 348 Q F1<ad53>144 360 Q F2(suf)2.5 E
<8c78>-.18 E(suf)184 360 Q<8c78>-.18 E F0
-.15(ve)-.2 G(been applied.)184 384 Q F1<ad53>144 396 Q F2(suf)2.5 E
<8c78>-.18 E(suf)184 396 Q<8c78>-.18 E F0
(is appended to each possible completion after all other options ha)2.5
E .3 -.15(ve b)-.2 H(een applied.).15 E F1<ad57>144 372 Q F2(wor)2.5 E
(dlist)-.37 E F0(The)184 384 Q F2(wor)3.639 E(dlist)-.37 E F0 1.14
E .3 -.15(ve b)-.2 H(een applied.).15 E F1<ad57>144 408 Q F2(wor)2.5 E
(dlist)-.37 E F0(The)184 420 Q F2(wor)3.639 E(dlist)-.37 E F0 1.14
(is split using the characters in the)3.639 F F3(IFS)3.64 E F0 1.14
(special v)3.39 F 1.14(ariable as delimiters, and)-.25 F .981
(each resultant w)184 396 R .981(ord is e)-.1 F 3.481(xpanded. Shell)
(each resultant w)184 432 R .981(ord is e)-.1 F 3.481(xpanded. Shell)
-.15 F .981(quoting is honored within)3.481 F F2(wor)3.481 E(dlist)-.37
E F0 3.48(,i)C 3.48(no)-3.48 G .98(rder to)-3.48 F(pro)184 408 Q .765
E F0 3.48(,i)C 3.48(no)-3.48 G .98(rder to)-3.48 F(pro)184 444 Q .765
(vide a mechanism for the w)-.15 F .766
(ords to contain shell metacharacters or characters in the)-.1 F -.25
(va)184 420 S 1.965(lue of).25 F F3(IFS)4.465 E/F4 9/Times-Roman@0 SF(.)
(va)184 456 S 1.965(lue of).25 F F3(IFS)4.465 E/F4 9/Times-Roman@0 SF(.)
A F0 1.964
(The possible completions are the members of the resultant list which)
6.465 F(match the w)184 432 Q(ord being completed.)-.1 E F1<ad58>144 444
Q F2(\214lterpat)2.5 E(\214lterpat)184 456 Q F0 .455
6.465 F(match the w)184 468 Q(ord being completed.)-.1 E F1<ad58>144 480
Q F2(\214lterpat)2.5 E(\214lterpat)184 492 Q F0 .455
(is a pattern as used for pathname e)2.955 F 2.956(xpansion. It)-.15 F
.456(is applied to the list of possible)2.956 F 1.596
(completions generated by the preceding options and ar)184 468 R 1.596
(guments, and each completion)-.18 F(matching)184 480 Q F2(\214lterpat)
(completions generated by the preceding options and ar)184 504 R 1.596
(guments, and each completion)-.18 F(matching)184 516 Q F2(\214lterpat)
3.204 E F0 .704(is remo)3.204 F -.15(ve)-.15 G 3.204(df).15 G .704
(rom the list.)-3.204 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0
(in)3.204 E F2(\214lterpat)3.205 E F0(ne)3.205 E -.05(ga)-.15 G .705
(tes the pattern;).05 F(in this case, an)184 492 Q 2.5(yc)-.15 G
(tes the pattern;).05 F(in this case, an)184 528 Q 2.5(yc)-.15 G
(ompletion not matching)-2.5 E F2(\214lterpat)2.5 E F0(is remo)2.5 E
-.15(ve)-.15 G(d.).15 E .467(The return v)144 508.8 R .467
-.15(ve)-.15 G(d.).15 E .467(The return v)144 544.8 R .467
(alue is true unless an in)-.25 F -.25(va)-.4 G .466
(lid option is supplied, an option other than).25 F F1<ad70>2.966 E F0
(or)2.966 E F1<ad72>2.966 E F0 .466(is sup-)2.966 F 1.361
(plied without a)144 520.8 R F2(name)3.861 E F0(ar)3.861 E 1.361
(plied without a)144 556.8 R F2(name)3.861 E F0(ar)3.861 E 1.361
(gument, an attempt is made to remo)-.18 F 1.662 -.15(ve a c)-.15 H
1.362(ompletion speci\214cation for a).15 F F2(name)144 532.8 Q F0
1.362(ompletion speci\214cation for a).15 F F2(name)144 568.8 Q F0
(for which no speci\214cation e)2.5 E
(xists, or an error occurs adding a completion speci\214cation.)-.15 E
F1(compopt)108 549.6 Q F0([)2.5 E F1<ad6f>A F2(option)2.5 E F0 2.5(][)C
F1(compopt)108 585.6 Q F0([)2.5 E F1<ad6f>A F2(option)2.5 E F0 2.5(][)C
F1(\255DEI)-2.5 E F0 2.5(][)C F1(+o)-2.5 E F2(option)2.5 E F0 2.5(][)C
F2(name)-2.5 E F0(])A .447(Modify completion options for each)144 561.6
F2(name)-2.5 E F0(])A .447(Modify completion options for each)144 597.6
R F2(name)2.947 E F0 .447(according to the)2.947 F F2(option)2.947 E F0
.447(s, or for the currently-e)B -.15(xe)-.15 G(cuting).15 E .725
(completion if no)144 573.6 R F2(name)3.225 E F0 3.225(sa)C .725
(completion if no)144 609.6 R F2(name)3.225 E F0 3.225(sa)C .725
(re supplied.)-3.225 F .725(If no)5.725 F F2(option)3.225 E F0 3.225(sa)
C .725(re gi)-3.225 F -.15(ve)-.25 G .726
(n, display the completion options for).15 F(each)144 585.6 Q F2(name)
(n, display the completion options for).15 F(each)144 621.6 Q F2(name)
3.224 E F0 .724(or the current completion.)3.224 F .724(The possible v)
5.724 F .724(alues of)-.25 F F2(option)3.224 E F0 .724(are those v)3.224
F .723(alid for the)-.25 F F1(com-)3.223 E(plete)144 597.6 Q F0 -.2(bu)
2.797 G .297(iltin described abo).2 F -.15(ve)-.15 G 5.297(.T).15 G(he)
-5.297 E F1<ad44>2.797 E F0 .297
(option indicates that the remaining options should apply to)2.797 F
1.228(the `)144 609.6 R(`def)-.74 E(ault')-.1 E 3.728('c)-.74 G 1.228(o\
F .723(alid for the)-.25 F F1(com-)3.223 E(plete)144 633.6 Q F0 -.2(bu)
2.677 G .177(iltin described abo).2 F -.15(ve)-.15 G 5.178(.T).15 G(he)
-5.178 E F1<ad44>2.678 E F0 .178
(option indicates that other supplied options should apply to)2.678 F
1.228(the `)144 645.6 R(`def)-.74 E(ault')-.1 E 3.728('c)-.74 G 1.228(o\
mmand completion; that is, completion attempted on a command for which \
no)-3.728 F 2.177(completion has pre)144 621.6 R 2.177
(viously been de\214ned.)-.25 F(The)7.177 E F1<ad45>4.677 E F0 2.178
(option indicates that the remaining options)4.678 F 1.539
(should apply to `)144 633.6 R(`empty')-.74 E 4.039('c)-.74 G 1.538
no)-3.728 F 2.038(completion has pre)144 657.6 R 2.038
(viously been de\214ned.)-.25 F(The)7.038 E F1<ad45>4.538 E F0 2.039
(option indicates that other supplied options)4.538 F 1.539
(should apply to `)144 669.6 R(`empty')-.74 E 4.039('c)-.74 G 1.538
(ommand completion; that is, completion attempted on a blank line.)
-4.039 F(The)144 645.6 Q F1<ad49>3.316 E F0 .817(option indicates that \
the remaining options should apply to completion on the inital non-)
3.316 F .868(assignment w)144 657.6 R .868
-4.039 F(The)144 681.6 Q F1<ad49>3.205 E F0 .705(option indicates that \
other supplied options should apply to completion on the inital non-)
3.205 F .868(assignment w)144 693.6 R .868
(ord on the line, or after a command delimiter such as)-.1 F F1(;)3.368
E F0(or)3.368 E F1(|)3.368 E F0 3.367(,w)C .867(hich is usually com-)
-3.367 F(mand name completion.)144 669.6 Q 1.387(The return v)144 693.6
-3.367 F(mand name completion.)144 705.6 Q 1.387(The return v)144 729.6
R 1.387(alue is true unless an in)-.25 F -.25(va)-.4 G 1.388
(lid option is supplied, an attempt is made to modify the).25 F
(options for a)144 705.6 Q F2(name)2.5 E F0
(for which no completion speci\214cation e)2.5 E
(xists, or an output error occurs.)-.15 E(GNU Bash 5.0)72 768 Q
(2004 Apr 20)149.565 E(5)203.725 E 0 Cg EP
(GNU Bash 5.0)72 768 Q(2004 Apr 20)149.565 E(5)203.725 E 0 Cg EP
%%Page: 6 6
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 87.61
(TINS\(1\) General)-.92 F(Commands Manual)2.5 E -.35(BA)90.11 G(SH_B).35
E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10/Times-Bold@0 SF(continue)108 84 Q F0
([)2.5 E/F2 10/Times-Italic@0 SF(n)A F0(])A 1.754(Resume the ne)144 96 R
1.754(xt iteration of the enclosing)-.15 F F1 -.25(fo)4.254 G(r).25 E F0
(,)A F1(while)4.254 E F0(,)A F1(until)4.254 E F0 4.254(,o)C(r)-4.254 E
F1(select)4.254 E F0 4.253(loop. If)4.254 F F2(n)4.613 E F0 1.753
(is speci\214ed,)4.493 F 1.208(resume at the)144 108 R F2(n)3.709 E F0
1.209(th enclosing loop.)B F2(n)6.569 E F0 1.209(must be)3.949 F/F3 10
/Symbol SF<b3>3.709 E F0 3.709(1. If)3.709 F F2(n)4.069 E F0 1.209
E(UIL)-.1 E(TINS\(1\))-.92 E(options for a)144 84 Q/F1 10/Times-Italic@0
SF(name)2.5 E F0(for which no completion speci\214cation e)2.5 E
(xists, or an output error occurs.)-.15 E/F2 10/Times-Bold@0 SF
(continue)108 100.8 Q F0([)2.5 E F1(n)A F0(])A 1.754(Resume the ne)144
112.8 R 1.754(xt iteration of the enclosing)-.15 F F2 -.25(fo)4.254 G(r)
.25 E F0(,)A F2(while)4.254 E F0(,)A F2(until)4.254 E F0 4.254(,o)C(r)
-4.254 E F2(select)4.254 E F0 4.253(loop. If)4.254 F F1(n)4.613 E F0
1.753(is speci\214ed,)4.493 F 1.208(resume at the)144 124.8 R F1(n)3.709
E F0 1.209(th enclosing loop.)B F1(n)6.569 E F0 1.209(must be)3.949 F/F3
10/Symbol SF<b3>3.709 E F0 3.709(1. If)3.709 F F1(n)4.069 E F0 1.209
(is greater than the number of enclosing)3.949 F .514
(loops, the last enclosing loop \(the `)144 120 R(`top-le)-.74 E -.15
(loops, the last enclosing loop \(the `)144 136.8 R(`top-le)-.74 E -.15
(ve)-.25 G(l').15 E 3.014('l)-.74 G .514(oop\) is resumed.)-3.014 F .513
(The return v)5.513 F .513(alue is 0 unless)-.25 F F2(n)3.013 E F0(is)
3.013 E(not greater than or equal to 1.)144 132 Q F1(declar)108 148.8 Q
(e)-.18 E F0([)2.5 E F1(\255aAfFgilnrtux)A F0 2.5(][)C F1<ad70>-2.5 E F0
2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C(..])-2.5 E F1
(typeset)108 160.8 Q F0([)2.5 E F1(\255aAfFgilnrtux)A F0 2.5(][)C F1
<ad70>-2.5 E F0 2.5(][)C F2(name)-2.5 E F0([=)A F2(value)A F0 2.5(].)C
(..])-2.5 E 1.264(Declare v)144 172.8 R 1.264(ariables and/or gi)-.25 F
(The return v)5.513 F .513(alue is 0 unless)-.25 F F1(n)3.013 E F0(is)
3.013 E(not greater than or equal to 1.)144 148.8 Q F2(declar)108 165.6
Q(e)-.18 E F0([)2.5 E F2(\255aAfFgilnrtux)A F0 2.5(][)C F2<ad70>-2.5 E
F0 2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C(..])-2.5 E F2
(typeset)108 177.6 Q F0([)2.5 E F2(\255aAfFgilnrtux)A F0 2.5(][)C F2
<ad70>-2.5 E F0 2.5(][)C F1(name)-2.5 E F0([=)A F1(value)A F0 2.5(].)C
(..])-2.5 E 1.264(Declare v)144 189.6 R 1.264(ariables and/or gi)-.25 F
1.564 -.15(ve t)-.25 H 1.264(hem attrib).15 F 3.765(utes. If)-.2 F(no)
3.765 E F2(name)3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25
3.765 E F1(name)3.765 E F0 3.765(sa)C 1.265(re gi)-3.765 F -.15(ve)-.25
G 3.765(nt).15 G 1.265(hen display the v)-3.765 F 1.265(alues of)-.25 F
-.25(va)144 184.8 S 3.483(riables. The).25 F F1<ad70>3.483 E F0 .983
-.25(va)144 201.6 S 3.483(riables. The).25 F F2<ad70>3.483 E F0 .983
(option will display the attrib)3.483 F .983(utes and v)-.2 F .982
(alues of each)-.25 F F2(name)3.482 E F0 5.982(.W).18 G(hen)-5.982 E F1
<ad70>3.482 E F0 .982(is used)3.482 F(with)144 196.8 Q F2(name)2.774 E
F0(ar)2.774 E .274(guments, additional options, other than)-.18 F F1
<ad66>2.775 E F0(and)2.775 E F1<ad46>2.775 E F0 2.775(,a)C .275
(re ignored.)-2.775 F(When)5.275 E F1<ad70>2.775 E F0 .275(is supplied)
2.775 F(without)144 208.8 Q F2(name)4.814 E F0(ar)4.814 E 2.314
(alues of each)-.25 F F1(name)3.482 E F0 5.982(.W).18 G(hen)-5.982 E F2
<ad70>3.482 E F0 .982(is used)3.482 F(with)144 213.6 Q F1(name)2.774 E
F0(ar)2.774 E .274(guments, additional options, other than)-.18 F F2
<ad66>2.775 E F0(and)2.775 E F2<ad46>2.775 E F0 2.775(,a)C .275
(re ignored.)-2.775 F(When)5.275 E F2<ad70>2.775 E F0 .275(is supplied)
2.775 F(without)144 225.6 Q F1(name)4.814 E F0(ar)4.814 E 2.314
(guments, it will display the attrib)-.18 F 2.314(utes and v)-.2 F 2.313
(alues of all v)-.25 F 2.313(ariables ha)-.25 F 2.313(ving the)-.2 F
(attrib)144 220.8 Q 1.181(utes speci\214ed by the additional options.)
-.2 F 1.182(If no other options are supplied with)6.181 F F1<ad70>3.682
E F0(,)A F1(declar)3.682 E(e)-.18 E F0 .62(will display the attrib)144
232.8 R .62(utes and v)-.2 F .62(alues of all shell v)-.25 F 3.12
(ariables. The)-.25 F F1<ad66>3.12 E F0 .62
(attrib)144 237.6 Q 1.181(utes speci\214ed by the additional options.)
-.2 F 1.182(If no other options are supplied with)6.181 F F2<ad70>3.682
E F0(,)A F2(declar)3.682 E(e)-.18 E F0 .62(will display the attrib)144
249.6 R .62(utes and v)-.2 F .62(alues of all shell v)-.25 F 3.12
(ariables. The)-.25 F F2<ad66>3.12 E F0 .62
(option will restrict the display)3.12 F 1.29(to shell functions.)144
244.8 R(The)6.29 E F1<ad46>3.79 E F0 1.291(option inhibits the display \
261.6 R(The)6.29 E F2<ad46>3.79 E F0 1.291(option inhibits the display \
of function de\214nitions; only the function)3.791 F .948
(name and attrib)144 256.8 R .948(utes are printed.)-.2 F .948(If the)
5.948 F F1(extdeb)3.448 E(ug)-.2 E F0 .948
(shell option is enabled using)3.448 F F1(shopt)3.448 E F0 3.448(,t)C
(name and attrib)144 273.6 R .948(utes are printed.)-.2 F .948(If the)
5.948 F F2(extdeb)3.448 E(ug)-.2 E F0 .948
(shell option is enabled using)3.448 F F2(shopt)3.448 E F0 3.448(,t)C
.948(he source)-3.448 F 1.69(\214le name and line number where each)144
268.8 R F2(name)4.19 E F0 1.69(is de\214ned are displayed as well.)4.19
F(The)6.69 E F1<ad46>4.19 E F0(option)4.19 E(implies)144 280.8 Q F1
<ad66>3.892 E F0 6.392(.T)C(he)-6.392 E F1<ad67>3.892 E F0 1.391
285.6 R F1(name)4.19 E F0 1.69(is de\214ned are displayed as well.)4.19
F(The)6.69 E F2<ad46>4.19 E F0(option)4.19 E(implies)144 297.6 Q F2
<ad66>3.892 E F0 6.392(.T)C(he)-6.392 E F2<ad67>3.892 E F0 1.391
(option forces v)3.892 F 1.391
(ariables to be created or modi\214ed at the global scope, e)-.25 F -.15
(ve)-.25 G(n).15 E(when)144 292.8 Q F1(declar)4.382 E(e)-.18 E F0 1.882
(ve)-.25 G(n).15 E(when)144 309.6 Q F2(declar)4.382 E(e)-.18 E F0 1.882
(is e)4.382 F -.15(xe)-.15 G 1.882(cuted in a shell function.).15 F
1.883(It is ignored in all other cases.)6.882 F 1.883(The follo)6.883 F
(wing)-.25 E .794(options can be used to restrict output to v)144 304.8
(wing)-.25 E .794(options can be used to restrict output to v)144 321.6
R .794(ariables with the speci\214ed attrib)-.25 F .793(ute or to gi)-.2
F 1.093 -.15(ve v)-.25 H(ariables)-.1 E(attrib)144 316.8 Q(utes:)-.2 E
F1<ad61>144 328.8 Q F0(Each)180 328.8 Q F2(name)2.5 E F0(is an inde)2.5
E -.15(xe)-.15 G 2.5(da).15 G(rray v)-2.5 E(ariable \(see)-.25 E F1
(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F1<ad41>144 340.8 Q
F0(Each)180 340.8 Q F2(name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a)
-.25 H(rray v).15 E(ariable \(see)-.25 E F1(Arrays)2.5 E F0(abo)2.5 E
-.15(ve)-.15 G(\).).15 E F1<ad66>144 352.8 Q F0(Use function names only)
180 352.8 Q(.)-.65 E F1<ad69>144 364.8 Q F0 .557(The v)180 364.8 R .558
F 1.093 -.15(ve v)-.25 H(ariables)-.1 E(attrib)144 333.6 Q(utes:)-.2 E
F2<ad61>144 345.6 Q F0(Each)180 345.6 Q F1(name)2.5 E F0(is an inde)2.5
E -.15(xe)-.15 G 2.5(da).15 G(rray v)-2.5 E(ariable \(see)-.25 E F2
(Arrays)2.5 E F0(abo)2.5 E -.15(ve)-.15 G(\).).15 E F2<ad41>144 357.6 Q
F0(Each)180 357.6 Q F1(name)2.5 E F0(is an associati)2.5 E .3 -.15(ve a)
-.25 H(rray v).15 E(ariable \(see)-.25 E F2(Arrays)2.5 E F0(abo)2.5 E
-.15(ve)-.15 G(\).).15 E F2<ad66>144 369.6 Q F0(Use function names only)
180 369.6 Q(.)-.65 E F2<ad69>144 381.6 Q F0 .557(The v)180 381.6 R .558
(ariable is treated as an inte)-.25 F .558(ger; arithmetic e)-.15 F -.25
(va)-.25 G .558(luation \(see).25 F/F4 9/Times-Bold@0 SF .558
(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)180 376.8 Q F0(abo)
(ARITHMETIC EV)3.058 F(ALU)-1.215 E(A-)-.54 E(TION)180 393.6 Q F0(abo)
2.25 E -.15(ve)-.15 G 2.5(\)i).15 G 2.5(sp)-2.5 G(erformed when the v)
-2.5 E(ariable is assigned a v)-.25 E(alue.)-.25 E F1<ad6c>144 388.8 Q
F0 .91(When the v)180 388.8 R .909(ariable is assigned a v)-.25 F .909
-2.5 E(ariable is assigned a v)-.25 E(alue.)-.25 E F2<ad6c>144 405.6 Q
F0 .91(When the v)180 405.6 R .909(ariable is assigned a v)-.25 F .909
(alue, all upper)-.25 F .909(-case characters are con)-.2 F -.15(ve)-.4
G .909(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 400.8 R
(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1<ad6e>144 412.8
Q F0(Gi)180 412.8 Q 1.619 -.15(ve e)-.25 H(ach).15 E F2(name)3.819 E F0
(the)3.819 E F2(namer)3.819 E(ef)-.37 E F0(attrib)3.819 E 1.319
G .909(rted to lo).15 F(wer)-.25 E(-)-.2 E 2.5(case. The)180 417.6 R
(upper)2.5 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2<ad6e>144 429.6
Q F0(Gi)180 429.6 Q 1.619 -.15(ve e)-.25 H(ach).15 E F1(name)3.819 E F0
(the)3.819 E F1(namer)3.819 E(ef)-.37 E F0(attrib)3.819 E 1.319
(ute, making it a name reference to another v)-.2 F(ariable.)-.25 E
1.519(That other v)180 424.8 R 1.519(ariable is de\214ned by the v)-.25
F 1.518(alue of)-.25 F F2(name)4.018 E F0 6.518(.A)C 1.518
(ll references, assignments, and)-6.518 F(attrib)180 436.8 Q .226
(ute modi\214cations to)-.2 F F2(name)2.726 E F0 2.726(,e)C .226
(xcept those using or changing the)-2.876 F F1<ad6e>2.726 E F0(attrib)
2.726 E .227(ute itself, are)-.2 F .809(performed on the v)180 448.8 R
.809(ariable referenced by)-.25 F F2(name)3.308 E F0 1.908 -.55('s v)D
1.519(That other v)180 441.6 R 1.519(ariable is de\214ned by the v)-.25
F 1.518(alue of)-.25 F F1(name)4.018 E F0 6.518(.A)C 1.518
(ll references, assignments, and)-6.518 F(attrib)180 453.6 Q .226
(ute modi\214cations to)-.2 F F1(name)2.726 E F0 2.726(,e)C .226
(xcept those using or changing the)-2.876 F F2<ad6e>2.726 E F0(attrib)
2.726 E .227(ute itself, are)-.2 F .809(performed on the v)180 465.6 R
.809(ariable referenced by)-.25 F F1(name)3.308 E F0 1.908 -.55('s v)D
3.308(alue. The).3 F .808(nameref attrib)3.308 F .808(ute cannot be)-.2
F(applied to array v)180 460.8 Q(ariables.)-.25 E F1<ad72>144 472.8 Q F0
(Mak)180 472.8 Q(e)-.1 E F2(name)5.046 E F0 5.046(sr)C(eadonly)-5.046 E
F(applied to array v)180 477.6 Q(ariables.)-.25 E F2<ad72>144 489.6 Q F0
(Mak)180 489.6 Q(e)-.1 E F1(name)5.046 E F0 5.046(sr)C(eadonly)-5.046 E
7.546(.T)-.65 G 2.546(hese names cannot then be assigned v)-7.546 F
2.547(alues by subsequent)-.25 F(assignment statements or unset.)180
484.8 Q F1<ad74>144 496.8 Q F0(Gi)180 496.8 Q .73 -.15(ve e)-.25 H(ach)
.15 E F2(name)2.93 E F0(the)2.929 E F2(tr)2.929 E(ace)-.15 E F0(attrib)
2.929 E 2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F1
(DEB)2.929 E(UG)-.1 E F0(and)2.929 E F1(RETURN)2.929 E F0
(traps from the calling shell.)180 508.8 Q(The trace attrib)5 E
(ute has no special meaning for v)-.2 E(ariables.)-.25 E F1<ad75>144
520.8 Q F0 .909(When the v)180 520.8 R .909(ariable is assigned a v)-.25
501.6 Q F2<ad74>144 513.6 Q F0(Gi)180 513.6 Q .73 -.15(ve e)-.25 H(ach)
.15 E F1(name)2.93 E F0(the)2.929 E F1(tr)2.929 E(ace)-.15 E F0(attrib)
2.929 E 2.929(ute. T)-.2 F .429(raced functions inherit the)-.35 F F2
(DEB)2.929 E(UG)-.1 E F0(and)2.929 E F2(RETURN)2.929 E F0
(traps from the calling shell.)180 525.6 Q(The trace attrib)5 E
(ute has no special meaning for v)-.2 E(ariables.)-.25 E F2<ad75>144
537.6 Q F0 .909(When the v)180 537.6 R .909(ariable is assigned a v)-.25
F .909(alue, all lo)-.25 F(wer)-.25 E .909(-case characters are con)-.2
F -.15(ve)-.4 G .91(rted to upper).15 F(-)-.2 E 2.5(case. The)180 532.8
R(lo)2.5 E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F1<ad78>
144 544.8 Q F0(Mark)180 544.8 Q F2(name)2.5 E F0 2.5(sf)C(or e)-2.5 E
F -.15(ve)-.4 G .91(rted to upper).15 F(-)-.2 E 2.5(case. The)180 549.6
R(lo)2.5 E(wer)-.25 E(-case attrib)-.2 E(ute is disabled.)-.2 E F2<ad78>
144 561.6 Q F0(Mark)180 561.6 Q F1(name)2.5 E F0 2.5(sf)C(or e)-2.5 E
(xport to subsequent commands via the en)-.15 E(vironment.)-.4 E .121
(Using `+' instead of `\255' turns of)144 561.6 R 2.621(ft)-.25 G .121
(Using `+' instead of `\255' turns of)144 578.4 R 2.621(ft)-.25 G .121
(he attrib)-2.621 F .121(ute instead, with the e)-.2 F .12
(xceptions that)-.15 F F1(+a)2.62 E F0 .12(may not be used)2.62 F .644
(to destro)144 573.6 R 3.144(ya)-.1 G 3.144(na)-3.144 G .644(rray v)
-3.144 F .644(ariable and)-.25 F F1(+r)3.145 E F0 .645(will not remo)
(xceptions that)-.15 F F2(+a)2.62 E F0 .12(may not be used)2.62 F .644
(to destro)144 590.4 R 3.144(ya)-.1 G 3.144(na)-3.144 G .644(rray v)
-3.144 F .644(ariable and)-.25 F F2(+r)3.145 E F0 .645(will not remo)
3.145 F .945 -.15(ve t)-.15 H .645(he readonly attrib).15 F 3.145
(ute. When)-.2 F .645(used in a func-)3.145 F(tion,)144 585.6 Q F1
(declar)2.835 E(e)-.18 E F0(and)2.835 E F1(typeset)2.835 E F0(mak)2.835
E 2.835(ee)-.1 G(ach)-2.835 E F2(name)2.835 E F0 .335
(local, as with the)2.835 F F1(local)2.835 E F0 .335
(command, unless the)2.835 F F1<ad67>2.835 E F0(option)2.835 E 1.282
(is supplied.)144 597.6 R 1.282(If a v)6.282 F 1.283
(ariable name is follo)-.25 F 1.283(wed by =)-.25 F F2(value)A F0 3.783
(ute. When)-.2 F .645(used in a func-)3.145 F(tion,)144 602.4 Q F2
(declar)2.835 E(e)-.18 E F0(and)2.835 E F2(typeset)2.835 E F0(mak)2.835
E 2.835(ee)-.1 G(ach)-2.835 E F1(name)2.835 E F0 .335
(local, as with the)2.835 F F2(local)2.835 E F0 .335
(command, unless the)2.835 F F2<ad67>2.835 E F0(option)2.835 E 1.282
(is supplied.)144 614.4 R 1.282(If a v)6.282 F 1.283
(ariable name is follo)-.25 F 1.283(wed by =)-.25 F F1(value)A F0 3.783
(,t)C 1.283(he v)-3.783 F 1.283(alue of the v)-.25 F 1.283
(ariable is set to)-.25 F F2(value)3.783 E F0(.)A .927(When using)144
609.6 R F1<ad61>3.427 E F0(or)3.427 E F1<ad41>3.427 E F0 .926
(ariable is set to)-.25 F F1(value)3.783 E F0(.)A .927(When using)144
626.4 R F2<ad61>3.427 E F0(or)3.427 E F2<ad41>3.427 E F0 .926
(and the compound assignment syntax to create array v)3.427 F .926
(ariables, additional)-.25 F(attrib)144 621.6 Q .592(utes do not tak)-.2
(ariables, additional)-.25 F(attrib)144 638.4 Q .592(utes do not tak)-.2
F 3.092(ee)-.1 G -.25(ff)-3.092 G .592
(ect until subsequent assignments.).25 F .592(The return v)5.592 F .592
(alue is 0 unless an in)-.25 F -.25(va)-.4 G(lid).25 E .429
(option is encountered, an attempt is made to de\214ne a function using)
144 633.6 R/F5 10/Courier@0 SF .428(\255f foo=bar)2.929 F F0 2.928(,a)C
144 650.4 R/F5 10/Courier@0 SF .428(\255f foo=bar)2.929 F F0 2.928(,a)C
2.928(na)-2.928 G .428(ttempt is)-2.928 F .062(made to assign a v)144
645.6 R .062(alue to a readonly v)-.25 F .063
662.4 R .062(alue to a readonly v)-.25 F .063
(ariable, an attempt is made to assign a v)-.25 F .063
(alue to an array v)-.25 F(ari-)-.25 E .102
(able without using the compound assignment syntax \(see)144 657.6 R F1
(able without using the compound assignment syntax \(see)144 674.4 R F2
(Arrays)2.602 E F0(abo)2.602 E -.15(ve)-.15 G .102(\), one of the).15 F
F2(names)2.602 E F0 .101(is not a)2.602 F -.25(va)144 669.6 S .171
F1(names)2.602 E F0 .101(is not a)2.602 F -.25(va)144 686.4 S .171
(lid shell v).25 F .171(ariable name, an attempt is made to turn of)-.25
F 2.671(fr)-.25 G .171(eadonly status for a readonly v)-2.671 F .172
(ariable, an)-.25 F .96(attempt is made to turn of)144 681.6 R 3.46(fa)
(ariable, an)-.25 F .96(attempt is made to turn of)144 698.4 R 3.46(fa)
-.25 G .96(rray status for an array v)-3.46 F .96
(ariable, or an attempt is made to display a)-.25 F(non-e)144 693.6 Q
(xistent function with)-.15 E F1<ad66>2.5 E F0(.)A(GNU Bash 5.0)72 768 Q
(ariable, or an attempt is made to display a)-.25 F(non-e)144 710.4 Q
(xistent function with)-.15 E F2<ad66>2.5 E F0(.)A(GNU Bash 5.0)72 768 Q
(2004 Apr 20)149.565 E(6)203.725 E 0 Cg EP
%%Page: 7 7
%%BeginPageSetup
+1 -1
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
%%CreationDate: Mon Jul 16 10:36:39 2018
%%CreationDate: Fri Sep 7 15:34:15 2018
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.22 3
+2 -1
View File
@@ -2987,7 +2987,8 @@ _rl_update_final (void)
putc (last_line[_rl_screenwidth - 1 + woff], rl_outstream);
}
_rl_vis_botlin = 0;
rl_crlf ();
if (botline_length > 0 || _rl_last_c_pos > 0)
rl_crlf ();
fflush (rl_outstream);
rl_display_fixed++;
}
+2 -2
View File
@@ -322,7 +322,7 @@ rl_unix_word_rubout (int count, int key)
rl_point--;
while (rl_point && (whitespace (rl_line_buffer[rl_point - 1]) == 0))
rl_point--;
rl_point--; /* XXX - multibyte? */
}
rl_kill_text (orig_point, rl_point);
@@ -359,7 +359,7 @@ rl_unix_filename_rubout (int count, int key)
while (rl_point && (whitespace (c) == 0) && c != '/')
{
rl_point--;
rl_point--; /* XXX - multibyte? */
c = rl_line_buffer[rl_point - 1];
}
}
+1
View File
@@ -382,6 +382,7 @@ extern void _rl_set_cursor PARAMS((int, int));
extern void _rl_fix_point PARAMS((int));
extern int _rl_replace_text PARAMS((const char *, int, int));
extern int _rl_forward_char_internal PARAMS((int));
extern int _rl_backward_char_internal PARAMS((int));
extern int _rl_insert_char PARAMS((int, int));
extern int _rl_overwrite_char PARAMS((int, int));
extern int _rl_overwrite_rubout PARAMS((int, int));
+29 -2
View File
@@ -300,10 +300,37 @@ _rl_forward_char_internal (int count)
rl_end = 0;
#else
point = rl_point + count;
if (point > rl_end)
point = rl_end;
#endif
if (point > rl_end)
point = rl_end;
return (point);
}
int
_rl_backward_char_internal (int count)
{
int point;
point = rl_point;
#if defined (HANDLE_MULTIBYTE)
if (count > 0)
{
while (count > 0 && point > 0)
{
point = _rl_find_prev_mbchar (rl_line_buffer, point, MB_FIND_NONZERO);
count--;
}
if (count > 0)
return 0; /* XXX - rl_ding() here? */
}
#else
if (count > 0)
point -= count;
#endif
if (point < 0)
point = 0;
return (point);
}
+168 -74
View File
@@ -1,7 +1,7 @@
/* vi_mode.c -- A vi emulation mode for Bash.
Derived from code written by Jeff Sparkes (jsparkes@bnr.ca). */
/* Copyright (C) 1987-2017 Free Software Foundation, Inc.
/* Copyright (C) 1987-2018 Free Software Foundation, Inc.
This file is part of the GNU Readline Library (Readline), a library
for reading lines of text with interactive input and history editing.
@@ -63,6 +63,19 @@
#define member(c, s) ((c) ? (char *)strchr ((s), (c)) != (char *)NULL : 0)
#endif
/* Increment START to the next character in RL_LINE_BUFFER, handling multibyte chars */
#if defined (HANDLE_MULTIBYTE)
#define INCREMENT_POS(start) \
do { \
if (MB_CUR_MAX == 1 || rl_byte_oriented) \
start++; \
else \
start = _rl_find_next_mbchar (rl_line_buffer, start, 1, MB_FIND_ANY); \
} while (0)
#else /* !HANDLE_MULTIBYTE */
#define INCREMENT_POS(start) (start)++
#endif /* !HANDLE_MULTIBYTE */
/* This is global so other parts of the code can check whether the last
command was a text modification command. */
int _rl_vi_last_command = 'i'; /* default `.' puts you in insert mode */
@@ -118,7 +131,7 @@ static void _rl_vi_save_insert PARAMS((UNDO_LIST *));
static void vi_save_insert_buffer PARAMS ((int, int));
static void _rl_vi_backup PARAMS((void));
static inline void _rl_vi_backup PARAMS((void));
static int _rl_vi_arg_dispatch PARAMS((int));
static int rl_digit_loop1 PARAMS((void));
@@ -126,6 +139,9 @@ static int rl_digit_loop1 PARAMS((void));
static int _rl_vi_set_mark PARAMS((void));
static int _rl_vi_goto_mark PARAMS((void));
static inline int _rl_vi_advance_point PARAMS((void));
static inline int _rl_vi_backup_point PARAMS((void));
static void _rl_vi_append_forward PARAMS((int));
static int _rl_vi_callback_getchar PARAMS((char *, int));
@@ -383,7 +399,7 @@ rl_vi_complete (int ignore, int key)
{
if (!whitespace (rl_line_buffer[rl_point + 1]))
rl_vi_end_word (1, 'E');
rl_point++;
_rl_vi_advance_point ();
}
if (key == '*')
@@ -451,6 +467,69 @@ rl_vi_next_word (int count, int key)
return (0);
}
static inline int
_rl_vi_advance_point (void)
{
int point;
point = rl_point;
if (rl_point < rl_end)
#if defined (HANDLE_MULTIBYTE)
{
if (MB_CUR_MAX == 1 || rl_byte_oriented)
rl_point++;
else
{
point = rl_point;
rl_point = _rl_forward_char_internal (1);
if (point == rl_point || rl_point > rl_end)
rl_point = rl_end;
}
}
#else
rl_point++;
#endif
return point;
}
/* Move the cursor back one character. */
static inline void
_rl_vi_backup (void)
{
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
rl_point = _rl_find_prev_mbchar (rl_line_buffer, rl_point, MB_FIND_NONZERO);
else
rl_point--;
}
/* Move the point back one character, returning the starting value and not
doing anything at the beginning of the line */
static inline int
_rl_vi_backup_point (void)
{
int point;
point = rl_point;
if (rl_point > 0)
#if defined (HANDLE_MULTIBYTE)
{
if (MB_CUR_MAX == 1 || rl_byte_oriented)
rl_point--;
else
{
point = rl_point;
rl_point = _rl_backward_char_internal (1);
if (rl_point < 0)
rl_point = 0; /* XXX - not really necessary */
}
}
#else
rl_point--;
#endif
return point;
}
/* Move to the end of the ?next? word. */
int
rl_vi_end_word (int count, int key)
@@ -476,11 +555,11 @@ rl_vi_fWord (int count, int ignore)
{
/* Skip until whitespace. */
while (!whitespace (rl_line_buffer[rl_point]) && rl_point < rl_end)
rl_point++;
_rl_vi_advance_point ();
/* Now skip whitespace. */
while (whitespace (rl_line_buffer[rl_point]) && rl_point < rl_end)
rl_point++;
_rl_vi_advance_point ();
}
return (0);
}
@@ -497,12 +576,18 @@ rl_vi_bWord (int count, int ignore)
rl_point--;
while (rl_point > 0 && whitespace (rl_line_buffer[rl_point]))
rl_point--;
_rl_vi_backup_point ();
if (rl_point > 0)
{
while (--rl_point >= 0 && !whitespace (rl_line_buffer[rl_point]));
rl_point++;
do
_rl_vi_backup_point ();
while (rl_point > 0 && !whitespace (rl_line_buffer[rl_point]));
if (rl_point > 0) /* hit whitespace */
rl_point++;
if (rl_point < 0)
rl_point = 0;
}
}
return (0);
@@ -511,28 +596,32 @@ rl_vi_bWord (int count, int ignore)
int
rl_vi_eWord (int count, int ignore)
{
int opoint;
while (count-- && rl_point < (rl_end - 1))
{
if (!whitespace (rl_line_buffer[rl_point]))
rl_point++;
if (whitespace (rl_line_buffer[rl_point]) == 0)
_rl_vi_advance_point ();
/* Move to the next non-whitespace character (to the start of the
next word). */
while (rl_point < rl_end && whitespace (rl_line_buffer[rl_point]))
rl_point++;
_rl_vi_advance_point ();
if (rl_point && rl_point < rl_end)
{
opoint = rl_point;
/* Skip whitespace. */
while (rl_point < rl_end && whitespace (rl_line_buffer[rl_point]))
rl_point++;
opoint = _rl_vi_advance_point (); /* XXX - why? */
/* Skip until whitespace. */
while (rl_point < rl_end && !whitespace (rl_line_buffer[rl_point]))
rl_point++;
opoint = _rl_vi_advance_point ();
/* Move back to the last character of the word. */
rl_point--;
rl_point = opoint;
}
}
return (0);
@@ -541,24 +630,28 @@ rl_vi_eWord (int count, int ignore)
int
rl_vi_fword (int count, int ignore)
{
int opoint;
while (count-- && rl_point < (rl_end - 1))
{
/* Move to white space (really non-identifer). */
if (_rl_isident (rl_line_buffer[rl_point]))
{
while (_rl_isident (rl_line_buffer[rl_point]) && rl_point < rl_end)
rl_point++;
_rl_vi_advance_point ();
}
else /* if (!whitespace (rl_line_buffer[rl_point])) */
{
while (!_rl_isident (rl_line_buffer[rl_point]) &&
!whitespace (rl_line_buffer[rl_point]) && rl_point < rl_end)
rl_point++;
_rl_vi_advance_point ();
}
opoint = rl_point;
/* Move past whitespace. */
while (whitespace (rl_line_buffer[rl_point]) && rl_point < rl_end)
rl_point++;
opoint = _rl_vi_advance_point ();
}
return (0);
}
@@ -566,9 +659,11 @@ rl_vi_fword (int count, int ignore)
int
rl_vi_bword (int count, int ignore)
{
int opoint;
while (count-- && rl_point > 0)
{
int last_is_ident;
int prev_is_ident, cur_is_ident;
/* If we are at the start of a word, move back to whitespace
so we will go back to the start of the previous word. */
@@ -581,22 +676,35 @@ rl_vi_bword (int count, int ignore)
back so we don't get messed up by the rl_point++ down there in
the while loop. Without this code, words like `l;' screw up the
function. */
last_is_ident = _rl_isident (rl_line_buffer[rl_point - 1]);
if ((_rl_isident (rl_line_buffer[rl_point]) && !last_is_ident) ||
(!_rl_isident (rl_line_buffer[rl_point]) && last_is_ident))
rl_point--;
cur_is_ident = _rl_isident (rl_line_buffer[rl_point]);
opoint = _rl_vi_backup_point ();
prev_is_ident = _rl_isident (rl_line_buffer[rl_point]);
if ((cur_is_ident && !prev_is_ident) || (!cur_is_ident && prev_is_ident))
; /* leave point alone, we backed it up one character */
else
rl_point = opoint;
while (rl_point > 0 && whitespace (rl_line_buffer[rl_point]))
rl_point--;
_rl_vi_backup_point ();
if (rl_point > 0)
{
opoint = rl_point;
if (_rl_isident (rl_line_buffer[rl_point]))
while (--rl_point >= 0 && _rl_isident (rl_line_buffer[rl_point]));
do
opoint = _rl_vi_backup_point ();
while (rl_point > 0 && _rl_isident (rl_line_buffer[rl_point]));
else
while (--rl_point >= 0 && !_rl_isident (rl_line_buffer[rl_point]) &&
do
opoint = _rl_vi_backup_point ();
while (rl_point > 0 && !_rl_isident (rl_line_buffer[rl_point]) &&
!whitespace (rl_line_buffer[rl_point]));
rl_point++;
if (rl_point > 0)
rl_point = opoint;
if (rl_point < 0)
rl_point = 0;
}
}
return (0);
@@ -605,23 +713,34 @@ rl_vi_bword (int count, int ignore)
int
rl_vi_eword (int count, int ignore)
{
while (count-- && rl_point < rl_end - 1)
int opoint;
while (count-- && rl_point < (rl_end - 1))
{
if (!whitespace (rl_line_buffer[rl_point]))
rl_point++;
if (whitespace (rl_line_buffer[rl_point]) == 0)
_rl_vi_advance_point ();
while (rl_point < rl_end && whitespace (rl_line_buffer[rl_point]))
rl_point++;
_rl_vi_advance_point ();
opoint = rl_point;
if (rl_point < rl_end)
{
if (_rl_isident (rl_line_buffer[rl_point]))
while (++rl_point < rl_end && _rl_isident (rl_line_buffer[rl_point]));
do
{
opoint = _rl_vi_advance_point ();
}
while (rl_point < rl_end && _rl_isident (rl_line_buffer[rl_point]));
else
while (++rl_point < rl_end && !_rl_isident (rl_line_buffer[rl_point])
do
{
opoint = _rl_vi_advance_point ();
}
while (rl_point < rl_end && !_rl_isident (rl_line_buffer[rl_point])
&& !whitespace (rl_line_buffer[rl_point]));
}
rl_point--;
rl_point = opoint;
}
return (0);
}
@@ -637,20 +756,7 @@ rl_vi_insert_beg (int count, int key)
static void
_rl_vi_append_forward (int key)
{
int point;
if (rl_point < rl_end)
{
if (MB_CUR_MAX == 1 || rl_byte_oriented)
rl_point++;
else
{
point = rl_point;
rl_point = _rl_forward_char_internal (1);
if (point == rl_point)
rl_point = rl_end;
}
}
_rl_vi_advance_point ();
}
int
@@ -859,7 +965,7 @@ _rl_vi_change_mbchar_case (int count)
rl_begin_undo_group ();
rl_vi_delete (1, 0);
if (rl_point < p) /* Did we retreat at EOL? */
rl_point++; /* XXX - should we advance more than 1 for mbchar? */
_rl_vi_advance_point ();
rl_insert_text (mb);
rl_end_undo_group ();
rl_vi_check ();
@@ -931,27 +1037,12 @@ rl_vi_put (int count, int key)
return (0);
}
/* Move the cursor back one character. */
static void
_rl_vi_backup (void)
{
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
rl_point = _rl_find_prev_mbchar (rl_line_buffer, rl_point, MB_FIND_NONZERO);
else
rl_point--;
}
/* Move the cursor back one character if you're at the end of the line */
int
rl_vi_check (void)
{
if (rl_point && rl_point == rl_end)
{
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
rl_point = _rl_find_prev_mbchar (rl_line_buffer, rl_point, MB_FIND_NONZERO);
else
rl_point--;
}
_rl_vi_backup ();
return (0);
}
@@ -962,7 +1053,10 @@ rl_vi_column (int count, int key)
if (count > rl_end)
rl_end_of_line (1, key);
else
rl_point = count - 1;
{
rl_point = 0;
rl_point = _rl_forward_char_internal (count - 1);
}
return (0);
}
@@ -1113,7 +1207,7 @@ _rl_vi_domove_motion_cleanup (int c, _rl_vimotion_cxt *m)
non-whitespace character, move back one (presumably to whitespace). */
if ((_rl_to_upper (c) == 'W') && rl_point < rl_end && rl_point > rl_mark &&
!whitespace (rl_line_buffer[rl_point]))
rl_point--;
rl_point--; /* XXX */
/* If cw or cW, back up to the end of a word, so the behaviour of ce
or cE is the actual result. Brute-force, no subtlety. */
@@ -1126,14 +1220,14 @@ _rl_vi_domove_motion_cleanup (int c, _rl_vimotion_cxt *m)
/* Posix.2 says that if cw or cW moves the cursor towards the end of
the line, the character under the cursor should be deleted. */
if (rl_point == rl_mark)
rl_point++;
_rl_vi_advance_point ();
else
{
/* Move past the end of the word so that the kill doesn't
remove the last letter of the previous word. Only do this
if we are not at the end of the line. */
if (rl_point >= 0 && rl_point < (rl_end - 1) && !whitespace (rl_line_buffer[rl_point]))
rl_point++;
_rl_vi_advance_point ();
}
}
@@ -1271,7 +1365,7 @@ vi_delete_dispatch (_rl_vimotion_cxt *m)
mark. */
if (((strchr (" l|h^0bBFT`", m->motion) == 0) && (rl_point >= m->start)) &&
(rl_mark < rl_end))
rl_mark++;
INCREMENT_POS (rl_mark);
rl_kill_text (rl_point, rl_mark);
return (0);
@@ -1334,7 +1428,7 @@ vi_change_dispatch (_rl_vimotion_cxt *m)
and already leave the mark at the correct location. */
if (((strchr (" l|hwW^0bBFT`", m->motion) == 0) && (rl_point >= m->start)) &&
(rl_mark < rl_end))
rl_mark++;
INCREMENT_POS (rl_mark);
/* The cursor never moves with c[wW]. */
if ((_rl_to_upper (m->motion) == 'W') && rl_point < m->start)
@@ -1421,7 +1515,7 @@ vi_yank_dispatch (_rl_vimotion_cxt *m)
mark. */
if (((strchr (" l|h^0%bBFT`", m->motion) == 0) && (rl_point >= m->start)) &&
(rl_mark < rl_end))
rl_mark++;
INCREMENT_POS (rl_mark);
rl_begin_undo_group ();
rl_kill_text (rl_point, rl_mark);
@@ -1611,8 +1705,8 @@ rl_vi_unix_word_rubout (int count, int key)
while (rl_point && vi_unix_word_boundary (rl_line_buffer[rl_point - 1]))
rl_point--;
else if (rl_point > 0 && vi_unix_word_boundary (rl_line_buffer[rl_point]) == 0)
while (rl_point && (vi_unix_word_boundary (rl_line_buffer[rl_point - 1]) == 0))
rl_point--;
while (rl_point > 0 && (vi_unix_word_boundary (rl_line_buffer[rl_point - 1]) == 0))
_rl_vi_backup_point ();
}
rl_kill_text (orig_point, rl_point);
@@ -2100,7 +2194,7 @@ rl_vi_possible_completions (void)
{
while (rl_point < rl_end && rl_line_buffer[rl_point] != ' ' &&
rl_line_buffer[rl_point] != ';')
rl_point++;
_rl_vi_advance_point ();
}
else if (rl_line_buffer[rl_point - 1] == ';')
{
+144 -138
View File
@@ -8,10 +8,11 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-04-27 14:15-0400\n"
"POT-Creation-Date: 2018-09-07 16:16-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -21,52 +22,52 @@ msgstr ""
msgid "bad array subscript"
msgstr ""
#: arrayfunc.c:373 builtins/declare.def:618 variables.c:2188 variables.c:2214
#: variables.c:2922
#: arrayfunc.c:375 builtins/declare.def:638 variables.c:2230 variables.c:2256
#: variables.c:3072
#, c-format
msgid "%s: removing nameref attribute"
msgstr ""
#: arrayfunc.c:398 builtins/declare.def:831
#: arrayfunc.c:400 builtins/declare.def:851
#, c-format
msgid "%s: cannot convert indexed to associative array"
msgstr ""
#: arrayfunc.c:582
#: arrayfunc.c:584
#, c-format
msgid "%s: invalid associative array key"
msgstr ""
#: arrayfunc.c:584
#: arrayfunc.c:586
#, c-format
msgid "%s: cannot assign to non-numeric index"
msgstr ""
#: arrayfunc.c:629
#: arrayfunc.c:631
#, c-format
msgid "%s: %s: must use subscript when assigning associative array"
msgstr ""
#: bashhist.c:436
#: bashhist.c:451
#, c-format
msgid "%s: cannot create: %s"
msgstr ""
#: bashline.c:4111
#: bashline.c:4120
msgid "bash_execute_unix_command: cannot find keymap for command"
msgstr ""
#: bashline.c:4221
#: bashline.c:4230
#, c-format
msgid "%s: first non-whitespace character is not `\"'"
msgstr ""
#: bashline.c:4250
#: bashline.c:4259
#, c-format
msgid "no closing `%c' in %s"
msgstr ""
#: bashline.c:4284
#: bashline.c:4293
#, c-format
msgid "%s: missing colon separator"
msgstr ""
@@ -86,7 +87,7 @@ msgstr ""
msgid "brace expansion: failed to allocate memory for `%s'"
msgstr ""
#: builtins/alias.def:131
#: builtins/alias.def:131 variables.c:1818
#, c-format
msgid "`%s': invalid alias name"
msgstr ""
@@ -144,7 +145,7 @@ msgstr ""
msgid "HOME not set"
msgstr ""
#: builtins/cd.def:327 builtins/common.c:161 test.c:889
#: builtins/cd.def:327 builtins/common.c:161 test.c:891
msgid "too many arguments"
msgstr ""
@@ -196,7 +197,7 @@ msgstr ""
msgid "%s: invalid option name"
msgstr ""
#: builtins/common.c:230 execute_cmd.c:2342 general.c:294 general.c:299
#: builtins/common.c:230 execute_cmd.c:2358 general.c:294 general.c:299
#, c-format
msgid "`%s': not a valid identifier"
msgstr ""
@@ -299,26 +300,26 @@ msgstr ""
msgid "help not available in this version"
msgstr ""
#: builtins/complete.def:278
#: builtins/complete.def:281
#, c-format
msgid "%s: invalid action name"
msgstr ""
#: builtins/complete.def:452 builtins/complete.def:653
#: builtins/complete.def:874
#: builtins/complete.def:474 builtins/complete.def:679
#: builtins/complete.def:910
#, c-format
msgid "%s: no completion specification"
msgstr ""
#: builtins/complete.def:707
#: builtins/complete.def:733
msgid "warning: -F option may not work as you expect"
msgstr ""
#: builtins/complete.def:709
#: builtins/complete.def:735
msgid "warning: -C option may not work as you expect"
msgstr ""
#: builtins/complete.def:847
#: builtins/complete.def:883
msgid "not currently executing completion function"
msgstr ""
@@ -326,47 +327,47 @@ msgstr ""
msgid "can only be used in a function"
msgstr ""
#: builtins/declare.def:369 builtins/declare.def:736
#: builtins/declare.def:369 builtins/declare.def:756
#, c-format
msgid "%s: reference variable cannot be an array"
msgstr ""
#: builtins/declare.def:380 variables.c:3161
#: builtins/declare.def:380 variables.c:3322
#, c-format
msgid "%s: nameref variable self references not allowed"
msgstr ""
#: builtins/declare.def:385 variables.c:2018 variables.c:3083 variables.c:3095
#: variables.c:3158
#: builtins/declare.def:385 variables.c:2060 variables.c:3233 variables.c:3245
#: variables.c:3319
#, c-format
msgid "%s: circular name reference"
msgstr ""
#: builtins/declare.def:390 builtins/declare.def:742 builtins/declare.def:753
#: builtins/declare.def:390 builtins/declare.def:762 builtins/declare.def:773
#, c-format
msgid "`%s': invalid variable name for name reference"
msgstr ""
#: builtins/declare.def:500
#: builtins/declare.def:520
msgid "cannot use `-f' to make functions"
msgstr ""
#: builtins/declare.def:512 execute_cmd.c:5797
#: builtins/declare.def:532 execute_cmd.c:5823
#, c-format
msgid "%s: readonly function"
msgstr ""
#: builtins/declare.def:804
#: builtins/declare.def:824
#, c-format
msgid "%s: quoted compound array assignment deprecated"
msgstr ""
#: builtins/declare.def:818
#: builtins/declare.def:838
#, c-format
msgid "%s: cannot destroy array variables in this way"
msgstr ""
#: builtins/declare.def:825 builtins/read.def:784
#: builtins/declare.def:845 builtins/read.def:785
#, c-format
msgid "%s: cannot convert associative to indexed array"
msgstr ""
@@ -400,7 +401,7 @@ msgstr ""
msgid "%s: cannot delete: %s"
msgstr ""
#: builtins/evalfile.c:138 builtins/hash.def:184 execute_cmd.c:5629
#: builtins/evalfile.c:138 builtins/hash.def:184 execute_cmd.c:5655
#, c-format
msgid "%s: is a directory"
msgstr ""
@@ -728,7 +729,7 @@ msgstr ""
msgid "%s: invalid timeout specification"
msgstr ""
#: builtins/read.def:729
#: builtins/read.def:730
#, c-format
msgid "read error: %d: %s"
msgstr ""
@@ -746,7 +747,7 @@ msgstr ""
msgid "%s: cannot unset"
msgstr ""
#: builtins/set.def:902 variables.c:3597
#: builtins/set.def:902 variables.c:3764
#, c-format
msgid "%s: cannot unset: readonly %s"
msgstr ""
@@ -770,11 +771,11 @@ msgstr ""
msgid "shift count"
msgstr ""
#: builtins/shopt.def:301
#: builtins/shopt.def:312
msgid "cannot set and unset shell options simultaneously"
msgstr ""
#: builtins/shopt.def:403
#: builtins/shopt.def:422
#, c-format
msgid "%s: invalid shell option name"
msgstr ""
@@ -910,7 +911,7 @@ msgstr ""
msgid "%s: unbound variable"
msgstr ""
#: eval.c:242
#: eval.c:245
#, c-format
msgid "\atimed out waiting for input: auto-logout\n"
msgstr ""
@@ -920,66 +921,66 @@ msgstr ""
msgid "cannot redirect standard input from /dev/null: %s"
msgstr ""
#: execute_cmd.c:1294
#: execute_cmd.c:1304
#, c-format
msgid "TIMEFORMAT: `%c': invalid format character"
msgstr ""
#: execute_cmd.c:2330
#: execute_cmd.c:2346
#, c-format
msgid "execute_coproc: coproc [%d:%s] still exists"
msgstr ""
#: execute_cmd.c:2456
#: execute_cmd.c:2472
msgid "pipe error"
msgstr ""
#: execute_cmd.c:4624
#: execute_cmd.c:4644
#, c-format
msgid "eval: maximum eval nesting level exceeded (%d)"
msgstr ""
#: execute_cmd.c:4636
#: execute_cmd.c:4656
#, c-format
msgid "%s: maximum source nesting level exceeded (%d)"
msgstr ""
#: execute_cmd.c:4742
#: execute_cmd.c:4762
#, c-format
msgid "%s: maximum function nesting level exceeded (%d)"
msgstr ""
#: execute_cmd.c:5285
#: execute_cmd.c:5311
#, c-format
msgid "%s: restricted: cannot specify `/' in command names"
msgstr ""
#: execute_cmd.c:5383
#: execute_cmd.c:5409
#, c-format
msgid "%s: command not found"
msgstr ""
#: execute_cmd.c:5627
#: execute_cmd.c:5653
#, c-format
msgid "%s: %s"
msgstr ""
#: execute_cmd.c:5665
#: execute_cmd.c:5691
#, c-format
msgid "%s: %s: bad interpreter"
msgstr ""
#: execute_cmd.c:5702
#: execute_cmd.c:5728
#, c-format
msgid "%s: cannot execute binary file: %s"
msgstr ""
#: execute_cmd.c:5788
#: execute_cmd.c:5814
#, c-format
msgid "`%s': is a special builtin"
msgstr ""
#: execute_cmd.c:5840
#: execute_cmd.c:5866
#, c-format
msgid "cannot duplicate fd %d to fd %d"
msgstr ""
@@ -1058,7 +1059,7 @@ msgstr ""
msgid "getcwd: cannot access parent directories"
msgstr ""
#: input.c:99 subst.c:5858
#: input.c:99 subst.c:5867
#, c-format
msgid "cannot reset nodelay mode for fd %d"
msgstr ""
@@ -1222,51 +1223,51 @@ msgstr ""
msgid "no job control in this shell"
msgstr ""
#: lib/malloc/malloc.c:306
#: lib/malloc/malloc.c:331
#, c-format
msgid "malloc: failed assertion: %s\n"
msgstr ""
#: lib/malloc/malloc.c:322
#: lib/malloc/malloc.c:347
#, c-format
msgid ""
"\r\n"
"malloc: %s:%d: assertion botched\r\n"
msgstr ""
#: lib/malloc/malloc.c:323
#: lib/malloc/malloc.c:348
msgid "unknown"
msgstr ""
#: lib/malloc/malloc.c:811
#: lib/malloc/malloc.c:855
msgid "malloc: block on free list clobbered"
msgstr ""
#: lib/malloc/malloc.c:888
#: lib/malloc/malloc.c:932
msgid "free: called with already freed block argument"
msgstr ""
#: lib/malloc/malloc.c:891
#: lib/malloc/malloc.c:935
msgid "free: called with unallocated block argument"
msgstr ""
#: lib/malloc/malloc.c:910
#: lib/malloc/malloc.c:954
msgid "free: underflow detected; mh_nbytes out of range"
msgstr ""
#: lib/malloc/malloc.c:916
#: lib/malloc/malloc.c:960
msgid "free: start and end chunk sizes differ"
msgstr ""
#: lib/malloc/malloc.c:1015
#: lib/malloc/malloc.c:1070
msgid "realloc: called with unallocated block argument"
msgstr ""
#: lib/malloc/malloc.c:1030
#: lib/malloc/malloc.c:1085
msgid "realloc: underflow detected; mh_nbytes out of range"
msgstr ""
#: lib/malloc/malloc.c:1036
#: lib/malloc/malloc.c:1091
msgid "realloc: start and end chunk sizes differ"
msgstr ""
@@ -1376,103 +1377,103 @@ msgid ""
"truncated"
msgstr ""
#: parse.y:2772
#: parse.y:2773
msgid "maximum here-document count exceeded"
msgstr ""
#: parse.y:3511 parse.y:3881
#: parse.y:3519 parse.y:3889
#, c-format
msgid "unexpected EOF while looking for matching `%c'"
msgstr ""
#: parse.y:4581
#: parse.y:4589
msgid "unexpected EOF while looking for `]]'"
msgstr ""
#: parse.y:4586
#: parse.y:4594
#, c-format
msgid "syntax error in conditional expression: unexpected token `%s'"
msgstr ""
#: parse.y:4590
#: parse.y:4598
msgid "syntax error in conditional expression"
msgstr ""
#: parse.y:4668
#: parse.y:4676
#, c-format
msgid "unexpected token `%s', expected `)'"
msgstr ""
#: parse.y:4672
#: parse.y:4680
msgid "expected `)'"
msgstr ""
#: parse.y:4700
#: parse.y:4708
#, c-format
msgid "unexpected argument `%s' to conditional unary operator"
msgstr ""
#: parse.y:4704
#: parse.y:4712
msgid "unexpected argument to conditional unary operator"
msgstr ""
#: parse.y:4750
#: parse.y:4758
#, c-format
msgid "unexpected token `%s', conditional binary operator expected"
msgstr ""
#: parse.y:4754
#: parse.y:4762
msgid "conditional binary operator expected"
msgstr ""
#: parse.y:4776
#: parse.y:4784
#, c-format
msgid "unexpected argument `%s' to conditional binary operator"
msgstr ""
#: parse.y:4780
#: parse.y:4788
msgid "unexpected argument to conditional binary operator"
msgstr ""
#: parse.y:4791
#: parse.y:4799
#, c-format
msgid "unexpected token `%c' in conditional command"
msgstr ""
#: parse.y:4794
#: parse.y:4802
#, c-format
msgid "unexpected token `%s' in conditional command"
msgstr ""
#: parse.y:4798
#: parse.y:4806
#, c-format
msgid "unexpected token %d in conditional command"
msgstr ""
#: parse.y:6220
#: parse.y:6228
#, c-format
msgid "syntax error near unexpected token `%s'"
msgstr ""
#: parse.y:6238
#: parse.y:6246
#, c-format
msgid "syntax error near `%s'"
msgstr ""
#: parse.y:6248
#: parse.y:6256
msgid "syntax error: unexpected end of file"
msgstr ""
#: parse.y:6248
#: parse.y:6256
msgid "syntax error"
msgstr ""
#: parse.y:6310
#: parse.y:6318
#, c-format
msgid "Use \"%s\" to leave the shell.\n"
msgstr ""
#: parse.y:6472
#: parse.y:6480
msgid "unexpected EOF while looking for matching `)'"
msgstr ""
@@ -1548,7 +1549,7 @@ msgstr ""
msgid "/dev/(tcp|udp)/host/port not supported without networking"
msgstr ""
#: redir.c:870 redir.c:985 redir.c:1046 redir.c:1211
#: redir.c:870 redir.c:985 redir.c:1046 redir.c:1214
msgid "redirection error: cannot duplicate fd"
msgstr ""
@@ -1646,7 +1647,7 @@ msgstr ""
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
msgstr ""
#: sig.c:695
#: sig.c:727
#, c-format
msgid "sigprocmask: %d: invalid operation"
msgstr ""
@@ -1820,107 +1821,107 @@ msgstr ""
msgid "Unknown Signal #%d"
msgstr ""
#: subst.c:1450 subst.c:1641
#: subst.c:1453 subst.c:1644
#, c-format
msgid "bad substitution: no closing `%s' in %s"
msgstr ""
#: subst.c:3209
#: subst.c:3216
#, c-format
msgid "%s: cannot assign list to array member"
msgstr ""
#: subst.c:5734 subst.c:5750
#: subst.c:5743 subst.c:5759
msgid "cannot make pipe for process substitution"
msgstr ""
#: subst.c:5796
#: subst.c:5805
msgid "cannot make child for process substitution"
msgstr ""
#: subst.c:5848
#: subst.c:5857
#, c-format
msgid "cannot open named pipe %s for reading"
msgstr ""
#: subst.c:5850
#: subst.c:5859
#, c-format
msgid "cannot open named pipe %s for writing"
msgstr ""
#: subst.c:5873
#: subst.c:5882
#, c-format
msgid "cannot duplicate named pipe %s as fd %d"
msgstr ""
#: subst.c:5990
#: subst.c:5999
msgid "command substitution: ignored null byte in input"
msgstr ""
#: subst.c:6121
#: subst.c:6127
msgid "cannot make pipe for command substitution"
msgstr ""
#: subst.c:6164
#: subst.c:6170
msgid "cannot make child for command substitution"
msgstr ""
#: subst.c:6190
#: subst.c:6196
msgid "command_substitute: cannot duplicate pipe as fd 1"
msgstr ""
#: subst.c:6641 subst.c:9483
#: subst.c:6647 subst.c:9515
#, c-format
msgid "%s: invalid variable name for name reference"
msgstr ""
#: subst.c:6737 subst.c:6755 subst.c:6903
#: subst.c:6743 subst.c:6761 subst.c:6915
#, c-format
msgid "%s: invalid indirect expansion"
msgstr ""
#: subst.c:6771 subst.c:6910
#: subst.c:6777 subst.c:6922
#, c-format
msgid "%s: invalid variable name"
msgstr ""
#: subst.c:6962
#: subst.c:6974
#, c-format
msgid "%s: parameter not set"
msgstr ""
#: subst.c:6964
#: subst.c:6976
#, c-format
msgid "%s: parameter null or not set"
msgstr ""
#: subst.c:7201 subst.c:7216
#: subst.c:7213 subst.c:7228
#, c-format
msgid "%s: substring expression < 0"
msgstr ""
#: subst.c:8839 subst.c:8860
#: subst.c:8871 subst.c:8892
#, c-format
msgid "%s: bad substitution"
msgstr ""
#: subst.c:8948
#: subst.c:8980
#, c-format
msgid "$%s: cannot assign in this way"
msgstr ""
#: subst.c:9346
#: subst.c:9378
msgid ""
"future versions of the shell will force evaluation as an arithmetic "
"substitution"
msgstr ""
#: subst.c:9903
#: subst.c:9937
#, c-format
msgid "bad substitution: no closing \"`\" in %s"
msgstr ""
#: subst.c:10907
#: subst.c:10965
#, c-format
msgid "no match: %s"
msgstr ""
@@ -1943,17 +1944,17 @@ msgstr ""
msgid "`)' expected, found %s"
msgstr ""
#: test.c:282 test.c:748 test.c:751
#: test.c:282 test.c:750 test.c:753
#, c-format
msgid "%s: unary operator expected"
msgstr ""
#: test.c:469 test.c:791
#: test.c:469 test.c:793
#, c-format
msgid "%s: binary operator expected"
msgstr ""
#: test.c:873
#: test.c:875
msgid "missing `]'"
msgstr ""
@@ -1977,78 +1978,78 @@ msgstr ""
msgid "trap_handler: bad signal %d"
msgstr ""
#: variables.c:399
#: variables.c:408
#, c-format
msgid "error importing function definition for `%s'"
msgstr ""
#: variables.c:801
#: variables.c:817
#, c-format
msgid "shell level (%d) too high, resetting to 1"
msgstr ""
#: variables.c:2512
#: variables.c:2620
msgid "make_local_variable: no function context at current scope"
msgstr ""
#: variables.c:2531
#: variables.c:2639
#, c-format
msgid "%s: variable may not be assigned value"
msgstr ""
#: variables.c:3246
#: variables.c:3407
#, c-format
msgid "%s: assigning integer to name reference"
msgstr ""
#: variables.c:4149
#: variables.c:4316
msgid "all_local_variables: no function context at current scope"
msgstr ""
#: variables.c:4437
#: variables.c:4652
#, c-format
msgid "%s has null exportstr"
msgstr ""
#: variables.c:4442 variables.c:4451
#: variables.c:4657 variables.c:4666
#, c-format
msgid "invalid character %d in exportstr for %s"
msgstr ""
#: variables.c:4457
#: variables.c:4672
#, c-format
msgid "no `=' in exportstr for %s"
msgstr ""
#: variables.c:4911
#: variables.c:5167
msgid "pop_var_context: head of shell_variables not a function context"
msgstr ""
#: variables.c:4924
#: variables.c:5180
msgid "pop_var_context: no global_variables context"
msgstr ""
#: variables.c:4999
#: variables.c:5260
msgid "pop_scope: head of shell_variables not a temporary environment scope"
msgstr ""
#: variables.c:5862
#: variables.c:6196
#, c-format
msgid "%s: %s: cannot open as FILE"
msgstr ""
#: variables.c:5867
#: variables.c:6201
#, c-format
msgid "%s: %s: invalid value for trace file descriptor"
msgstr ""
#: variables.c:5912
#: variables.c:6246
#, c-format
msgid "%s: %s: compatibility value out of range"
msgstr ""
#: version.c:46 version2.c:46
msgid "Copyright (C) 2016 Free Software Foundation, Inc."
msgid "Copyright (C) 2018 Free Software Foundation, Inc."
msgstr ""
#: version.c:47 version2.c:47
@@ -2378,7 +2379,7 @@ msgstr ""
#: builtins.c:231
msgid ""
"complete [-abcdefgjksuv] [-pr] [-DE] [-o option] [-A action] [-G globpat] [-"
"complete [-abcdefgjksuv] [-pr] [-DEI] [-o option] [-A action] [-G globpat] [-"
"W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S "
"suffix] [name ...]"
msgstr ""
@@ -2390,7 +2391,7 @@ msgid ""
msgstr ""
#: builtins.c:239
msgid "compopt [-o|+o option] [-DE] [name ...]"
msgid "compopt [-o|+o option] [-DEI] [name ...]"
msgstr ""
#: builtins.c:242
@@ -2510,7 +2511,7 @@ msgid ""
" \n"
" Exit Status:\n"
" Returns the exit status of SHELL-BUILTIN, or false if SHELL-BUILTIN is\n"
" not a shell builtin.."
" not a shell builtin."
msgstr ""
#: builtins.c:369
@@ -4031,8 +4032,8 @@ msgid ""
"successive\n"
" argument.\n"
" \n"
" In addition to the standard format specifications described in printf"
"(1),\n"
" In addition to the standard format specifications described in "
"printf(1),\n"
" printf interprets:\n"
" \n"
" %b\texpand backslash escape sequences in the corresponding argument\n"
@@ -4071,16 +4072,20 @@ msgid ""
" \t\twithout any specific completion defined\n"
" -E\tapply the completions and actions to \"empty\" commands --\n"
" \t\tcompletion attempted on a blank line\n"
" -I\tapply the completions and actions to the intial (usually the\n"
" \t\tcommand) word\n"
" \n"
" When completion is attempted, the actions are applied in the order the\n"
" uppercase-letter options are listed above. The -D option takes\n"
" precedence over -E.\n"
" uppercase-letter options are listed above. If multiple options are "
"supplied,\n"
" the -D option takes precedence over -E, and both take precedence over -"
"I.\n"
" \n"
" Exit Status:\n"
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
#: builtins.c:1985
#: builtins.c:1987
msgid ""
"Display possible completions depending on the options.\n"
" \n"
@@ -4093,7 +4098,7 @@ msgid ""
" Returns success unless an invalid option is supplied or an error occurs."
msgstr ""
#: builtins.c:2000
#: builtins.c:2002
msgid ""
"Modify or display completion options.\n"
" \n"
@@ -4108,6 +4113,7 @@ msgid ""
" \t-o option\tSet completion option OPTION for each NAME\n"
" \t-D\t\tChange options for the \"default\" command completion\n"
" \t-E\t\tChange options for the \"empty\" command completion\n"
" \t-I\t\tChange options for completion on the initial word\n"
" \n"
" Using `+o' instead of `-o' turns off the specified option.\n"
" \n"
@@ -4124,7 +4130,7 @@ msgid ""
" have a completion specification defined."
msgstr ""
#: builtins.c:2030
#: builtins.c:2033
msgid ""
"Read lines from the standard input into an indexed array variable.\n"
" \n"
@@ -4166,7 +4172,7 @@ msgid ""
" not an indexed array."
msgstr ""
#: builtins.c:2066
#: builtins.c:2069
msgid ""
"Read lines from a file into an array variable.\n"
" \n"
+577 -790
View File
File diff suppressed because it is too large Load Diff
+1287 -1558
View File
File diff suppressed because it is too large Load Diff
+650 -936
View File
File diff suppressed because it is too large Load Diff
+2306 -1188
View File
File diff suppressed because it is too large Load Diff
+775 -1177
View File
File diff suppressed because it is too large Load Diff
+986 -1622
View File
File diff suppressed because it is too large Load Diff
+1798 -1697
View File
File diff suppressed because it is too large Load Diff
+630 -853
View File
File diff suppressed because it is too large Load Diff