commit bash-20170203 snapshot

This commit is contained in:
Chet Ramey
2017-02-06 15:34:39 -05:00
parent bc37147244
commit 7e92fb358b
43 changed files with 13394 additions and 12288 deletions
+70
View File
@@ -13045,3 +13045,73 @@ parse.y
- yy_readline_get: try to unset NONBLOCK mode on readline's input
file descriptor before calling readline(). Inspired by report from
Siteshwar Vashisht <svashisht@redhat.com>
1/30
----
parse.y
- parse_comsub: don't unconditionally set the LEX_WASDOL flag when we
see a `$'; we should toggle it to accommodate things like $$.
Fixes bug reported by Christian Weisgerber <naddy@mips.inka.de>
- parse_matched_pair: do the same thing with LEX_WASDOL
2/1
---
jobs.h
- JWAIT_PERROR,JWAIT_FORCE: new defines for the wait_for_ family of
functions
jobs.c
- wait_for_job, wait_for_any_job: take new flags argument for use by
the wait builtin
- wait_for_job: if JWAIT_FORCE flag supplied, loop waiting for job to
terminate instead of change state
- wait_for_single_pid: if JWAIT_FORCE flag supplied, loop waiting for
child process to terminate instead of change state
builtins/wait.def
- takes a new `-f' option, signifying to wait until the specified job
or process terminates, instead of changes state
doc/{bash.1,bashref.texi}
- wait: document the new -f option and its behavior when job control
is enabled
- job control: add a paragraph describing how the wait builtin changes
behavior when job control is enabled: it returns when a job changes
state
2/2
---
examples/loadables/fdflags.c
- fdflags: new loadable builtin to set and unset file descriptor flags
(such as non-blocking, though bash undoes that) for descriptors bash
has open. Developed in consultation with Christos Zoulas
<christos@zoulas.com>
2/3
---
lib/readline/text.c
- rl_previous_screen_line: attempt to move to the same column on the
previous screen line of the current readline buffer by moving back
a number of characters equal to the screen width
- rl_next_screen_line: attempt to move to the same column on the
next screen line of the current readline buffer by moving forward
a number of characters equal to the screen width. Both originally
suggested by Hans Ginzel <hans@matfyz.cz>
lib/readline/readline.h
- rl_{next,previous}_screen_line: extern declarations
lib/readline/funmap.c
- {next,previous}-screen-line: new bindable command names
lib/readline/doc/{rluser.texi,readline.3}
- {next,previous}-screen-line: document behavior, including limitations
2/5
---
lib/readline/input.c
- rl_read_key: when reading input from a macro, make sure to return
the next character as an unsigned char, so we handle multibyte
character sequences correctly. Report and fix from Grisha Levit
<grishalevit@gmail.com>
+1
View File
@@ -674,6 +674,7 @@ examples/loadables/strftime.c f
examples/loadables/truefalse.c f
#examples/loadables/getconf.h f
#examples/loadables/getconf.c f
examples/loadables/fdflags.c f
examples/loadables/finfo.c f
examples/loadables/cat.c f
#examples/loadables/cut.c f
+14 -8
View File
@@ -1,7 +1,7 @@
This file is wait.def, from which is created wait.c.
It implements the builtin "wait" in Bash.
Copyright (C) 1987-2015 Free Software Foundation, Inc.
Copyright (C) 1987-2017 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -22,7 +22,7 @@ $BUILTIN wait
$FUNCTION wait_builtin
$DEPENDS_ON JOB_CONTROL
$PRODUCES wait.c
$SHORT_DOC wait [-n] [id ...]
$SHORT_DOC wait [-fn] [id ...]
Wait for job completion and return exit status.
Waits for each process identified by an ID, which may be a process ID or a
@@ -34,6 +34,9 @@ in that job's pipeline.
If the -n option is supplied, waits for the next job to terminate and
returns its exit status.
If the -f option is supplied, and job control is enabled, waits for the
specified ID to terminate, instead of waiting for it to change status.
Exit Status:
Returns the status of the last ID; fails if ID is invalid or an invalid
option is given.
@@ -97,14 +100,14 @@ int
wait_builtin (list)
WORD_LIST *list;
{
int status, code, opt, nflag;
int status, code, opt, nflag, wflags;
volatile int old_interrupt_immediately;
USE_VAR(list);
nflag = 0;
nflag = wflags = 0;
reset_internal_getopt ();
while ((opt = internal_getopt (list, "n")) != -1)
while ((opt = internal_getopt (list, "nf")) != -1)
{
switch (opt)
{
@@ -112,6 +115,9 @@ wait_builtin (list)
case 'n':
nflag = 1;
break;
case 'f':
wflags |= JWAIT_FORCE;
break;
#endif
CASE_HELPOPT;
default:
@@ -151,7 +157,7 @@ wait_builtin (list)
#if defined (JOB_CONTROL)
if (nflag)
{
status = wait_for_any_job ();
status = wait_for_any_job (wflags);
if (status < 0)
status = 127;
WAIT_RETURN (status);
@@ -179,7 +185,7 @@ wait_builtin (list)
if (legal_number (w, &pid_value) && pid_value == (pid_t)pid_value)
{
pid = (pid_t)pid_value;
status = wait_for_single_pid (pid, 1);
status = wait_for_single_pid (pid, wflags|JWAIT_PERROR);
}
else
{
@@ -209,7 +215,7 @@ wait_builtin (list)
/* Job spec used. Wait for the last pid in the pipeline. */
UNBLOCK_CHILD (oset);
status = wait_for_job (job);
status = wait_for_job (job, wflags);
}
#endif /* JOB_CONTROL */
else
+1792 -1738
View File
File diff suppressed because it is too large Load Diff
+27 -6
View File
@@ -5,12 +5,12 @@
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
.\" Last Change: Fri Dec 16 11:45:56 EST 2016
.\" Last Change: Fri Feb 3 16:01:50 EST 2017
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
.TH BASH 1 "2016 December 16" "GNU Bash 4.4"
.TH BASH 1 "2017 February 3" "GNU Bash 4.4"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
@@ -5095,6 +5095,11 @@ command may then be used to inspect their status.
If a second attempt to exit is made without an intervening command,
the shell does not print another warning, and any stopped
jobs are terminated.
.PP
When the shell is waiting for a job or process using the \fBwait\fP
builtin, and job control is enabled, \fBwait\fP will return when the
job changes state. The \fB\-f\fP option will force \fBwait\fP to wait
until the job or process terminates before returning.
.SH PROMPTING
When executing interactively,
.B bash
@@ -5966,6 +5971,19 @@ Words are delimited by non-quoted shell metacharacters.
Move back to the start of the current or previous word.
Words are delimited by non-quoted shell metacharacters.
.TP
.B previous\-screen\-line
Attempt to move point to the same physical screen column on the previous
physical screen line. This will not have the desired effect if the current
Readline line does not take up more than one physical line or if point is not
greater than the length of the prompt plus the screen width.
.TP
.B next\-screen\-line
Attempt to move point to the same physical screen column on the next
physical screen line. This will not have the desired effect if the current
Readline line does not take up more than one physical line or if the length
of the current Readline line is not greater than the length of the prompt
plus the screen width.
.TP
.B clear\-screen (C\-l)
Clear the screen leaving the current line at the top of the screen.
With an argument, refresh the current line without clearing the
@@ -10500,20 +10518,23 @@ subsequently reset. The exit status is true unless a
.I name
is readonly.
.TP
\fBwait\fP [\fB\-n\fP] [\fIn ...\fP]
\fBwait\fP [\fB\-fn\fP] [\fIid ...\fP]
Wait for each specified child process and return its termination status.
Each
.I n
.I id
may be a process
ID or a job specification; if a job spec is given, all processes
in that job's pipeline are waited for. If
.I n
.I id
is not given, all currently active child processes
are waited for, and the return status is zero.
If the \fB\-n\fP option is supplied, \fBwait\fP waits for any job to
terminate and returns its exit status.
If the \fB\-f\fP option is supplied, and job control is enabled,
\fBwait\fP forces \fIid\fP to terminate before returning its status,
intead of returning when it changes status.
If
.I n
.I id
specifies a non-existent process or job, the return status is
127. Otherwise, the return status is the exit status of the last
process or job waited for.
+147 -27
View File
@@ -3,7 +3,7 @@
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2016 August 26<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2017 February 1<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
@@ -1868,6 +1868,16 @@ This variable is read-only.
Expands to the process ID of the current <B>bash</B> process.
This differs from <B>$$</B> under certain circumstances, such as subshells
that do not require <B>bash</B> to be re-initialized.
Assignments to
<FONT SIZE=-1><B>BASHPID</B>
</FONT>
have no effect.
If
<B>BASHPID</B>
is unset, it loses its special properties, even if it is
subsequently reset.
<DT><B>BASH_ALIASES</B>
<DD>
@@ -1927,6 +1937,23 @@ option to the
<B>shopt</B>
builtin below)
<DT><B>BASH_ARGV0</B>
<DD>
When referenced, this variable expands to the name of the shell or shell
script (identical to
<B>$0</B>;
see the description of special parameter 0 above).
Assignment to
<B>BASH_ARGV0</B>
causes the value assigned to also be assigned to <B>$0</B>.
If
<B>BASH_ARGV0</B>
is unset, it loses its special properties, even if it is
subsequently reset.
<DT><B>BASH_CMDS</B>
<DD>
@@ -2152,6 +2179,39 @@ Assignment to this variable will not change the current directory.
If
<FONT SIZE=-1><B>DIRSTACK</B>
</FONT>
is unset, it loses its special properties, even if it is
subsequently reset.
<DT><B>EPOCHREALTIME</B>
<DD>
Each time this parameter is referenced, it expands to the number of seconds
since the Unix Epoch (see <I>time</I>(3)) as a floating point value
with micro-second granularity.
Assignments to
<FONT SIZE=-1><B>EPOCHREALTIME</B>
</FONT>
are ignored.
If
<FONT SIZE=-1><B>EPOCHREALTIME</B>
</FONT>
is unset, it loses its special properties, even if it is
subsequently reset.
<DT><B>EPOCHSECONDS</B>
<DD>
Each time this parameter is referenced, it expands to the number of seconds
since the Unix Epoch (see <I>time</I>(3)).
Assignments to
<FONT SIZE=-1><B>EPOCHSECONDS</B>
</FONT>
are ignored.
If
<FONT SIZE=-1><B>EPOCHSECONDS</B>
</FONT>
is unset, it loses its special properties, even if it is
subsequently reset.
@@ -2612,9 +2672,9 @@ will cause the current command to abort.
<DT><B>GLOBIGNORE</B>
<DD>
A colon-separated list of patterns defining the set of filenames to
A colon-separated list of patterns defining the set of file names to
be ignored by pathname expansion.
If a filename matched by a pathname expansion pattern also matches one
If a file name matched by a pathname expansion pattern also matches one
of the patterns in
<FONT SIZE=-1><B>GLOBIGNORE</B>,
@@ -3485,7 +3545,8 @@ Any incorrectly formed brace expansion is left unchanged.
A <B>{</B> or <B>,</B> may be quoted with a backslash to prevent its
being considered part of a brace expression.
To avoid conflicts with parameter expansion, the string <B>${</B>
is not considered eligible for brace expansion.
is not considered eligible for brace expansion, and inhibits brace
expansion until the closing <B>}</B>.
<P>
This construct is typically used as shorthand when the common
@@ -4018,7 +4079,7 @@ format that can be reused as input.
<DD>
The expansion is a string that is the value of <I>parameter</I> with backslash
escape sequences expanded as with the <B>$'...'</B> quoting mechansim.
escape sequences expanded as with the <B>$'...'</B> quoting mechanism.
<DT><B>P</B>
<DD>
@@ -4353,6 +4414,16 @@ at the start of a name or immediately following a slash
must be matched explicitly, unless the shell option
<B>dotglob</B>
is set.
The filenames
<B>``.''</B>
and
<B>``..''</B>
must always be matched explicitly, even if
<B>dotglob</B>
is set.
When matching a pathname, the slash character must always be
matched explicitly.
@@ -4384,14 +4455,14 @@ The
<FONT SIZE=-1><B>GLOBIGNORE</B>
</FONT>
shell variable may be used to restrict the set of filenames matching a
shell variable may be used to restrict the set of file names matching a
<I>pattern</I>.
If
<FONT SIZE=-1><B>GLOBIGNORE</B>
</FONT>
is set, each matching filename that also matches one of the patterns in
is set, each matching file name that also matches one of the patterns in
<FONT SIZE=-1><B>GLOBIGNORE</B>
</FONT>
@@ -4613,6 +4684,13 @@ Matches anything except one of the given patterns
</DL></DL>
<P>
Complicated extended pattern matching against long strings is slow,
especially when the patterns contain alternations and the strings
contain multiple matches.
Using separate matches against shorter strings, or using arrays of
strings instead of a single long string, may be faster.
<A NAME="lbBH">&nbsp;</A>
<H4>Quote Removal</H4>
@@ -4659,6 +4737,9 @@ than or equal to 10 and assign it to <I>varname</I>.
If &gt;&amp;- or &lt;&amp;- is preceded
by {<I>varname</I>}, the value of <I>varname</I> defines the file
descriptor to close.
If {<I>varname</I>} is supplied, the redirection persists beyond
the scope of the command, allowing the shell programmer to manage
the file descriptor himself.
<P>
In the following descriptions, if the file descriptor number is
@@ -6427,6 +6508,12 @@ command may then be used to inspect their status.
If a second attempt to exit is made without an intervening command,
the shell does not print another warning, and any stopped
jobs are terminated.
<P>
When the shell is waiting for a job or process using the <B>wait</B>
builtin, and job control is enabled, <B>wait</B> will return when the
job changes state. The <B>-f</B> option will force <B>wait</B> to wait
until the job or process terminates before returning.
<A NAME="lbCE">&nbsp;</A>
<H3>PROMPTING</H3>
@@ -7134,6 +7221,16 @@ can be set to either
or
<B>vi</B>.
<DT><B>emacs-mode-string (@)</B>
<DD>
This string is displayed immediately before the last line of the primary
prompt when emacs editing mode is active. The value is expanded like a
key binding, so the standard set of meta- and control prefixes and
backslash escape sequences is available.
Use the \1 and \2 escapes to begin and end sequences of
non-printing characters, which can be used to embed a terminal control
sequence into the mode string.
<DT><B>enable-bracketed-paste (Off)</B>
<DD>
@@ -7217,16 +7314,6 @@ the value of
<B>editing-mode</B>
also affects the default keymap.
<DT><B>emacs-mode-string (@)</B>
<DD>
This string is displayed immediately before the last line of the primary
prompt when emacs editing mode is active. The value is expanded like a
key binding, so the standard set of meta- and control prefixes and
backslash escape sequences is available.
Use the \1 and \2 escapes to begin and end sequences of
non-printing characters, which can be used to embed a terminal control
sequence into the mode string.
<DT><B>keyseq-timeout (500)</B>
<DD>
@@ -7634,6 +7721,21 @@ This is a non-incremental search.
Search backward through the history for the string of characters
between the start of the current line and the point.
This is a non-incremental search.
<DT><B>history-substring-search-backward</B>
<DD>
Search backward through the history for the string of characters
between the start of the current line and the current cursor
position (the <I>point</I>).
The search string may match anywhere in a history line.
This is a non-incremental search.
<DT><B>history-substring-search-forward</B>
<DD>
Search forward through the history for the string of characters
between the start of the current line and the point.
The search string may match anywhere in a history line.
This is a non-incremental search.
<DT><B>yank-nth-arg (M-C-y)</B>
<DD>
@@ -7712,7 +7814,7 @@ A synonym for <B>yank-last-arg</B>.
Accept the current line for execution and fetch the next line
relative to the current line from the history for editing. Any
argument is ignored.
<DT><B>edit-and-execute-command (C-xC-e)</B>
<DT><B>edit-and-execute-command (C-x C-e)</B>
<DD>
Invoke an editor on the current command line, and execute the result as shell
@@ -8124,11 +8226,12 @@ Abort the current editing command and
ring the terminal's bell (subject to the setting of
<B>bell-style</B>).
<DT><B>do-uppercase-version (M-a, M-b, M-</B><I>x</I>, ...)
<DT><B>do-lowercase-version (M-A, M-B, M-</B><I>x</I>, ...)
<DD>
If the metafied character <I>x</I> is lowercase, run the command
that is bound to the corresponding uppercase character.
If the metafied character <I>x</I> is uppercase, run the command
that is bound to the corresponding metafied lowercase character.
The behavior is undefined if <I>x</I> is already lowercase.
<DT><B>prefix-meta (ESC)</B>
<DD>
@@ -10661,6 +10764,10 @@ is used. Options, if supplied, have the following meanings:
Clear the history list by deleting all the entries.
<DT><B>-d</B> <I>offset</I><DD>
Delete the history entry at position <I>offset</I>.
If <I>offset</I> is negative, it is interpreted as relative to one greater
than the last history position, so negative indices count back from the
end of the history, and an index of -1 refers to the current
<B>history -d</B> command.
<DT><B>-a</B>
<DD>
@@ -12226,6 +12333,16 @@ If set,
includes filenames beginning with a `.' in the results of pathname
expansion.
The filenames
<B>``.''</B>
and
<B>``..''</B>
must always be matched explicitly, even if
<B>dotglob</B>
is set.
<DT><B>execfail</B>
<DD>
@@ -13221,22 +13338,25 @@ subsequently reset. The exit status is true unless a
<I>name</I>
is readonly.
<DT><B>wait</B> [<B>-n</B>] [<I>n ...</I>]<DD>
<DT><B>wait</B> [<B>-fn</B>] [<I>id ...</I>]<DD>
Wait for each specified child process and return its termination status.
Each
<I>n</I>
<I>id</I>
may be a process
ID or a job specification; if a job spec is given, all processes
in that job's pipeline are waited for. If
<I>n</I>
<I>id</I>
is not given, all currently active child processes
are waited for, and the return status is zero.
If the <B>-n</B> option is supplied, <B>wait</B> waits for any job to
terminate and returns its exit status.
If the <B>-f</B> option is supplied, and job control is enabled,
<B>wait</B> forces <I>id</I> to terminate before returning its status,
intead of returning when it changes status.
If
<I>n</I>
<I>id</I>
specifies a non-existent process or job, the return status is
127. Otherwise, the return status is the exit status of the last
@@ -13529,7 +13649,7 @@ There may be only one active coprocess at a time.
<HR>
<TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>GNU Bash 4.4<TH ALIGN=CENTER width=33%>2016 August 26<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>GNU Bash 4.4<TH ALIGN=CENTER width=33%>2017 February 1<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
@@ -13635,6 +13755,6 @@ There may be only one active coprocess at a time.
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
Time: 31 August 2016 10:24:30 EDT
Time: 01 February 2017 09:18:17 EST
</BODY>
</HTML>
+334 -275
View File
@@ -1,13 +1,13 @@
This is bash.info, produced by makeinfo version 6.1 from
This is bash.info, produced by makeinfo version 6.3 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 4.4, 7 September 2016).
Bash shell (version 4.4, 1 February 2017).
This is Edition 4.4, last updated 7 September 2016, of 'The GNU Bash
This is Edition 4.4, last updated 1 February 2017, of 'The GNU Bash
Reference Manual', for 'Bash', Version 4.4.
Copyright (C) 1988-2016 Free Software Foundation, Inc.
Copyright (C) 1988-2017 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
@@ -27,10 +27,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 4.4, 7 September 2016). The Bash home page is
Bash shell (version 4.4, 1 February 2017). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 4.4, last updated 7 September 2016, of 'The GNU Bash
This is Edition 4.4, last updated 1 February 2017, of 'The GNU Bash
Reference Manual', for 'Bash', Version 4.4.
Bash contains features that appear in other popular shells, and some
@@ -1494,7 +1494,8 @@ characters special to other expansions are preserved in the result. It
is strictly textual. Bash does not apply any syntactic interpretation
to the context of the expansion or the text between the braces. To
avoid conflicts with parameter expansion, the string '${' is not
considered eligible for brace expansion.
considered eligible for brace expansion, and inhibits brace expansion
until the closing '}'..
A correctly-formed brace expansion must contain unquoted opening and
closing braces, and at least one unquoted comma or a valid sequence
@@ -1881,7 +1882,7 @@ omitted, the operator tests only for existence.
'E'
The expansion is a string that is the value of PARAMETER with
backslash escape sequences expanded as with the '$'...''
quoting mechansim.
quoting mechanism.
'P'
The expansion is a string that is the result of expanding the
value of PARAMETER as if it were a prompt string (*note
@@ -2046,17 +2047,18 @@ performed without regard to the case of alphabetic characters.
When a pattern is used for filename expansion, the character '.' at
the start of a filename or immediately following a slash must be matched
explicitly, unless the shell option 'dotglob' is set. When matching a
filename, the slash character must always be matched explicitly. In
other cases, the '.' character is not treated specially.
explicitly, unless the shell option 'dotglob' is set. The filenames '.'
and '..' must always be matched explicitly, even if 'dotglob' is set.
When matching a filename, the slash character must always be matched
explicitly. In other cases, the '.' character is not treated specially.
See the description of 'shopt' in *note The Shopt Builtin::, for a
description of the 'nocaseglob', 'nullglob', 'failglob', and 'dotglob'
options.
The 'GLOBIGNORE' shell variable may be used to restrict the set of
filenames matching a pattern. If 'GLOBIGNORE' is set, each matching
filename that also matches one of the patterns in 'GLOBIGNORE' is
file names matching a pattern. If 'GLOBIGNORE' is set, each matching
file name that also matches one of the patterns in 'GLOBIGNORE' is
removed from the list of matches. If the 'nocaseglob' option is set,
the matching against the patterns in 'GLOBIGNORE' is performed without
regard to case. The filenames '.' and '..' are always ignored when
@@ -2149,6 +2151,12 @@ of the following sub-patterns:
'!(PATTERN-LIST)'
Matches anything except one of the given patterns.
Complicated extended pattern matching against long strings is slow,
especially when the patterns contain alternations and the strings
contain multiple matches. Using separate matches against shorter
strings, or using arrays of strings instead of a single long string, may
be faster.

File: bash.info, Node: Quote Removal, Prev: Filename Expansion, Up: Shell Expansions
@@ -2180,7 +2188,9 @@ instead be preceded by a word of the form {VARNAME}. In this case, for
each redirection operator except >&- and <&-, the shell will allocate a
file descriptor greater than 10 and assign it to {VARNAME}. If >&- or
<&- is preceded by {VARNAME}, the value of VARNAME defines the file
descriptor to close.
descriptor to close. If {VARNAME} is supplied, the redirection persists
beyond the scope of the command, allowing the shell programmer to manage
the file descriptor himself.
In the following descriptions, if the file descriptor number is
omitted, and the first character of the redirection operator is '<', the
@@ -4384,7 +4394,8 @@ This builtin allows you to change additional shell optional behavior.
'dotglob'
If set, Bash includes filenames beginning with a '.' in the
results of filename expansion.
results of filename expansion. The filenames '.' and '..'
must always be matched explicitly, even if 'dotglob' is set.
'execfail'
If this is set, a non-interactive shell will not exit if it
@@ -4706,7 +4717,9 @@ Variables::).
'BASHPID'
Expands to the process ID of the current Bash process. This
differs from '$$' under certain circumstances, such as subshells
that do not require Bash to be re-initialized.
that do not require Bash to be re-initialized. Assignments to
'BASHPID' have no effect. If 'BASHPID' is unset, it loses its
special properties, even if it is subsequently reset.
'BASH_ALIASES'
An associative array variable whose members correspond to the
@@ -4737,6 +4750,14 @@ Variables::).
The Shopt Builtin:: for a description of the 'extdebug' option to
the 'shopt' builtin).
'BASH_ARGV0'
When referenced, this variable expands to the name of the shell or
shell script (identical to '$0'; *Note Special Parameters::, for
the description of special parameter 0). Assignment to
'BASH_ARGV0' causes the value assigned to also be assigned to '$0'.
If 'BASH_ARGV0' is unset, it loses its special properties, even if
it is subsequently reset.
'BASH_CMDS'
An associative array variable whose members correspond to the
internal hash table of commands as maintained by the 'hash' builtin
@@ -4932,6 +4953,21 @@ Variables::).
Similar to 'BASH_ENV'; used when the shell is invoked in POSIX Mode
(*note Bash POSIX Mode::).
'EPOCHREALTIME'
Each time this parameter is referenced, it expands to the number of
seconds since the Unix Epoch as a floating point value with
micro-second granularity (see the documentation for the C library
function TIME for the definition of Epoch). Assignments to
'EPOCHREALTIME' are ignored. If 'EPOCHREALTIME' is unset, it loses
its special properties, even if it is subsequently reset.
'EPOCHSECONDS'
Each time this parameter is referenced, it expands to the number of
seconds since the Unix Epoch (see the documentation for the C
library function TIME for the definition of Epoch). Assignments to
'EPOCHSECONDS' are ignored. If 'EPOCHSECONDS' is unset, it loses
its special properties, even if it is subsequently reset.
'EUID'
The numeric effective user id of the current user. This variable
is readonly.
@@ -4982,8 +5018,8 @@ Variables::).
nesting level will cause the current command to abort.
'GLOBIGNORE'
A colon-separated list of patterns defining the set of filenames to
be ignored by filename expansion. If a filename matched by a
A colon-separated list of patterns defining the set of file names
to be ignored by filename expansion. If a file name matched by a
filename expansion pattern also matches one of the patterns in
'GLOBIGNORE', it is removed from the list of matches. The pattern
matching honors the setting of the 'extglob' shell option.
@@ -6699,6 +6735,11 @@ command may then be used to inspect their status. If a second attempt
to exit is made without an intervening command, Bash does not print
another warning, and any stopped jobs are terminated.
When the shell is waiting for a job or process using the 'wait'
builtin, and job control is enabled, 'wait' will return when the job
changes state. The '-f' option will force 'wait' to wait until the job
or process terminates before returning.

File: bash.info, Node: Job Control Builtins, Next: Job Control Variables, Prev: Job Control Basics, Up: Job Control
@@ -6775,7 +6816,7 @@ File: bash.info, Node: Job Control Builtins, Next: Job Control Variables, Pre
option is encountered.
'wait'
wait [-n] [JOBSPEC or PID ...]
wait [-fn] [JOBSPEC or PID ...]
Wait until the child process specified by each process ID PID or
job specification JOBSPEC exits and return the exit status of the
@@ -6783,7 +6824,10 @@ File: bash.info, Node: Job Control Builtins, Next: Job Control Variables, Pre
the job are waited for. If no arguments are given, all currently
active child processes are waited for, and the return status is
zero. If the '-n' option is supplied, 'wait' waits for any job to
terminate and returns its exit status. If neither JOBSPEC nor PID
terminate and returns its exit status. If the '-f' option is
supplied, and job control is enabled, 'wait' forces each PID or
JOBSPEC to terminate before returning its status, intead of
returning when it changes status. If neither JOBSPEC nor PID
specifies an active child process of the shell, the return status
is 127.
@@ -7876,13 +7920,13 @@ File: bash.info, Node: Commands For History, Next: Commands For Text, Prev: C
string must match at the beginning of a history line. This is a
non-incremental search. By default, this command is unbound.
'history-substr-search-forward ()'
'history-substring-search-forward ()'
Search forward through the history for the string of characters
between the start of the current line and the point. The search
string may match anywhere in a history line. This is a
non-incremental search. By default, this command is unbound.
'history-substr-search-backward ()'
'history-substring-search-backward ()'
Search backward through the history for the string of characters
between the start of the current line and the point. The search
string may match anywhere in a history line. This is a
@@ -8226,9 +8270,10 @@ File: bash.info, Node: Miscellaneous Commands, Prev: Keyboard Macros, Up: Bin
Abort the current editing command and ring the terminal's bell
(subject to the setting of 'bell-style').
'do-uppercase-version (M-a, M-b, M-X, ...)'
If the metafied character X is lowercase, run the command that is
bound to the corresponding uppercase character.
'do-lowercase-version (M-A, M-B, M-X, ...)'
If the metafied character X is upper case, run the command that is
bound to the corresponding metafied lower case character. The
behavior is undefined if X is already lower case.
'prefix-meta (<ESC>)'
Metafy the next character typed. This is for keyboards without a
@@ -8350,7 +8395,7 @@ File: bash.info, Node: Miscellaneous Commands, Prev: Keyboard Macros, Up: Bin
relative to the current line from the history for editing. Any
argument is ignored.
'edit-and-execute-command (C-xC-e)'
'edit-and-execute-command (C-x C-e)'
Invoke an editor on the current command line, and execute the
result as shell commands. Bash attempts to invoke '$VISUAL',
'$EDITOR', and 'emacs' as the editor, in that order.
@@ -9005,8 +9050,13 @@ history file.
options to replace the history list completely.
'-d OFFSET'
Delete the history entry at position OFFSET. OFFSET should be
specified as it appears when the history is displayed.
Delete the history entry at position OFFSET. If OFFSET is
positive, it should be specified as it appears when the
history is displayed. If OFFSET is negative, it is
interpreted as relative to one greater than the last history
position, so negative indices count back from the end of the
history, and an index of '-1' refers to the current 'history
-d' command.
'-a'
Append the new history lines to the history file. These are
@@ -9611,6 +9661,12 @@ unless the operating system does not provide the necessary support.
'--enable-debugger'
Include support for the bash debugger (distributed separately).
'--enable-dev-fd-stat-broken'
If calling 'stat' on /dev/fd/N returns different results than
calling 'fstat' on file descriptor N, supply this option to enable
a workaround. This has implications for conditional commands that
test file attributes.
'--enable-direxpand-default'
Cause the 'direxpand' shell option (*note The Shopt Builtin::) to
be enabled by default when the shell starts. It is normally
@@ -10660,7 +10716,7 @@ D.1 Index of Shell Builtin Commands
* dirs: Directory Stack Builtins.
(line 7)
* disown: Job Control Builtins.
(line 89)
(line 92)
* echo: Bash Builtins. (line 245)
* enable: Bash Builtins. (line 294)
* eval: Bourne Shell Builtins.
@@ -10709,7 +10765,7 @@ D.1 Index of Shell Builtin Commands
* shopt: The Shopt Builtin. (line 9)
* source: Bash Builtins. (line 559)
* suspend: Job Control Builtins.
(line 101)
(line 104)
* test: Bourne Shell Builtins.
(line 268)
* times: Bourne Shell Builtins.
@@ -10801,22 +10857,23 @@ D.3 Parameter and Variable Index
* BASH: Bash Variables. (line 13)
* BASHOPTS: Bash Variables. (line 16)
* BASHPID: Bash Variables. (line 25)
* BASH_ALIASES: Bash Variables. (line 30)
* BASH_ARGC: Bash Variables. (line 39)
* BASH_ARGV: Bash Variables. (line 49)
* BASH_CMDS: Bash Variables. (line 59)
* BASH_COMMAND: Bash Variables. (line 68)
* BASH_COMPAT: Bash Variables. (line 73)
* BASH_ENV: Bash Variables. (line 88)
* BASH_EXECUTION_STRING: Bash Variables. (line 94)
* BASH_LINENO: Bash Variables. (line 97)
* BASH_LOADABLES_PATH: Bash Variables. (line 105)
* BASH_REMATCH: Bash Variables. (line 109)
* BASH_SOURCE: Bash Variables. (line 117)
* BASH_SUBSHELL: Bash Variables. (line 124)
* BASH_VERSINFO: Bash Variables. (line 129)
* BASH_VERSION: Bash Variables. (line 152)
* BASH_XTRACEFD: Bash Variables. (line 155)
* BASH_ALIASES: Bash Variables. (line 32)
* BASH_ARGC: Bash Variables. (line 41)
* BASH_ARGV: Bash Variables. (line 51)
* BASH_ARGV0: Bash Variables. (line 61)
* BASH_CMDS: Bash Variables. (line 69)
* BASH_COMMAND: Bash Variables. (line 78)
* BASH_COMPAT: Bash Variables. (line 83)
* BASH_ENV: Bash Variables. (line 98)
* BASH_EXECUTION_STRING: Bash Variables. (line 104)
* BASH_LINENO: Bash Variables. (line 107)
* BASH_LOADABLES_PATH: Bash Variables. (line 115)
* BASH_REMATCH: Bash Variables. (line 119)
* BASH_SOURCE: Bash Variables. (line 127)
* BASH_SUBSHELL: Bash Variables. (line 134)
* BASH_VERSINFO: Bash Variables. (line 139)
* BASH_VERSION: Bash Variables. (line 162)
* BASH_XTRACEFD: Bash Variables. (line 165)
* bell-style: Readline Init File Syntax.
(line 38)
* bind-tty-special-chars: Readline Init File Syntax.
@@ -10825,12 +10882,12 @@ D.3 Parameter and Variable Index
(line 50)
* CDPATH: Bourne Shell Variables.
(line 9)
* CHILD_MAX: Bash Variables. (line 166)
* CHILD_MAX: Bash Variables. (line 176)
* colored-completion-prefix: Readline Init File Syntax.
(line 55)
* colored-stats: Readline Init File Syntax.
(line 62)
* COLUMNS: Bash Variables. (line 173)
* COLUMNS: Bash Variables. (line 183)
* comment-begin: Readline Init File Syntax.
(line 68)
* completion-display-width: Readline Init File Syntax.
@@ -10843,88 +10900,90 @@ D.3 Parameter and Variable Index
(line 91)
* completion-query-items: Readline Init File Syntax.
(line 98)
* COMPREPLY: Bash Variables. (line 225)
* COMP_CWORD: Bash Variables. (line 179)
* COMP_KEY: Bash Variables. (line 208)
* COMP_LINE: Bash Variables. (line 185)
* COMP_POINT: Bash Variables. (line 190)
* COMP_TYPE: Bash Variables. (line 198)
* COMP_WORDBREAKS: Bash Variables. (line 212)
* COMP_WORDS: Bash Variables. (line 218)
* COMPREPLY: Bash Variables. (line 235)
* COMP_CWORD: Bash Variables. (line 189)
* COMP_KEY: Bash Variables. (line 218)
* COMP_LINE: Bash Variables. (line 195)
* COMP_POINT: Bash Variables. (line 200)
* COMP_TYPE: Bash Variables. (line 208)
* COMP_WORDBREAKS: Bash Variables. (line 222)
* COMP_WORDS: Bash Variables. (line 228)
* convert-meta: Readline Init File Syntax.
(line 108)
* COPROC: Bash Variables. (line 231)
* DIRSTACK: Bash Variables. (line 235)
* COPROC: Bash Variables. (line 241)
* DIRSTACK: Bash Variables. (line 245)
* disable-completion: Readline Init File Syntax.
(line 116)
* echo-control-characters: Readline Init File Syntax.
(line 121)
* editing-mode: Readline Init File Syntax.
(line 126)
* EMACS: Bash Variables. (line 245)
* EMACS: Bash Variables. (line 255)
* emacs-mode-string: Readline Init File Syntax.
(line 132)
* enable-bracketed-paste: Readline Init File Syntax.
(line 142)
* enable-keypad: Readline Init File Syntax.
(line 150)
* ENV: Bash Variables. (line 250)
* EUID: Bash Variables. (line 254)
* EXECIGNORE: Bash Variables. (line 258)
* ENV: Bash Variables. (line 260)
* EPOCHREALTIME: Bash Variables. (line 264)
* EPOCHSECONDS: Bash Variables. (line 272)
* EUID: Bash Variables. (line 279)
* EXECIGNORE: Bash Variables. (line 283)
* expand-tilde: Readline Init File Syntax.
(line 161)
* FCEDIT: Bash Variables. (line 271)
* FIGNORE: Bash Variables. (line 275)
* FUNCNAME: Bash Variables. (line 281)
* FUNCNEST: Bash Variables. (line 298)
* GLOBIGNORE: Bash Variables. (line 303)
* GROUPS: Bash Variables. (line 310)
* histchars: Bash Variables. (line 316)
* HISTCMD: Bash Variables. (line 331)
* HISTCONTROL: Bash Variables. (line 336)
* HISTFILE: Bash Variables. (line 352)
* HISTFILESIZE: Bash Variables. (line 356)
* HISTIGNORE: Bash Variables. (line 367)
* FCEDIT: Bash Variables. (line 296)
* FIGNORE: Bash Variables. (line 300)
* FUNCNAME: Bash Variables. (line 306)
* FUNCNEST: Bash Variables. (line 323)
* GLOBIGNORE: Bash Variables. (line 328)
* GROUPS: Bash Variables. (line 335)
* histchars: Bash Variables. (line 341)
* HISTCMD: Bash Variables. (line 356)
* HISTCONTROL: Bash Variables. (line 361)
* HISTFILE: Bash Variables. (line 377)
* HISTFILESIZE: Bash Variables. (line 381)
* HISTIGNORE: Bash Variables. (line 392)
* history-preserve-point: Readline Init File Syntax.
(line 165)
* history-size: Readline Init File Syntax.
(line 171)
* HISTSIZE: Bash Variables. (line 387)
* HISTTIMEFORMAT: Bash Variables. (line 394)
* HISTSIZE: Bash Variables. (line 412)
* HISTTIMEFORMAT: Bash Variables. (line 419)
* HOME: Bourne Shell Variables.
(line 13)
* horizontal-scroll-mode: Readline Init File Syntax.
(line 180)
* HOSTFILE: Bash Variables. (line 402)
* HOSTNAME: Bash Variables. (line 413)
* HOSTTYPE: Bash Variables. (line 416)
* HOSTFILE: Bash Variables. (line 427)
* HOSTNAME: Bash Variables. (line 438)
* HOSTTYPE: Bash Variables. (line 441)
* IFS: Bourne Shell Variables.
(line 18)
* IGNOREEOF: Bash Variables. (line 419)
* IGNOREEOF: Bash Variables. (line 444)
* input-meta: Readline Init File Syntax.
(line 187)
* INPUTRC: Bash Variables. (line 429)
* INPUTRC: Bash Variables. (line 454)
* isearch-terminators: Readline Init File Syntax.
(line 195)
* keymap: Readline Init File Syntax.
(line 202)
* LANG: Bash Variables. (line 433)
* LC_ALL: Bash Variables. (line 437)
* LC_COLLATE: Bash Variables. (line 441)
* LC_CTYPE: Bash Variables. (line 448)
* LANG: Bash Variables. (line 458)
* LC_ALL: Bash Variables. (line 462)
* LC_COLLATE: Bash Variables. (line 466)
* LC_CTYPE: Bash Variables. (line 473)
* LC_MESSAGES: Locale Translation. (line 11)
* LC_MESSAGES <1>: Bash Variables. (line 453)
* LC_NUMERIC: Bash Variables. (line 457)
* LC_TIME: Bash Variables. (line 461)
* LINENO: Bash Variables. (line 465)
* LINES: Bash Variables. (line 469)
* MACHTYPE: Bash Variables. (line 475)
* LC_MESSAGES <1>: Bash Variables. (line 478)
* LC_NUMERIC: Bash Variables. (line 482)
* LC_TIME: Bash Variables. (line 486)
* LINENO: Bash Variables. (line 490)
* LINES: Bash Variables. (line 494)
* MACHTYPE: Bash Variables. (line 500)
* MAIL: Bourne Shell Variables.
(line 22)
* MAILCHECK: Bash Variables. (line 479)
* MAILCHECK: Bash Variables. (line 504)
* MAILPATH: Bourne Shell Variables.
(line 27)
* MAPFILE: Bash Variables. (line 487)
* MAPFILE: Bash Variables. (line 512)
* mark-modified-lines: Readline Init File Syntax.
(line 232)
* mark-symlinked-directories: Readline Init File Syntax.
@@ -10935,42 +10994,42 @@ D.3 Parameter and Variable Index
(line 249)
* meta-flag: Readline Init File Syntax.
(line 187)
* OLDPWD: Bash Variables. (line 491)
* OLDPWD: Bash Variables. (line 516)
* OPTARG: Bourne Shell Variables.
(line 34)
* OPTERR: Bash Variables. (line 494)
* OPTERR: Bash Variables. (line 519)
* OPTIND: Bourne Shell Variables.
(line 38)
* OSTYPE: Bash Variables. (line 498)
* OSTYPE: Bash Variables. (line 523)
* 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 501)
* POSIXLY_CORRECT: Bash Variables. (line 506)
* PPID: Bash Variables. (line 515)
* PROMPT_COMMAND: Bash Variables. (line 519)
* PROMPT_DIRTRIM: Bash Variables. (line 523)
* PS0: Bash Variables. (line 529)
* PIPESTATUS: Bash Variables. (line 526)
* POSIXLY_CORRECT: Bash Variables. (line 531)
* PPID: Bash Variables. (line 540)
* PROMPT_COMMAND: Bash Variables. (line 544)
* PROMPT_DIRTRIM: Bash Variables. (line 548)
* PS0: Bash Variables. (line 554)
* PS1: Bourne Shell Variables.
(line 48)
* PS2: Bourne Shell Variables.
(line 53)
* PS3: Bash Variables. (line 534)
* PS4: Bash Variables. (line 539)
* PWD: Bash Variables. (line 545)
* RANDOM: Bash Variables. (line 548)
* READLINE_LINE: Bash Variables. (line 553)
* READLINE_POINT: Bash Variables. (line 557)
* REPLY: Bash Variables. (line 561)
* PS3: Bash Variables. (line 559)
* PS4: Bash Variables. (line 564)
* PWD: Bash Variables. (line 570)
* RANDOM: Bash Variables. (line 573)
* READLINE_LINE: Bash Variables. (line 578)
* READLINE_POINT: Bash Variables. (line 582)
* REPLY: Bash Variables. (line 586)
* revert-all-at-newline: Readline Init File Syntax.
(line 270)
* SECONDS: Bash Variables. (line 564)
* SHELL: Bash Variables. (line 570)
* SHELLOPTS: Bash Variables. (line 575)
* SHLVL: Bash Variables. (line 584)
* SECONDS: Bash Variables. (line 589)
* SHELL: Bash Variables. (line 595)
* SHELLOPTS: Bash Variables. (line 600)
* SHLVL: Bash Variables. (line 609)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 276)
* show-all-if-unmodified: Readline Init File Syntax.
@@ -10981,10 +11040,10 @@ D.3 Parameter and Variable Index
(line 297)
* TEXTDOMAIN: Locale Translation. (line 11)
* TEXTDOMAINDIR: Locale Translation. (line 11)
* TIMEFORMAT: Bash Variables. (line 589)
* TMOUT: Bash Variables. (line 627)
* TMPDIR: Bash Variables. (line 639)
* UID: Bash Variables. (line 643)
* TIMEFORMAT: Bash Variables. (line 614)
* TMOUT: Bash Variables. (line 652)
* TMPDIR: Bash Variables. (line 664)
* UID: Bash Variables. (line 668)
* vi-cmd-mode-string: Readline Init File Syntax.
(line 310)
* vi-ins-mode-string: Readline Init File Syntax.
@@ -11006,7 +11065,7 @@ D.4 Function Index
* accept-line (Newline or Return): Commands For History.
(line 6)
* alias-expand-line (): Miscellaneous Commands.
(line 124)
(line 125)
* backward-char (C-b): Commands For Moving. (line 15)
* backward-delete-char (Rubout): Commands For Text. (line 17)
* backward-kill-line (C-x Rubout): Commands For Killing.
@@ -11021,9 +11080,9 @@ D.4 Function Index
* call-last-kbd-macro (C-x e): Keyboard Macros. (line 13)
* capitalize-word (M-c): Commands For Text. (line 61)
* character-search (C-]): Miscellaneous Commands.
(line 41)
(line 42)
* character-search-backward (M-C-]): Miscellaneous Commands.
(line 46)
(line 47)
* clear-screen (C-l): Commands For Moving. (line 34)
* complete (<TAB>): Commands For Completion.
(line 6)
@@ -11054,56 +11113,56 @@ D.4 Function Index
(line 46)
* digit-argument (M-0, M-1, ... M--): Numeric Arguments. (line 6)
* display-shell-version (C-x C-v): Miscellaneous Commands.
(line 109)
* do-uppercase-version (M-a, M-b, M-X, ...): Miscellaneous Commands.
(line 110)
* do-lowercase-version (M-A, M-B, M-X, ...): Miscellaneous Commands.
(line 14)
* downcase-word (M-l): Commands For Text. (line 57)
* dump-functions (): Miscellaneous Commands.
(line 73)
(line 74)
* dump-macros (): Miscellaneous Commands.
(line 85)
(line 86)
* dump-variables (): Miscellaneous Commands.
(line 79)
(line 80)
* dynamic-complete-history (M-<TAB>): Commands For Completion.
(line 90)
* edit-and-execute-command (C-xC-e): Miscellaneous Commands.
(line 138)
* edit-and-execute-command (C-x C-e): Miscellaneous Commands.
(line 139)
* end-kbd-macro (C-x )): Keyboard Macros. (line 9)
* end-of-file (usually C-d): Commands For Text. (line 6)
* end-of-history (M->): Commands For History.
(line 23)
* end-of-line (C-e): Commands For Moving. (line 9)
* exchange-point-and-mark (C-x C-x): Miscellaneous Commands.
(line 36)
(line 37)
* forward-backward-delete-char (): Commands For Text. (line 21)
* forward-char (C-f): Commands For Moving. (line 12)
* forward-search-history (C-s): Commands For History.
(line 31)
* forward-word (M-f): Commands For Moving. (line 18)
* glob-complete-word (M-g): Miscellaneous Commands.
(line 91)
(line 92)
* glob-expand-word (C-x *): Miscellaneous Commands.
(line 97)
(line 98)
* glob-list-expansions (C-x g): Miscellaneous Commands.
(line 103)
(line 104)
* history-and-alias-expand-line (): Miscellaneous Commands.
(line 127)
(line 128)
* history-expand-line (M-^): Miscellaneous Commands.
(line 117)
(line 118)
* history-search-backward (): Commands For History.
(line 53)
* history-search-forward (): Commands For History.
(line 47)
* history-substr-search-backward (): Commands For History.
* history-substring-search-backward (): Commands For History.
(line 65)
* history-substr-search-forward (): Commands For History.
* history-substring-search-forward (): Commands For History.
(line 59)
* insert-comment (M-#): Miscellaneous Commands.
(line 60)
(line 61)
* insert-completions (M-*): Commands For Completion.
(line 22)
* insert-last-argument (M-. or M-_): Miscellaneous Commands.
(line 130)
(line 131)
* kill-line (C-k): Commands For Killing.
(line 6)
* kill-region (): Commands For Killing.
@@ -11113,7 +11172,7 @@ D.4 Function Index
* kill-word (M-d): Commands For Killing.
(line 19)
* magic-space (): Miscellaneous Commands.
(line 120)
(line 121)
* menu-complete (): Commands For Completion.
(line 26)
* menu-complete-backward (): Commands For Completion.
@@ -11125,7 +11184,7 @@ D.4 Function Index
* non-incremental-reverse-search-history (M-p): Commands For History.
(line 35)
* operate-and-get-next (C-o): Miscellaneous Commands.
(line 133)
(line 134)
* overwrite-mode (): Commands For Text. (line 65)
* possible-command-completions (C-x !): Commands For Completion.
(line 86)
@@ -11140,7 +11199,7 @@ D.4 Function Index
* possible-variable-completions (C-x $): Commands For Completion.
(line 68)
* prefix-meta (<ESC>): Miscellaneous Commands.
(line 18)
(line 19)
* previous-history (C-p): Commands For History.
(line 13)
* print-last-kbd-macro (): Keyboard Macros. (line 17)
@@ -11151,27 +11210,27 @@ D.4 Function Index
* reverse-search-history (C-r): Commands For History.
(line 27)
* revert-line (M-r): Miscellaneous Commands.
(line 25)
(line 26)
* self-insert (a, b, A, 1, !, ...): Commands For Text. (line 30)
* set-mark (C-@): Miscellaneous Commands.
(line 32)
(line 33)
* shell-backward-kill-word (): Commands For Killing.
(line 33)
* shell-backward-word (): Commands For Moving. (line 30)
* shell-expand-line (M-C-e): Miscellaneous Commands.
(line 112)
(line 113)
* shell-forward-word (): Commands For Moving. (line 26)
* shell-kill-word (): Commands For Killing.
(line 28)
* skip-csi-sequence (): Miscellaneous Commands.
(line 51)
(line 52)
* start-kbd-macro (C-x (): Keyboard Macros. (line 6)
* tilde-expand (M-&): Miscellaneous Commands.
(line 29)
(line 30)
* transpose-chars (C-t): Commands For Text. (line 42)
* transpose-words (M-t): Commands For Text. (line 48)
* undo (C-_ or C-x C-u): Miscellaneous Commands.
(line 22)
(line 23)
* universal-argument (): Numeric Arguments. (line 10)
* unix-filename-rubout (): Commands For Killing.
(line 41)
@@ -11351,134 +11410,134 @@ D.5 Concept Index

Tag Table:
Node: Top897
Node: Introduction2817
Node: What is Bash?3033
Node: What is a shell?4147
Node: Definitions6685
Node: Basic Shell Features9636
Node: Shell Syntax10855
Node: Shell Operation11881
Node: Quoting13174
Node: Escape Character14474
Node: Single Quotes14959
Node: Double Quotes15307
Node: ANSI-C Quoting16585
Node: Locale Translation17838
Node: Comments18734
Node: Shell Commands19352
Node: Simple Commands20224
Node: Pipelines20855
Node: Lists23598
Node: Compound Commands25327
Node: Looping Constructs26330
Node: Conditional Constructs28793
Node: Command Grouping39715
Node: Coprocesses41194
Node: GNU Parallel43026
Node: Shell Functions46999
Node: Shell Parameters52205
Node: Positional Parameters56618
Node: Special Parameters57518
Node: Shell Expansions60855
Node: Brace Expansion62949
Node: Tilde Expansion65730
Node: Shell Parameter Expansion68078
Node: Command Substitution82210
Node: Arithmetic Expansion83565
Node: Process Substitution84497
Node: Word Splitting85617
Node: Filename Expansion87561
Node: Pattern Matching89845
Node: Quote Removal93543
Node: Redirections93838
Node: Executing Commands103258
Node: Simple Command Expansion103928
Node: Command Search and Execution105858
Node: Command Execution Environment108194
Node: Environment111178
Node: Exit Status112837
Node: Signals114507
Node: Shell Scripts116474
Node: Shell Builtin Commands118989
Node: Bourne Shell Builtins121023
Node: Bash Builtins141623
Node: Modifying Shell Behavior170268
Node: The Set Builtin170613
Node: The Shopt Builtin181026
Node: Special Builtins196825
Node: Shell Variables197804
Node: Bourne Shell Variables198241
Node: Bash Variables200272
Node: Bash Features228652
Node: Invoking Bash229551
Node: Bash Startup Files235500
Node: Interactive Shells240603
Node: What is an Interactive Shell?241013
Node: Is this Shell Interactive?241662
Node: Interactive Shell Behavior242477
Node: Bash Conditional Expressions245852
Node: Shell Arithmetic250092
Node: Aliases252909
Node: Arrays255457
Node: The Directory Stack260541
Node: Directory Stack Builtins261325
Node: Controlling the Prompt264293
Node: The Restricted Shell267039
Node: Bash POSIX Mode268864
Node: Job Control279215
Node: Job Control Basics279675
Node: Job Control Builtins284394
Node: Job Control Variables288924
Node: Command Line Editing290080
Node: Introduction and Notation291751
Node: Readline Interaction293374
Node: Readline Bare Essentials294565
Node: Readline Movement Commands296348
Node: Readline Killing Commands297308
Node: Readline Arguments299226
Node: Searching300270
Node: Readline Init File302456
Node: Readline Init File Syntax303603
Node: Conditional Init Constructs323790
Node: Sample Init File326315
Node: Bindable Readline Commands329432
Node: Commands For Moving330636
Node: Commands For History331779
Node: Commands For Text336068
Node: Commands For Killing339457
Node: Numeric Arguments341938
Node: Commands For Completion343077
Node: Keyboard Macros347268
Node: Miscellaneous Commands347955
Node: Readline vi Mode353759
Node: Programmable Completion354666
Node: Programmable Completion Builtins362127
Node: A Programmable Completion Example372013
Node: Using History Interactively377265
Node: Bash History Facilities377949
Node: Bash History Builtins380950
Node: History Interaction384947
Node: Event Designators387911
Node: Word Designators389130
Node: Modifiers390767
Node: Installing Bash392169
Node: Basic Installation393306
Node: Compilers and Options395997
Node: Compiling For Multiple Architectures396738
Node: Installation Names398401
Node: Specifying the System Type399219
Node: Sharing Defaults399935
Node: Operation Controls400608
Node: Optional Features401566
Node: Reporting Bugs411823
Node: Major Differences From The Bourne Shell413017
Node: GNU Free Documentation License429869
Node: Indexes455046
Node: Builtin Index455500
Node: Reserved Word Index462327
Node: Variable Index464775
Node: Function Index480234
Node: Concept Index493391
Node: Top895
Node: Introduction2813
Node: What is Bash?3029
Node: What is a shell?4143
Node: Definitions6681
Node: Basic Shell Features9632
Node: Shell Syntax10851
Node: Shell Operation11877
Node: Quoting13170
Node: Escape Character14470
Node: Single Quotes14955
Node: Double Quotes15303
Node: ANSI-C Quoting16581
Node: Locale Translation17834
Node: Comments18730
Node: Shell Commands19348
Node: Simple Commands20220
Node: Pipelines20851
Node: Lists23594
Node: Compound Commands25323
Node: Looping Constructs26326
Node: Conditional Constructs28789
Node: Command Grouping39711
Node: Coprocesses41190
Node: GNU Parallel43022
Node: Shell Functions46995
Node: Shell Parameters52201
Node: Positional Parameters56614
Node: Special Parameters57514
Node: Shell Expansions60851
Node: Brace Expansion62945
Node: Tilde Expansion65779
Node: Shell Parameter Expansion68127
Node: Command Substitution82259
Node: Arithmetic Expansion83614
Node: Process Substitution84546
Node: Word Splitting85666
Node: Filename Expansion87610
Node: Pattern Matching89984
Node: Quote Removal93970
Node: Redirections94265
Node: Executing Commands103839
Node: Simple Command Expansion104509
Node: Command Search and Execution106439
Node: Command Execution Environment108775
Node: Environment111759
Node: Exit Status113418
Node: Signals115088
Node: Shell Scripts117055
Node: Shell Builtin Commands119570
Node: Bourne Shell Builtins121604
Node: Bash Builtins142204
Node: Modifying Shell Behavior170849
Node: The Set Builtin171194
Node: The Shopt Builtin181607
Node: Special Builtins197505
Node: Shell Variables198484
Node: Bourne Shell Variables198921
Node: Bash Variables200952
Node: Bash Features230660
Node: Invoking Bash231559
Node: Bash Startup Files237508
Node: Interactive Shells242611
Node: What is an Interactive Shell?243021
Node: Is this Shell Interactive?243670
Node: Interactive Shell Behavior244485
Node: Bash Conditional Expressions247860
Node: Shell Arithmetic252100
Node: Aliases254917
Node: Arrays257465
Node: The Directory Stack262549
Node: Directory Stack Builtins263333
Node: Controlling the Prompt266301
Node: The Restricted Shell269047
Node: Bash POSIX Mode270872
Node: Job Control281223
Node: Job Control Basics281683
Node: Job Control Builtins286651
Node: Job Control Variables291378
Node: Command Line Editing292534
Node: Introduction and Notation294205
Node: Readline Interaction295828
Node: Readline Bare Essentials297019
Node: Readline Movement Commands298802
Node: Readline Killing Commands299762
Node: Readline Arguments301680
Node: Searching302724
Node: Readline Init File304910
Node: Readline Init File Syntax306057
Node: Conditional Init Constructs326244
Node: Sample Init File328769
Node: Bindable Readline Commands331886
Node: Commands For Moving333090
Node: Commands For History334233
Node: Commands For Text338528
Node: Commands For Killing341917
Node: Numeric Arguments344398
Node: Commands For Completion345537
Node: Keyboard Macros349728
Node: Miscellaneous Commands350415
Node: Readline vi Mode356291
Node: Programmable Completion357198
Node: Programmable Completion Builtins364659
Node: A Programmable Completion Example374545
Node: Using History Interactively379797
Node: Bash History Facilities380481
Node: Bash History Builtins383482
Node: History Interaction387774
Node: Event Designators390738
Node: Word Designators391957
Node: Modifiers393594
Node: Installing Bash394996
Node: Basic Installation396133
Node: Compilers and Options398824
Node: Compiling For Multiple Architectures399565
Node: Installation Names401228
Node: Specifying the System Type402046
Node: Sharing Defaults402762
Node: Operation Controls403435
Node: Optional Features404393
Node: Reporting Bugs414919
Node: Major Differences From The Bourne Shell416113
Node: GNU Free Documentation License432965
Node: Indexes458142
Node: Builtin Index458596
Node: Reserved Word Index465423
Node: Variable Index467871
Node: Function Index483549
Node: Concept Index496706

End Tag Table
BIN
View File
Binary file not shown.
+6332 -6263
View File
File diff suppressed because it is too large Load Diff
+70 -70
View File
@@ -176,62 +176,62 @@
@xrdef{Bash Features-snt}{Chapter@tie 6}
@xrdef{Invoking Bash-title}{Invoking Bash}
@xrdef{Invoking Bash-snt}{Section@tie 6.1}
@xrdef{Bash Features-pg}{82}
@xrdef{Invoking Bash-pg}{82}
@xrdef{Bash Features-pg}{83}
@xrdef{Invoking Bash-pg}{83}
@xrdef{Bash Startup Files-title}{Bash Startup Files}
@xrdef{Bash Startup Files-snt}{Section@tie 6.2}
@xrdef{Bash Startup Files-pg}{84}
@xrdef{Bash Startup Files-pg}{85}
@xrdef{Interactive Shells-title}{Interactive Shells}
@xrdef{Interactive Shells-snt}{Section@tie 6.3}
@xrdef{What is an Interactive Shell?-title}{What is an Interactive Shell?}
@xrdef{What is an Interactive Shell?-snt}{Section@tie 6.3.1}
@xrdef{Interactive Shells-pg}{85}
@xrdef{Interactive Shells-pg}{86}
@xrdef{Is this Shell Interactive?-title}{Is this Shell Interactive?}
@xrdef{Is this Shell Interactive?-snt}{Section@tie 6.3.2}
@xrdef{Interactive Shell Behavior-title}{Interactive Shell Behavior}
@xrdef{Interactive Shell Behavior-snt}{Section@tie 6.3.3}
@xrdef{What is an Interactive Shell?-pg}{86}
@xrdef{Is this Shell Interactive?-pg}{86}
@xrdef{Interactive Shell Behavior-pg}{86}
@xrdef{What is an Interactive Shell?-pg}{87}
@xrdef{Is this Shell Interactive?-pg}{87}
@xrdef{Interactive Shell Behavior-pg}{87}
@xrdef{Bash Conditional Expressions-title}{Bash Conditional Expressions}
@xrdef{Bash Conditional Expressions-snt}{Section@tie 6.4}
@xrdef{Bash Conditional Expressions-pg}{87}
@xrdef{Bash Conditional Expressions-pg}{88}
@xrdef{Shell Arithmetic-title}{Shell Arithmetic}
@xrdef{Shell Arithmetic-snt}{Section@tie 6.5}
@xrdef{Shell Arithmetic-pg}{89}
@xrdef{Shell Arithmetic-pg}{90}
@xrdef{Aliases-title}{Aliases}
@xrdef{Aliases-snt}{Section@tie 6.6}
@xrdef{Aliases-pg}{90}
@xrdef{Aliases-pg}{91}
@xrdef{Arrays-title}{Arrays}
@xrdef{Arrays-snt}{Section@tie 6.7}
@xrdef{Arrays-pg}{91}
@xrdef{Arrays-pg}{92}
@xrdef{The Directory Stack-title}{The Directory Stack}
@xrdef{The Directory Stack-snt}{Section@tie 6.8}
@xrdef{Directory Stack Builtins-title}{Directory Stack Builtins}
@xrdef{Directory Stack Builtins-snt}{Section@tie 6.8.1}
@xrdef{The Directory Stack-pg}{93}
@xrdef{Directory Stack Builtins-pg}{93}
@xrdef{The Directory Stack-pg}{94}
@xrdef{Directory Stack Builtins-pg}{94}
@xrdef{Controlling the Prompt-title}{Controlling the Prompt}
@xrdef{Controlling the Prompt-snt}{Section@tie 6.9}
@xrdef{Controlling the Prompt-pg}{94}
@xrdef{Controlling the Prompt-pg}{95}
@xrdef{The Restricted Shell-title}{The Restricted Shell}
@xrdef{The Restricted Shell-snt}{Section@tie 6.10}
@xrdef{The Restricted Shell-pg}{95}
@xrdef{The Restricted Shell-pg}{96}
@xrdef{Bash POSIX Mode-title}{Bash POSIX Mode}
@xrdef{Bash POSIX Mode-snt}{Section@tie 6.11}
@xrdef{Bash POSIX Mode-pg}{96}
@xrdef{Bash POSIX Mode-pg}{97}
@xrdef{Job Control-title}{Job Control}
@xrdef{Job Control-snt}{Chapter@tie 7}
@xrdef{Job Control Basics-title}{Job Control Basics}
@xrdef{Job Control Basics-snt}{Section@tie 7.1}
@xrdef{Job Control-pg}{100}
@xrdef{Job Control Basics-pg}{100}
@xrdef{Job Control-pg}{101}
@xrdef{Job Control Basics-pg}{101}
@xrdef{Job Control Builtins-title}{Job Control Builtins}
@xrdef{Job Control Builtins-snt}{Section@tie 7.2}
@xrdef{Job Control Builtins-pg}{101}
@xrdef{Job Control Builtins-pg}{102}
@xrdef{Job Control Variables-title}{Job Control Variables}
@xrdef{Job Control Variables-snt}{Section@tie 7.3}
@xrdef{Job Control Variables-pg}{103}
@xrdef{Job Control Variables-pg}{104}
@xrdef{Command Line Editing-title}{Command Line Editing}
@xrdef{Command Line Editing-snt}{Chapter@tie 8}
@xrdef{Introduction and Notation-title}{Introduction to Line Editing}
@@ -240,145 +240,145 @@
@xrdef{Readline Interaction-snt}{Section@tie 8.2}
@xrdef{Readline Bare Essentials-title}{Readline Bare Essentials}
@xrdef{Readline Bare Essentials-snt}{Section@tie 8.2.1}
@xrdef{Command Line Editing-pg}{104}
@xrdef{Introduction and Notation-pg}{104}
@xrdef{Readline Interaction-pg}{104}
@xrdef{Command Line Editing-pg}{105}
@xrdef{Introduction and Notation-pg}{105}
@xrdef{Readline Interaction-pg}{105}
@xrdef{Readline Movement Commands-title}{Readline Movement Commands}
@xrdef{Readline Movement Commands-snt}{Section@tie 8.2.2}
@xrdef{Readline Killing Commands-title}{Readline Killing Commands}
@xrdef{Readline Killing Commands-snt}{Section@tie 8.2.3}
@xrdef{Readline Bare Essentials-pg}{105}
@xrdef{Readline Movement Commands-pg}{105}
@xrdef{Readline Bare Essentials-pg}{106}
@xrdef{Readline Movement Commands-pg}{106}
@xrdef{Readline Arguments-title}{Readline Arguments}
@xrdef{Readline Arguments-snt}{Section@tie 8.2.4}
@xrdef{Searching-title}{Searching for Commands in the History}
@xrdef{Searching-snt}{Section@tie 8.2.5}
@xrdef{Readline Killing Commands-pg}{106}
@xrdef{Readline Arguments-pg}{106}
@xrdef{Searching-pg}{106}
@xrdef{Readline Killing Commands-pg}{107}
@xrdef{Readline Arguments-pg}{107}
@xrdef{Searching-pg}{107}
@xrdef{Readline Init File-title}{Readline Init File}
@xrdef{Readline Init File-snt}{Section@tie 8.3}
@xrdef{Readline Init File Syntax-title}{Readline Init File Syntax}
@xrdef{Readline Init File Syntax-snt}{Section@tie 8.3.1}
@xrdef{Readline Init File-pg}{107}
@xrdef{Readline Init File Syntax-pg}{107}
@xrdef{Readline Init File-pg}{108}
@xrdef{Readline Init File Syntax-pg}{108}
@xrdef{Conditional Init Constructs-title}{Conditional Init Constructs}
@xrdef{Conditional Init Constructs-snt}{Section@tie 8.3.2}
@xrdef{Conditional Init Constructs-pg}{115}
@xrdef{Conditional Init Constructs-pg}{116}
@xrdef{Sample Init File-title}{Sample Init File}
@xrdef{Sample Init File-snt}{Section@tie 8.3.3}
@xrdef{Sample Init File-pg}{116}
@xrdef{Sample Init File-pg}{117}
@xrdef{Bindable Readline Commands-title}{Bindable Readline Commands}
@xrdef{Bindable Readline Commands-snt}{Section@tie 8.4}
@xrdef{Commands For Moving-title}{Commands For Moving}
@xrdef{Commands For Moving-snt}{Section@tie 8.4.1}
@xrdef{Commands For History-title}{Commands For Manipulating The History}
@xrdef{Commands For History-snt}{Section@tie 8.4.2}
@xrdef{Bindable Readline Commands-pg}{119}
@xrdef{Commands For Moving-pg}{119}
@xrdef{Commands For History-pg}{120}
@xrdef{Bindable Readline Commands-pg}{120}
@xrdef{Commands For Moving-pg}{120}
@xrdef{Commands For History-pg}{121}
@xrdef{Commands For Text-title}{Commands For Changing Text}
@xrdef{Commands For Text-snt}{Section@tie 8.4.3}
@xrdef{Commands For Text-pg}{121}
@xrdef{Commands For Text-pg}{122}
@xrdef{Commands For Killing-title}{Killing And Yanking}
@xrdef{Commands For Killing-snt}{Section@tie 8.4.4}
@xrdef{Commands For Killing-pg}{122}
@xrdef{Commands For Killing-pg}{123}
@xrdef{Numeric Arguments-title}{Specifying Numeric Arguments}
@xrdef{Numeric Arguments-snt}{Section@tie 8.4.5}
@xrdef{Commands For Completion-title}{Letting Readline Type For You}
@xrdef{Commands For Completion-snt}{Section@tie 8.4.6}
@xrdef{Numeric Arguments-pg}{124}
@xrdef{Commands For Completion-pg}{124}
@xrdef{Numeric Arguments-pg}{125}
@xrdef{Commands For Completion-pg}{125}
@xrdef{Keyboard Macros-title}{Keyboard Macros}
@xrdef{Keyboard Macros-snt}{Section@tie 8.4.7}
@xrdef{Miscellaneous Commands-title}{Some Miscellaneous Commands}
@xrdef{Miscellaneous Commands-snt}{Section@tie 8.4.8}
@xrdef{Keyboard Macros-pg}{126}
@xrdef{Miscellaneous Commands-pg}{126}
@xrdef{Keyboard Macros-pg}{127}
@xrdef{Miscellaneous Commands-pg}{127}
@xrdef{Readline vi Mode-title}{Readline vi Mode}
@xrdef{Readline vi Mode-snt}{Section@tie 8.5}
@xrdef{Programmable Completion-title}{Programmable Completion}
@xrdef{Programmable Completion-snt}{Section@tie 8.6}
@xrdef{Readline vi Mode-pg}{128}
@xrdef{Programmable Completion-pg}{129}
@xrdef{Readline vi Mode-pg}{129}
@xrdef{Programmable Completion-pg}{130}
@xrdef{Programmable Completion Builtins-title}{Programmable Completion Builtins}
@xrdef{Programmable Completion Builtins-snt}{Section@tie 8.7}
@xrdef{Programmable Completion Builtins-pg}{131}
@xrdef{Programmable Completion Builtins-pg}{132}
@xrdef{A Programmable Completion Example-title}{A Programmable Completion Example}
@xrdef{A Programmable Completion Example-snt}{Section@tie 8.8}
@xrdef{A Programmable Completion Example-pg}{134}
@xrdef{A Programmable Completion Example-pg}{135}
@xrdef{Using History Interactively-title}{Using History Interactively}
@xrdef{Using History Interactively-snt}{Chapter@tie 9}
@xrdef{Bash History Facilities-title}{Bash History Facilities}
@xrdef{Bash History Facilities-snt}{Section@tie 9.1}
@xrdef{Bash History Builtins-title}{Bash History Builtins}
@xrdef{Bash History Builtins-snt}{Section@tie 9.2}
@xrdef{Using History Interactively-pg}{137}
@xrdef{Bash History Facilities-pg}{137}
@xrdef{Bash History Builtins-pg}{137}
@xrdef{Using History Interactively-pg}{138}
@xrdef{Bash History Facilities-pg}{138}
@xrdef{Bash History Builtins-pg}{138}
@xrdef{History Interaction-title}{History Expansion}
@xrdef{History Interaction-snt}{Section@tie 9.3}
@xrdef{History Interaction-pg}{140}
@xrdef{Event Designators-title}{Event Designators}
@xrdef{Event Designators-snt}{Section@tie 9.3.1}
@xrdef{History Interaction-pg}{139}
@xrdef{Word Designators-title}{Word Designators}
@xrdef{Word Designators-snt}{Section@tie 9.3.2}
@xrdef{Event Designators-pg}{140}
@xrdef{Word Designators-pg}{140}
@xrdef{Event Designators-pg}{141}
@xrdef{Word Designators-pg}{141}
@xrdef{Modifiers-title}{Modifiers}
@xrdef{Modifiers-snt}{Section@tie 9.3.3}
@xrdef{Modifiers-pg}{141}
@xrdef{Modifiers-pg}{142}
@xrdef{Installing Bash-title}{Installing Bash}
@xrdef{Installing Bash-snt}{Chapter@tie 10}
@xrdef{Basic Installation-title}{Basic Installation}
@xrdef{Basic Installation-snt}{Section@tie 10.1}
@xrdef{Compilers and Options-title}{Compilers and Options}
@xrdef{Compilers and Options-snt}{Section@tie 10.2}
@xrdef{Installing Bash-pg}{142}
@xrdef{Basic Installation-pg}{142}
@xrdef{Installing Bash-pg}{143}
@xrdef{Basic Installation-pg}{143}
@xrdef{Compiling For Multiple Architectures-title}{Compiling For Multiple Architectures}
@xrdef{Compiling For Multiple Architectures-snt}{Section@tie 10.3}
@xrdef{Installation Names-title}{Installation Names}
@xrdef{Installation Names-snt}{Section@tie 10.4}
@xrdef{Specifying the System Type-title}{Specifying the System Type}
@xrdef{Specifying the System Type-snt}{Section@tie 10.5}
@xrdef{Compilers and Options-pg}{143}
@xrdef{Compiling For Multiple Architectures-pg}{143}
@xrdef{Installation Names-pg}{143}
@xrdef{Specifying the System Type-pg}{143}
@xrdef{Compilers and Options-pg}{144}
@xrdef{Compiling For Multiple Architectures-pg}{144}
@xrdef{Installation Names-pg}{144}
@xrdef{Specifying the System Type-pg}{144}
@xrdef{Sharing Defaults-title}{Sharing Defaults}
@xrdef{Sharing Defaults-snt}{Section@tie 10.6}
@xrdef{Operation Controls-title}{Operation Controls}
@xrdef{Operation Controls-snt}{Section@tie 10.7}
@xrdef{Optional Features-title}{Optional Features}
@xrdef{Optional Features-snt}{Section@tie 10.8}
@xrdef{Sharing Defaults-pg}{144}
@xrdef{Operation Controls-pg}{144}
@xrdef{Optional Features-pg}{144}
@xrdef{Sharing Defaults-pg}{145}
@xrdef{Operation Controls-pg}{145}
@xrdef{Optional Features-pg}{145}
@xrdef{Reporting Bugs-title}{Reporting Bugs}
@xrdef{Reporting Bugs-snt}{Appendix@tie @char65{}}
@xrdef{Reporting Bugs-pg}{149}
@xrdef{Reporting Bugs-pg}{151}
@xrdef{Major Differences From The Bourne Shell-title}{Major Differences From The Bourne Shell}
@xrdef{Major Differences From The Bourne Shell-snt}{Appendix@tie @char66{}}
@xrdef{Major Differences From The Bourne Shell-pg}{150}
@xrdef{Major Differences From The Bourne Shell-pg}{152}
@xrdef{GNU Free Documentation License-title}{GNU Free Documentation License}
@xrdef{GNU Free Documentation License-snt}{Appendix@tie @char67{}}
@xrdef{GNU Free Documentation License-pg}{156}
@xrdef{GNU Free Documentation License-pg}{158}
@xrdef{Indexes-title}{Indexes}
@xrdef{Indexes-snt}{Appendix@tie @char68{}}
@xrdef{Builtin Index-title}{Index of Shell Builtin Commands}
@xrdef{Builtin Index-snt}{Section@tie @char68.1}
@xrdef{Indexes-pg}{164}
@xrdef{Builtin Index-pg}{164}
@xrdef{Indexes-pg}{166}
@xrdef{Builtin Index-pg}{166}
@xrdef{Reserved Word Index-title}{Index of Shell Reserved Words}
@xrdef{Reserved Word Index-snt}{Section@tie @char68.2}
@xrdef{Variable Index-title}{Parameter and Variable Index}
@xrdef{Variable Index-snt}{Section@tie @char68.3}
@xrdef{Reserved Word Index-pg}{165}
@xrdef{Variable Index-pg}{166}
@xrdef{Reserved Word Index-pg}{167}
@xrdef{Variable Index-pg}{168}
@xrdef{Function Index-title}{Function Index}
@xrdef{Function Index-snt}{Section@tie @char68.4}
@xrdef{Function Index-pg}{168}
@xrdef{Function Index-pg}{170}
@xrdef{Concept Index-title}{Concept Index}
@xrdef{Concept Index-snt}{Section@tie @char68.5}
@xrdef{Concept Index-pg}{170}
@xrdef{Concept Index-pg}{172}
+15 -15
View File
@@ -42,18 +42,18 @@
\entry{unalias}{60}{\code {unalias}}
\entry{set}{60}{\code {set}}
\entry{shopt}{64}{\code {shopt}}
\entry{dirs}{93}{\code {dirs}}
\entry{popd}{93}{\code {popd}}
\entry{pushd}{93}{\code {pushd}}
\entry{bg}{101}{\code {bg}}
\entry{fg}{101}{\code {fg}}
\entry{jobs}{101}{\code {jobs}}
\entry{kill}{102}{\code {kill}}
\entry{wait}{102}{\code {wait}}
\entry{disown}{102}{\code {disown}}
\entry{suspend}{102}{\code {suspend}}
\entry{compgen}{131}{\code {compgen}}
\entry{complete}{131}{\code {complete}}
\entry{compopt}{134}{\code {compopt}}
\entry{fc}{137}{\code {fc}}
\entry{history}{138}{\code {history}}
\entry{dirs}{94}{\code {dirs}}
\entry{popd}{94}{\code {popd}}
\entry{pushd}{94}{\code {pushd}}
\entry{bg}{102}{\code {bg}}
\entry{fg}{102}{\code {fg}}
\entry{jobs}{102}{\code {jobs}}
\entry{kill}{103}{\code {kill}}
\entry{wait}{103}{\code {wait}}
\entry{disown}{103}{\code {disown}}
\entry{suspend}{104}{\code {suspend}}
\entry{compgen}{132}{\code {compgen}}
\entry{complete}{132}{\code {complete}}
\entry{compopt}{135}{\code {compopt}}
\entry{fc}{138}{\code {fc}}
\entry{history}{139}{\code {history}}
+15 -15
View File
@@ -7,7 +7,7 @@
\initial {A}
\entry {\code {alias}}{49}
\initial {B}
\entry {\code {bg}}{101}
\entry {\code {bg}}{102}
\entry {\code {bind}}{49}
\entry {\code {break}}{43}
\entry {\code {builtin}}{50}
@@ -15,14 +15,14 @@
\entry {\code {caller}}{51}
\entry {\code {cd}}{43}
\entry {\code {command}}{51}
\entry {\code {compgen}}{131}
\entry {\code {complete}}{131}
\entry {\code {compopt}}{134}
\entry {\code {compgen}}{132}
\entry {\code {complete}}{132}
\entry {\code {compopt}}{135}
\entry {\code {continue}}{43}
\initial {D}
\entry {\code {declare}}{51}
\entry {\code {dirs}}{93}
\entry {\code {disown}}{102}
\entry {\code {dirs}}{94}
\entry {\code {disown}}{103}
\initial {E}
\entry {\code {echo}}{53}
\entry {\code {enable}}{53}
@@ -31,18 +31,18 @@
\entry {\code {exit}}{44}
\entry {\code {export}}{44}
\initial {F}
\entry {\code {fc}}{137}
\entry {\code {fg}}{101}
\entry {\code {fc}}{138}
\entry {\code {fg}}{102}
\initial {G}
\entry {\code {getopts}}{44}
\initial {H}
\entry {\code {hash}}{45}
\entry {\code {help}}{54}
\entry {\code {history}}{138}
\entry {\code {history}}{139}
\initial {J}
\entry {\code {jobs}}{101}
\entry {\code {jobs}}{102}
\initial {K}
\entry {\code {kill}}{102}
\entry {\code {kill}}{103}
\initial {L}
\entry {\code {let}}{54}
\entry {\code {local}}{54}
@@ -50,9 +50,9 @@
\initial {M}
\entry {\code {mapfile}}{55}
\initial {P}
\entry {\code {popd}}{93}
\entry {\code {popd}}{94}
\entry {\code {printf}}{55}
\entry {\code {pushd}}{93}
\entry {\code {pushd}}{94}
\entry {\code {pwd}}{45}
\initial {R}
\entry {\code {read}}{56}
@@ -64,7 +64,7 @@
\entry {\code {shift}}{46}
\entry {\code {shopt}}{64}
\entry {\code {source}}{58}
\entry {\code {suspend}}{102}
\entry {\code {suspend}}{104}
\initial {T}
\entry {\code {test}}{46}
\entry {\code {times}}{48}
@@ -77,4 +77,4 @@
\entry {\code {unalias}}{60}
\entry {\code {unset}}{49}
\initial {W}
\entry {\code {wait}}{102}
\entry {\code {wait}}{103}
+43 -43
View File
@@ -72,47 +72,47 @@
\entry{signal handling}{39}{signal handling}
\entry{shell script}{40}{shell script}
\entry{special builtin}{70}{special builtin}
\entry{login shell}{84}{login shell}
\entry{interactive shell}{84}{interactive shell}
\entry{startup files}{84}{startup files}
\entry{login shell}{85}{login shell}
\entry{interactive shell}{85}{interactive shell}
\entry{shell, interactive}{85}{shell, interactive}
\entry{expressions, conditional}{87}{expressions, conditional}
\entry{arithmetic, shell}{89}{arithmetic, shell}
\entry{shell arithmetic}{89}{shell arithmetic}
\entry{expressions, arithmetic}{89}{expressions, arithmetic}
\entry{evaluation, arithmetic}{89}{evaluation, arithmetic}
\entry{arithmetic evaluation}{89}{arithmetic evaluation}
\entry{alias expansion}{90}{alias expansion}
\entry{arrays}{91}{arrays}
\entry{directory stack}{93}{directory stack}
\entry{prompting}{94}{prompting}
\entry{restricted shell}{95}{restricted shell}
\entry{POSIX Mode}{96}{POSIX Mode}
\entry{job control}{100}{job control}
\entry{foreground}{100}{foreground}
\entry{background}{100}{background}
\entry{suspending jobs}{100}{suspending jobs}
\entry{Readline, how to use}{103}{Readline, how to use}
\entry{interaction, readline}{104}{interaction, readline}
\entry{notation, readline}{105}{notation, readline}
\entry{command editing}{105}{command editing}
\entry{editing command lines}{105}{editing command lines}
\entry{killing text}{106}{killing text}
\entry{yanking text}{106}{yanking text}
\entry{kill ring}{106}{kill ring}
\entry{initialization file, readline}{107}{initialization file, readline}
\entry{variables, readline}{108}{variables, readline}
\entry{programmable completion}{129}{programmable completion}
\entry{completion builtins}{131}{completion builtins}
\entry{History, how to use}{136}{History, how to use}
\entry{command history}{137}{command history}
\entry{history list}{137}{history list}
\entry{history builtins}{137}{history builtins}
\entry{history expansion}{139}{history expansion}
\entry{event designators}{140}{event designators}
\entry{history events}{140}{history events}
\entry{installation}{142}{installation}
\entry{configuration}{142}{configuration}
\entry{Bash installation}{142}{Bash installation}
\entry{Bash configuration}{142}{Bash configuration}
\entry{startup files}{85}{startup files}
\entry{interactive shell}{86}{interactive shell}
\entry{shell, interactive}{86}{shell, interactive}
\entry{expressions, conditional}{88}{expressions, conditional}
\entry{arithmetic, shell}{90}{arithmetic, shell}
\entry{shell arithmetic}{90}{shell arithmetic}
\entry{expressions, arithmetic}{90}{expressions, arithmetic}
\entry{evaluation, arithmetic}{90}{evaluation, arithmetic}
\entry{arithmetic evaluation}{90}{arithmetic evaluation}
\entry{alias expansion}{91}{alias expansion}
\entry{arrays}{92}{arrays}
\entry{directory stack}{94}{directory stack}
\entry{prompting}{95}{prompting}
\entry{restricted shell}{96}{restricted shell}
\entry{POSIX Mode}{97}{POSIX Mode}
\entry{job control}{101}{job control}
\entry{foreground}{101}{foreground}
\entry{background}{101}{background}
\entry{suspending jobs}{101}{suspending jobs}
\entry{Readline, how to use}{104}{Readline, how to use}
\entry{interaction, readline}{105}{interaction, readline}
\entry{notation, readline}{106}{notation, readline}
\entry{command editing}{106}{command editing}
\entry{editing command lines}{106}{editing command lines}
\entry{killing text}{107}{killing text}
\entry{yanking text}{107}{yanking text}
\entry{kill ring}{107}{kill ring}
\entry{initialization file, readline}{108}{initialization file, readline}
\entry{variables, readline}{109}{variables, readline}
\entry{programmable completion}{130}{programmable completion}
\entry{completion builtins}{132}{completion builtins}
\entry{History, how to use}{137}{History, how to use}
\entry{command history}{138}{command history}
\entry{history list}{138}{history list}
\entry{history builtins}{138}{history builtins}
\entry{history expansion}{140}{history expansion}
\entry{event designators}{141}{event designators}
\entry{history events}{141}{history events}
\entry{installation}{143}{installation}
\entry{configuration}{143}{configuration}
\entry{Bash installation}{143}{Bash installation}
\entry{Bash configuration}{143}{Bash configuration}
+43 -43
View File
@@ -1,21 +1,21 @@
\initial {A}
\entry {alias expansion}{90}
\entry {arithmetic evaluation}{89}
\entry {alias expansion}{91}
\entry {arithmetic evaluation}{90}
\entry {arithmetic expansion}{29}
\entry {arithmetic, shell}{89}
\entry {arrays}{91}
\entry {arithmetic, shell}{90}
\entry {arrays}{92}
\initial {B}
\entry {background}{100}
\entry {Bash configuration}{142}
\entry {Bash installation}{142}
\entry {background}{101}
\entry {Bash configuration}{143}
\entry {Bash installation}{143}
\entry {Bourne shell}{5}
\entry {brace expansion}{21}
\entry {builtin}{3}
\initial {C}
\entry {command editing}{105}
\entry {command editing}{106}
\entry {command execution}{37}
\entry {command expansion}{36}
\entry {command history}{137}
\entry {command history}{138}
\entry {command search}{37}
\entry {command substitution}{29}
\entry {command timing}{8}
@@ -28,17 +28,17 @@
\entry {commands, shell}{8}
\entry {commands, simple}{8}
\entry {comments, shell}{7}
\entry {completion builtins}{131}
\entry {configuration}{142}
\entry {completion builtins}{132}
\entry {configuration}{143}
\entry {control operator}{3}
\entry {coprocess}{15}
\initial {D}
\entry {directory stack}{93}
\entry {directory stack}{94}
\initial {E}
\entry {editing command lines}{105}
\entry {editing command lines}{106}
\entry {environment}{38}
\entry {evaluation, arithmetic}{89}
\entry {event designators}{140}
\entry {evaluation, arithmetic}{90}
\entry {event designators}{141}
\entry {execution environment}{37}
\entry {exit status}{3, 39}
\entry {expansion}{21}
@@ -48,43 +48,43 @@
\entry {expansion, parameter}{23}
\entry {expansion, pathname}{30}
\entry {expansion, tilde}{22}
\entry {expressions, arithmetic}{89}
\entry {expressions, conditional}{87}
\entry {expressions, arithmetic}{90}
\entry {expressions, conditional}{88}
\initial {F}
\entry {field}{3}
\entry {filename}{3}
\entry {filename expansion}{30}
\entry {foreground}{100}
\entry {foreground}{101}
\entry {functions, shell}{17}
\initial {H}
\entry {history builtins}{137}
\entry {history events}{140}
\entry {history expansion}{139}
\entry {history list}{137}
\entry {History, how to use}{136}
\entry {history builtins}{138}
\entry {history events}{141}
\entry {history expansion}{140}
\entry {history list}{138}
\entry {History, how to use}{137}
\initial {I}
\entry {identifier}{3}
\entry {initialization file, readline}{107}
\entry {installation}{142}
\entry {interaction, readline}{104}
\entry {interactive shell}{84, 85}
\entry {initialization file, readline}{108}
\entry {installation}{143}
\entry {interaction, readline}{105}
\entry {interactive shell}{85, 86}
\entry {internationalization}{7}
\initial {J}
\entry {job}{3}
\entry {job control}{3, 100}
\entry {job control}{3, 101}
\initial {K}
\entry {kill ring}{106}
\entry {killing text}{106}
\entry {kill ring}{107}
\entry {killing text}{107}
\initial {L}
\entry {localization}{7}
\entry {login shell}{84}
\entry {login shell}{85}
\initial {M}
\entry {matching, pattern}{31}
\entry {metacharacter}{3}
\initial {N}
\entry {name}{3}
\entry {native languages}{7}
\entry {notation, readline}{105}
\entry {notation, readline}{106}
\initial {O}
\entry {operator, shell}{3}
\initial {P}
@@ -96,41 +96,41 @@
\entry {pattern matching}{31}
\entry {pipeline}{8}
\entry {POSIX}{3}
\entry {POSIX Mode}{96}
\entry {POSIX Mode}{97}
\entry {process group}{3}
\entry {process group ID}{3}
\entry {process substitution}{30}
\entry {programmable completion}{129}
\entry {prompting}{94}
\entry {programmable completion}{130}
\entry {prompting}{95}
\initial {Q}
\entry {quoting}{6}
\entry {quoting, ANSI}{6}
\initial {R}
\entry {Readline, how to use}{103}
\entry {Readline, how to use}{104}
\entry {redirection}{32}
\entry {reserved word}{3}
\entry {restricted shell}{95}
\entry {restricted shell}{96}
\entry {return status}{4}
\initial {S}
\entry {shell arithmetic}{89}
\entry {shell arithmetic}{90}
\entry {shell function}{17}
\entry {shell script}{40}
\entry {shell variable}{18}
\entry {shell, interactive}{85}
\entry {shell, interactive}{86}
\entry {signal}{4}
\entry {signal handling}{39}
\entry {special builtin}{4, 70}
\entry {startup files}{84}
\entry {suspending jobs}{100}
\entry {startup files}{85}
\entry {suspending jobs}{101}
\initial {T}
\entry {tilde expansion}{22}
\entry {token}{4}
\entry {translation, native languages}{7}
\initial {V}
\entry {variable, shell}{18}
\entry {variables, readline}{108}
\entry {variables, readline}{109}
\initial {W}
\entry {word}{4}
\entry {word splitting}{30}
\initial {Y}
\entry {yanking text}{106}
\entry {yanking text}{107}
BIN
View File
Binary file not shown.
+108 -108
View File
@@ -1,108 +1,108 @@
\entry{beginning-of-line (C-a)}{119}{\code {beginning-of-line (C-a)}}
\entry{end-of-line (C-e)}{119}{\code {end-of-line (C-e)}}
\entry{forward-char (C-f)}{119}{\code {forward-char (C-f)}}
\entry{backward-char (C-b)}{119}{\code {backward-char (C-b)}}
\entry{forward-word (M-f)}{119}{\code {forward-word (M-f)}}
\entry{backward-word (M-b)}{119}{\code {backward-word (M-b)}}
\entry{shell-forward-word ()}{119}{\code {shell-forward-word ()}}
\entry{shell-backward-word ()}{119}{\code {shell-backward-word ()}}
\entry{clear-screen (C-l)}{119}{\code {clear-screen (C-l)}}
\entry{redraw-current-line ()}{119}{\code {redraw-current-line ()}}
\entry{accept-line (Newline or Return)}{120}{\code {accept-line (Newline or Return)}}
\entry{previous-history (C-p)}{120}{\code {previous-history (C-p)}}
\entry{next-history (C-n)}{120}{\code {next-history (C-n)}}
\entry{beginning-of-history (M-<)}{120}{\code {beginning-of-history (M-<)}}
\entry{end-of-history (M->)}{120}{\code {end-of-history (M->)}}
\entry{reverse-search-history (C-r)}{120}{\code {reverse-search-history (C-r)}}
\entry{forward-search-history (C-s)}{120}{\code {forward-search-history (C-s)}}
\entry{non-incremental-reverse-search-history (M-p)}{120}{\code {non-incremental-reverse-search-history (M-p)}}
\entry{non-incremental-forward-search-history (M-n)}{120}{\code {non-incremental-forward-search-history (M-n)}}
\entry{history-search-forward ()}{120}{\code {history-search-forward ()}}
\entry{history-search-backward ()}{120}{\code {history-search-backward ()}}
\entry{history-substr-search-forward ()}{120}{\code {history-substr-search-forward ()}}
\entry{history-substr-search-backward ()}{121}{\code {history-substr-search-backward ()}}
\entry{yank-nth-arg (M-C-y)}{121}{\code {yank-nth-arg (M-C-y)}}
\entry{yank-last-arg (M-. or M-_)}{121}{\code {yank-last-arg (M-. or M-_)}}
\entry{end-of-file (usually C-d)}{121}{\code {\i {end-of-file} (usually C-d)}}
\entry{delete-char (C-d)}{121}{\code {delete-char (C-d)}}
\entry{backward-delete-char (Rubout)}{121}{\code {backward-delete-char (Rubout)}}
\entry{forward-backward-delete-char ()}{121}{\code {forward-backward-delete-char ()}}
\entry{quoted-insert (C-q or C-v)}{121}{\code {quoted-insert (C-q or C-v)}}
\entry{self-insert (a, b, A, 1, !, ...{})}{122}{\code {self-insert (a, b, A, 1, !, \dots {})}}
\entry{bracketed-paste-begin ()}{122}{\code {bracketed-paste-begin ()}}
\entry{transpose-chars (C-t)}{122}{\code {transpose-chars (C-t)}}
\entry{transpose-words (M-t)}{122}{\code {transpose-words (M-t)}}
\entry{upcase-word (M-u)}{122}{\code {upcase-word (M-u)}}
\entry{downcase-word (M-l)}{122}{\code {downcase-word (M-l)}}
\entry{capitalize-word (M-c)}{122}{\code {capitalize-word (M-c)}}
\entry{overwrite-mode ()}{122}{\code {overwrite-mode ()}}
\entry{kill-line (C-k)}{122}{\code {kill-line (C-k)}}
\entry{backward-kill-line (C-x Rubout)}{122}{\code {backward-kill-line (C-x Rubout)}}
\entry{unix-line-discard (C-u)}{123}{\code {unix-line-discard (C-u)}}
\entry{kill-whole-line ()}{123}{\code {kill-whole-line ()}}
\entry{kill-word (M-d)}{123}{\code {kill-word (M-d)}}
\entry{backward-kill-word (M-DEL)}{123}{\code {backward-kill-word (M-\key {DEL})}}
\entry{shell-kill-word ()}{123}{\code {shell-kill-word ()}}
\entry{shell-backward-kill-word ()}{123}{\code {shell-backward-kill-word ()}}
\entry{unix-word-rubout (C-w)}{123}{\code {unix-word-rubout (C-w)}}
\entry{unix-filename-rubout ()}{123}{\code {unix-filename-rubout ()}}
\entry{delete-horizontal-space ()}{123}{\code {delete-horizontal-space ()}}
\entry{kill-region ()}{123}{\code {kill-region ()}}
\entry{copy-region-as-kill ()}{123}{\code {copy-region-as-kill ()}}
\entry{copy-backward-word ()}{123}{\code {copy-backward-word ()}}
\entry{copy-forward-word ()}{123}{\code {copy-forward-word ()}}
\entry{yank (C-y)}{123}{\code {yank (C-y)}}
\entry{yank-pop (M-y)}{123}{\code {yank-pop (M-y)}}
\entry{digit-argument (M-0, M-1, ...{} M--)}{124}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}
\entry{universal-argument ()}{124}{\code {universal-argument ()}}
\entry{complete (TAB)}{124}{\code {complete (\key {TAB})}}
\entry{possible-completions (M-?)}{124}{\code {possible-completions (M-?)}}
\entry{insert-completions (M-*)}{124}{\code {insert-completions (M-*)}}
\entry{menu-complete ()}{124}{\code {menu-complete ()}}
\entry{menu-complete-backward ()}{124}{\code {menu-complete-backward ()}}
\entry{delete-char-or-list ()}{125}{\code {delete-char-or-list ()}}
\entry{complete-filename (M-/)}{125}{\code {complete-filename (M-/)}}
\entry{possible-filename-completions (C-x /)}{125}{\code {possible-filename-completions (C-x /)}}
\entry{complete-username (M-~)}{125}{\code {complete-username (M-~)}}
\entry{possible-username-completions (C-x ~)}{125}{\code {possible-username-completions (C-x ~)}}
\entry{complete-variable (M-$)}{125}{\code {complete-variable (M-$)}}
\entry{possible-variable-completions (C-x $)}{125}{\code {possible-variable-completions (C-x $)}}
\entry{complete-hostname (M-@)}{125}{\code {complete-hostname (M-@)}}
\entry{possible-hostname-completions (C-x @)}{125}{\code {possible-hostname-completions (C-x @)}}
\entry{complete-command (M-!)}{125}{\code {complete-command (M-!)}}
\entry{possible-command-completions (C-x !)}{125}{\code {possible-command-completions (C-x !)}}
\entry{dynamic-complete-history (M-TAB)}{125}{\code {dynamic-complete-history (M-\key {TAB})}}
\entry{dabbrev-expand ()}{125}{\code {dabbrev-expand ()}}
\entry{complete-into-braces (M-{\indexlbrace })}{125}{\code {complete-into-braces (M-{\tt \char 123})}}
\entry{start-kbd-macro (C-x ()}{126}{\code {start-kbd-macro (C-x ()}}
\entry{end-kbd-macro (C-x ))}{126}{\code {end-kbd-macro (C-x ))}}
\entry{call-last-kbd-macro (C-x e)}{126}{\code {call-last-kbd-macro (C-x e)}}
\entry{print-last-kbd-macro ()}{126}{\code {print-last-kbd-macro ()}}
\entry{re-read-init-file (C-x C-r)}{126}{\code {re-read-init-file (C-x C-r)}}
\entry{abort (C-g)}{126}{\code {abort (C-g)}}
\entry{do-uppercase-version (M-a, M-b, M-x, ...{})}{126}{\code {do-uppercase-version (M-a, M-b, M-\var {x}, \dots {})}}
\entry{prefix-meta (ESC)}{126}{\code {prefix-meta (\key {ESC})}}
\entry{undo (C-_ or C-x C-u)}{126}{\code {undo (C-_ or C-x C-u)}}
\entry{revert-line (M-r)}{126}{\code {revert-line (M-r)}}
\entry{tilde-expand (M-&)}{126}{\code {tilde-expand (M-&)}}
\entry{set-mark (C-@)}{126}{\code {set-mark (C-@)}}
\entry{exchange-point-and-mark (C-x C-x)}{126}{\code {exchange-point-and-mark (C-x C-x)}}
\entry{character-search (C-])}{126}{\code {character-search (C-])}}
\entry{character-search-backward (M-C-])}{127}{\code {character-search-backward (M-C-])}}
\entry{skip-csi-sequence ()}{127}{\code {skip-csi-sequence ()}}
\entry{insert-comment (M-#)}{127}{\code {insert-comment (M-#)}}
\entry{dump-functions ()}{127}{\code {dump-functions ()}}
\entry{dump-variables ()}{127}{\code {dump-variables ()}}
\entry{dump-macros ()}{127}{\code {dump-macros ()}}
\entry{glob-complete-word (M-g)}{127}{\code {glob-complete-word (M-g)}}
\entry{glob-expand-word (C-x *)}{127}{\code {glob-expand-word (C-x *)}}
\entry{glob-list-expansions (C-x g)}{128}{\code {glob-list-expansions (C-x g)}}
\entry{display-shell-version (C-x C-v)}{128}{\code {display-shell-version (C-x C-v)}}
\entry{shell-expand-line (M-C-e)}{128}{\code {shell-expand-line (M-C-e)}}
\entry{history-expand-line (M-^)}{128}{\code {history-expand-line (M-^)}}
\entry{magic-space ()}{128}{\code {magic-space ()}}
\entry{alias-expand-line ()}{128}{\code {alias-expand-line ()}}
\entry{history-and-alias-expand-line ()}{128}{\code {history-and-alias-expand-line ()}}
\entry{insert-last-argument (M-. or M-_)}{128}{\code {insert-last-argument (M-. or M-_)}}
\entry{operate-and-get-next (C-o)}{128}{\code {operate-and-get-next (C-o)}}
\entry{edit-and-execute-command (C-xC-e)}{128}{\code {edit-and-execute-command (C-xC-e)}}
\entry{beginning-of-line (C-a)}{120}{\code {beginning-of-line (C-a)}}
\entry{end-of-line (C-e)}{120}{\code {end-of-line (C-e)}}
\entry{forward-char (C-f)}{120}{\code {forward-char (C-f)}}
\entry{backward-char (C-b)}{120}{\code {backward-char (C-b)}}
\entry{forward-word (M-f)}{120}{\code {forward-word (M-f)}}
\entry{backward-word (M-b)}{120}{\code {backward-word (M-b)}}
\entry{shell-forward-word ()}{120}{\code {shell-forward-word ()}}
\entry{shell-backward-word ()}{120}{\code {shell-backward-word ()}}
\entry{clear-screen (C-l)}{120}{\code {clear-screen (C-l)}}
\entry{redraw-current-line ()}{120}{\code {redraw-current-line ()}}
\entry{accept-line (Newline or Return)}{121}{\code {accept-line (Newline or Return)}}
\entry{previous-history (C-p)}{121}{\code {previous-history (C-p)}}
\entry{next-history (C-n)}{121}{\code {next-history (C-n)}}
\entry{beginning-of-history (M-<)}{121}{\code {beginning-of-history (M-<)}}
\entry{end-of-history (M->)}{121}{\code {end-of-history (M->)}}
\entry{reverse-search-history (C-r)}{121}{\code {reverse-search-history (C-r)}}
\entry{forward-search-history (C-s)}{121}{\code {forward-search-history (C-s)}}
\entry{non-incremental-reverse-search-history (M-p)}{121}{\code {non-incremental-reverse-search-history (M-p)}}
\entry{non-incremental-forward-search-history (M-n)}{121}{\code {non-incremental-forward-search-history (M-n)}}
\entry{history-search-forward ()}{121}{\code {history-search-forward ()}}
\entry{history-search-backward ()}{121}{\code {history-search-backward ()}}
\entry{history-substring-search-forward ()}{121}{\code {history-substring-search-forward ()}}
\entry{history-substring-search-backward ()}{122}{\code {history-substring-search-backward ()}}
\entry{yank-nth-arg (M-C-y)}{122}{\code {yank-nth-arg (M-C-y)}}
\entry{yank-last-arg (M-. or M-_)}{122}{\code {yank-last-arg (M-. or M-_)}}
\entry{end-of-file (usually C-d)}{122}{\code {\i {end-of-file} (usually C-d)}}
\entry{delete-char (C-d)}{122}{\code {delete-char (C-d)}}
\entry{backward-delete-char (Rubout)}{122}{\code {backward-delete-char (Rubout)}}
\entry{forward-backward-delete-char ()}{122}{\code {forward-backward-delete-char ()}}
\entry{quoted-insert (C-q or C-v)}{122}{\code {quoted-insert (C-q or C-v)}}
\entry{self-insert (a, b, A, 1, !, ...{})}{123}{\code {self-insert (a, b, A, 1, !, \dots {})}}
\entry{bracketed-paste-begin ()}{123}{\code {bracketed-paste-begin ()}}
\entry{transpose-chars (C-t)}{123}{\code {transpose-chars (C-t)}}
\entry{transpose-words (M-t)}{123}{\code {transpose-words (M-t)}}
\entry{upcase-word (M-u)}{123}{\code {upcase-word (M-u)}}
\entry{downcase-word (M-l)}{123}{\code {downcase-word (M-l)}}
\entry{capitalize-word (M-c)}{123}{\code {capitalize-word (M-c)}}
\entry{overwrite-mode ()}{123}{\code {overwrite-mode ()}}
\entry{kill-line (C-k)}{123}{\code {kill-line (C-k)}}
\entry{backward-kill-line (C-x Rubout)}{123}{\code {backward-kill-line (C-x Rubout)}}
\entry{unix-line-discard (C-u)}{124}{\code {unix-line-discard (C-u)}}
\entry{kill-whole-line ()}{124}{\code {kill-whole-line ()}}
\entry{kill-word (M-d)}{124}{\code {kill-word (M-d)}}
\entry{backward-kill-word (M-DEL)}{124}{\code {backward-kill-word (M-\key {DEL})}}
\entry{shell-kill-word ()}{124}{\code {shell-kill-word ()}}
\entry{shell-backward-kill-word ()}{124}{\code {shell-backward-kill-word ()}}
\entry{unix-word-rubout (C-w)}{124}{\code {unix-word-rubout (C-w)}}
\entry{unix-filename-rubout ()}{124}{\code {unix-filename-rubout ()}}
\entry{delete-horizontal-space ()}{124}{\code {delete-horizontal-space ()}}
\entry{kill-region ()}{124}{\code {kill-region ()}}
\entry{copy-region-as-kill ()}{124}{\code {copy-region-as-kill ()}}
\entry{copy-backward-word ()}{124}{\code {copy-backward-word ()}}
\entry{copy-forward-word ()}{124}{\code {copy-forward-word ()}}
\entry{yank (C-y)}{124}{\code {yank (C-y)}}
\entry{yank-pop (M-y)}{124}{\code {yank-pop (M-y)}}
\entry{digit-argument (M-0, M-1, ...{} M--)}{125}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}
\entry{universal-argument ()}{125}{\code {universal-argument ()}}
\entry{complete (TAB)}{125}{\code {complete (\key {TAB})}}
\entry{possible-completions (M-?)}{125}{\code {possible-completions (M-?)}}
\entry{insert-completions (M-*)}{125}{\code {insert-completions (M-*)}}
\entry{menu-complete ()}{125}{\code {menu-complete ()}}
\entry{menu-complete-backward ()}{125}{\code {menu-complete-backward ()}}
\entry{delete-char-or-list ()}{126}{\code {delete-char-or-list ()}}
\entry{complete-filename (M-/)}{126}{\code {complete-filename (M-/)}}
\entry{possible-filename-completions (C-x /)}{126}{\code {possible-filename-completions (C-x /)}}
\entry{complete-username (M-~)}{126}{\code {complete-username (M-~)}}
\entry{possible-username-completions (C-x ~)}{126}{\code {possible-username-completions (C-x ~)}}
\entry{complete-variable (M-$)}{126}{\code {complete-variable (M-$)}}
\entry{possible-variable-completions (C-x $)}{126}{\code {possible-variable-completions (C-x $)}}
\entry{complete-hostname (M-@)}{126}{\code {complete-hostname (M-@)}}
\entry{possible-hostname-completions (C-x @)}{126}{\code {possible-hostname-completions (C-x @)}}
\entry{complete-command (M-!)}{126}{\code {complete-command (M-!)}}
\entry{possible-command-completions (C-x !)}{126}{\code {possible-command-completions (C-x !)}}
\entry{dynamic-complete-history (M-TAB)}{126}{\code {dynamic-complete-history (M-\key {TAB})}}
\entry{dabbrev-expand ()}{126}{\code {dabbrev-expand ()}}
\entry{complete-into-braces (M-{\indexlbrace })}{126}{\code {complete-into-braces (M-{\tt \char 123})}}
\entry{start-kbd-macro (C-x ()}{127}{\code {start-kbd-macro (C-x ()}}
\entry{end-kbd-macro (C-x ))}{127}{\code {end-kbd-macro (C-x ))}}
\entry{call-last-kbd-macro (C-x e)}{127}{\code {call-last-kbd-macro (C-x e)}}
\entry{print-last-kbd-macro ()}{127}{\code {print-last-kbd-macro ()}}
\entry{re-read-init-file (C-x C-r)}{127}{\code {re-read-init-file (C-x C-r)}}
\entry{abort (C-g)}{127}{\code {abort (C-g)}}
\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{127}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}
\entry{prefix-meta (ESC)}{127}{\code {prefix-meta (\key {ESC})}}
\entry{undo (C-_ or C-x C-u)}{127}{\code {undo (C-_ or C-x C-u)}}
\entry{revert-line (M-r)}{127}{\code {revert-line (M-r)}}
\entry{tilde-expand (M-&)}{127}{\code {tilde-expand (M-&)}}
\entry{set-mark (C-@)}{127}{\code {set-mark (C-@)}}
\entry{exchange-point-and-mark (C-x C-x)}{127}{\code {exchange-point-and-mark (C-x C-x)}}
\entry{character-search (C-])}{127}{\code {character-search (C-])}}
\entry{character-search-backward (M-C-])}{128}{\code {character-search-backward (M-C-])}}
\entry{skip-csi-sequence ()}{128}{\code {skip-csi-sequence ()}}
\entry{insert-comment (M-#)}{128}{\code {insert-comment (M-#)}}
\entry{dump-functions ()}{128}{\code {dump-functions ()}}
\entry{dump-variables ()}{128}{\code {dump-variables ()}}
\entry{dump-macros ()}{128}{\code {dump-macros ()}}
\entry{glob-complete-word (M-g)}{128}{\code {glob-complete-word (M-g)}}
\entry{glob-expand-word (C-x *)}{128}{\code {glob-expand-word (C-x *)}}
\entry{glob-list-expansions (C-x g)}{129}{\code {glob-list-expansions (C-x g)}}
\entry{display-shell-version (C-x C-v)}{129}{\code {display-shell-version (C-x C-v)}}
\entry{shell-expand-line (M-C-e)}{129}{\code {shell-expand-line (M-C-e)}}
\entry{history-expand-line (M-^)}{129}{\code {history-expand-line (M-^)}}
\entry{magic-space ()}{129}{\code {magic-space ()}}
\entry{alias-expand-line ()}{129}{\code {alias-expand-line ()}}
\entry{history-and-alias-expand-line ()}{129}{\code {history-and-alias-expand-line ()}}
\entry{insert-last-argument (M-. or M-_)}{129}{\code {insert-last-argument (M-. or M-_)}}
\entry{operate-and-get-next (C-o)}{129}{\code {operate-and-get-next (C-o)}}
\entry{edit-and-execute-command (C-x C-e)}{129}{\code {edit-and-execute-command (C-x C-e)}}
+108 -108
View File
@@ -1,128 +1,128 @@
\initial {A}
\entry {\code {abort (C-g)}}{126}
\entry {\code {accept-line (Newline or Return)}}{120}
\entry {\code {alias-expand-line ()}}{128}
\entry {\code {abort (C-g)}}{127}
\entry {\code {accept-line (Newline or Return)}}{121}
\entry {\code {alias-expand-line ()}}{129}
\initial {B}
\entry {\code {backward-char (C-b)}}{119}
\entry {\code {backward-delete-char (Rubout)}}{121}
\entry {\code {backward-kill-line (C-x Rubout)}}{122}
\entry {\code {backward-kill-word (M-\key {DEL})}}{123}
\entry {\code {backward-word (M-b)}}{119}
\entry {\code {beginning-of-history (M-<)}}{120}
\entry {\code {beginning-of-line (C-a)}}{119}
\entry {\code {bracketed-paste-begin ()}}{122}
\entry {\code {backward-char (C-b)}}{120}
\entry {\code {backward-delete-char (Rubout)}}{122}
\entry {\code {backward-kill-line (C-x Rubout)}}{123}
\entry {\code {backward-kill-word (M-\key {DEL})}}{124}
\entry {\code {backward-word (M-b)}}{120}
\entry {\code {beginning-of-history (M-<)}}{121}
\entry {\code {beginning-of-line (C-a)}}{120}
\entry {\code {bracketed-paste-begin ()}}{123}
\initial {C}
\entry {\code {call-last-kbd-macro (C-x e)}}{126}
\entry {\code {capitalize-word (M-c)}}{122}
\entry {\code {character-search (C-])}}{126}
\entry {\code {character-search-backward (M-C-])}}{127}
\entry {\code {clear-screen (C-l)}}{119}
\entry {\code {complete (\key {TAB})}}{124}
\entry {\code {complete-command (M-!)}}{125}
\entry {\code {complete-filename (M-/)}}{125}
\entry {\code {complete-hostname (M-@)}}{125}
\entry {\code {complete-into-braces (M-{\tt \char 123})}}{125}
\entry {\code {complete-username (M-~)}}{125}
\entry {\code {complete-variable (M-$)}}{125}
\entry {\code {copy-backward-word ()}}{123}
\entry {\code {copy-forward-word ()}}{123}
\entry {\code {copy-region-as-kill ()}}{123}
\entry {\code {call-last-kbd-macro (C-x e)}}{127}
\entry {\code {capitalize-word (M-c)}}{123}
\entry {\code {character-search (C-])}}{127}
\entry {\code {character-search-backward (M-C-])}}{128}
\entry {\code {clear-screen (C-l)}}{120}
\entry {\code {complete (\key {TAB})}}{125}
\entry {\code {complete-command (M-!)}}{126}
\entry {\code {complete-filename (M-/)}}{126}
\entry {\code {complete-hostname (M-@)}}{126}
\entry {\code {complete-into-braces (M-{\tt \char 123})}}{126}
\entry {\code {complete-username (M-~)}}{126}
\entry {\code {complete-variable (M-$)}}{126}
\entry {\code {copy-backward-word ()}}{124}
\entry {\code {copy-forward-word ()}}{124}
\entry {\code {copy-region-as-kill ()}}{124}
\initial {D}
\entry {\code {dabbrev-expand ()}}{125}
\entry {\code {delete-char (C-d)}}{121}
\entry {\code {delete-char-or-list ()}}{125}
\entry {\code {delete-horizontal-space ()}}{123}
\entry {\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{124}
\entry {\code {display-shell-version (C-x C-v)}}{128}
\entry {\code {do-uppercase-version (M-a, M-b, M-\var {x}, \dots {})}}{126}
\entry {\code {downcase-word (M-l)}}{122}
\entry {\code {dump-functions ()}}{127}
\entry {\code {dump-macros ()}}{127}
\entry {\code {dump-variables ()}}{127}
\entry {\code {dynamic-complete-history (M-\key {TAB})}}{125}
\entry {\code {dabbrev-expand ()}}{126}
\entry {\code {delete-char (C-d)}}{122}
\entry {\code {delete-char-or-list ()}}{126}
\entry {\code {delete-horizontal-space ()}}{124}
\entry {\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{125}
\entry {\code {display-shell-version (C-x C-v)}}{129}
\entry {\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{127}
\entry {\code {downcase-word (M-l)}}{123}
\entry {\code {dump-functions ()}}{128}
\entry {\code {dump-macros ()}}{128}
\entry {\code {dump-variables ()}}{128}
\entry {\code {dynamic-complete-history (M-\key {TAB})}}{126}
\initial {E}
\entry {\code {edit-and-execute-command (C-xC-e)}}{128}
\entry {\code {end-kbd-macro (C-x ))}}{126}
\entry {\code {\i {end-of-file} (usually C-d)}}{121}
\entry {\code {end-of-history (M->)}}{120}
\entry {\code {end-of-line (C-e)}}{119}
\entry {\code {exchange-point-and-mark (C-x C-x)}}{126}
\entry {\code {edit-and-execute-command (C-x C-e)}}{129}
\entry {\code {end-kbd-macro (C-x ))}}{127}
\entry {\code {\i {end-of-file} (usually C-d)}}{122}
\entry {\code {end-of-history (M->)}}{121}
\entry {\code {end-of-line (C-e)}}{120}
\entry {\code {exchange-point-and-mark (C-x C-x)}}{127}
\initial {F}
\entry {\code {forward-backward-delete-char ()}}{121}
\entry {\code {forward-char (C-f)}}{119}
\entry {\code {forward-search-history (C-s)}}{120}
\entry {\code {forward-word (M-f)}}{119}
\entry {\code {forward-backward-delete-char ()}}{122}
\entry {\code {forward-char (C-f)}}{120}
\entry {\code {forward-search-history (C-s)}}{121}
\entry {\code {forward-word (M-f)}}{120}
\initial {G}
\entry {\code {glob-complete-word (M-g)}}{127}
\entry {\code {glob-expand-word (C-x *)}}{127}
\entry {\code {glob-list-expansions (C-x g)}}{128}
\entry {\code {glob-complete-word (M-g)}}{128}
\entry {\code {glob-expand-word (C-x *)}}{128}
\entry {\code {glob-list-expansions (C-x g)}}{129}
\initial {H}
\entry {\code {history-and-alias-expand-line ()}}{128}
\entry {\code {history-expand-line (M-^)}}{128}
\entry {\code {history-search-backward ()}}{120}
\entry {\code {history-search-forward ()}}{120}
\entry {\code {history-substr-search-backward ()}}{121}
\entry {\code {history-substr-search-forward ()}}{120}
\entry {\code {history-and-alias-expand-line ()}}{129}
\entry {\code {history-expand-line (M-^)}}{129}
\entry {\code {history-search-backward ()}}{121}
\entry {\code {history-search-forward ()}}{121}
\entry {\code {history-substring-search-backward ()}}{122}
\entry {\code {history-substring-search-forward ()}}{121}
\initial {I}
\entry {\code {insert-comment (M-#)}}{127}
\entry {\code {insert-completions (M-*)}}{124}
\entry {\code {insert-last-argument (M-. or M-_)}}{128}
\entry {\code {insert-comment (M-#)}}{128}
\entry {\code {insert-completions (M-*)}}{125}
\entry {\code {insert-last-argument (M-. or M-_)}}{129}
\initial {K}
\entry {\code {kill-line (C-k)}}{122}
\entry {\code {kill-region ()}}{123}
\entry {\code {kill-whole-line ()}}{123}
\entry {\code {kill-word (M-d)}}{123}
\entry {\code {kill-line (C-k)}}{123}
\entry {\code {kill-region ()}}{124}
\entry {\code {kill-whole-line ()}}{124}
\entry {\code {kill-word (M-d)}}{124}
\initial {M}
\entry {\code {magic-space ()}}{128}
\entry {\code {menu-complete ()}}{124}
\entry {\code {menu-complete-backward ()}}{124}
\entry {\code {magic-space ()}}{129}
\entry {\code {menu-complete ()}}{125}
\entry {\code {menu-complete-backward ()}}{125}
\initial {N}
\entry {\code {next-history (C-n)}}{120}
\entry {\code {non-incremental-forward-search-history (M-n)}}{120}
\entry {\code {non-incremental-reverse-search-history (M-p)}}{120}
\entry {\code {next-history (C-n)}}{121}
\entry {\code {non-incremental-forward-search-history (M-n)}}{121}
\entry {\code {non-incremental-reverse-search-history (M-p)}}{121}
\initial {O}
\entry {\code {operate-and-get-next (C-o)}}{128}
\entry {\code {overwrite-mode ()}}{122}
\entry {\code {operate-and-get-next (C-o)}}{129}
\entry {\code {overwrite-mode ()}}{123}
\initial {P}
\entry {\code {possible-command-completions (C-x !)}}{125}
\entry {\code {possible-completions (M-?)}}{124}
\entry {\code {possible-filename-completions (C-x /)}}{125}
\entry {\code {possible-hostname-completions (C-x @)}}{125}
\entry {\code {possible-username-completions (C-x ~)}}{125}
\entry {\code {possible-variable-completions (C-x $)}}{125}
\entry {\code {prefix-meta (\key {ESC})}}{126}
\entry {\code {previous-history (C-p)}}{120}
\entry {\code {print-last-kbd-macro ()}}{126}
\entry {\code {possible-command-completions (C-x !)}}{126}
\entry {\code {possible-completions (M-?)}}{125}
\entry {\code {possible-filename-completions (C-x /)}}{126}
\entry {\code {possible-hostname-completions (C-x @)}}{126}
\entry {\code {possible-username-completions (C-x ~)}}{126}
\entry {\code {possible-variable-completions (C-x $)}}{126}
\entry {\code {prefix-meta (\key {ESC})}}{127}
\entry {\code {previous-history (C-p)}}{121}
\entry {\code {print-last-kbd-macro ()}}{127}
\initial {Q}
\entry {\code {quoted-insert (C-q or C-v)}}{121}
\entry {\code {quoted-insert (C-q or C-v)}}{122}
\initial {R}
\entry {\code {re-read-init-file (C-x C-r)}}{126}
\entry {\code {redraw-current-line ()}}{119}
\entry {\code {reverse-search-history (C-r)}}{120}
\entry {\code {revert-line (M-r)}}{126}
\entry {\code {re-read-init-file (C-x C-r)}}{127}
\entry {\code {redraw-current-line ()}}{120}
\entry {\code {reverse-search-history (C-r)}}{121}
\entry {\code {revert-line (M-r)}}{127}
\initial {S}
\entry {\code {self-insert (a, b, A, 1, !, \dots {})}}{122}
\entry {\code {set-mark (C-@)}}{126}
\entry {\code {shell-backward-kill-word ()}}{123}
\entry {\code {shell-backward-word ()}}{119}
\entry {\code {shell-expand-line (M-C-e)}}{128}
\entry {\code {shell-forward-word ()}}{119}
\entry {\code {shell-kill-word ()}}{123}
\entry {\code {skip-csi-sequence ()}}{127}
\entry {\code {start-kbd-macro (C-x ()}}{126}
\entry {\code {self-insert (a, b, A, 1, !, \dots {})}}{123}
\entry {\code {set-mark (C-@)}}{127}
\entry {\code {shell-backward-kill-word ()}}{124}
\entry {\code {shell-backward-word ()}}{120}
\entry {\code {shell-expand-line (M-C-e)}}{129}
\entry {\code {shell-forward-word ()}}{120}
\entry {\code {shell-kill-word ()}}{124}
\entry {\code {skip-csi-sequence ()}}{128}
\entry {\code {start-kbd-macro (C-x ()}}{127}
\initial {T}
\entry {\code {tilde-expand (M-&)}}{126}
\entry {\code {transpose-chars (C-t)}}{122}
\entry {\code {transpose-words (M-t)}}{122}
\entry {\code {tilde-expand (M-&)}}{127}
\entry {\code {transpose-chars (C-t)}}{123}
\entry {\code {transpose-words (M-t)}}{123}
\initial {U}
\entry {\code {undo (C-_ or C-x C-u)}}{126}
\entry {\code {universal-argument ()}}{124}
\entry {\code {unix-filename-rubout ()}}{123}
\entry {\code {unix-line-discard (C-u)}}{123}
\entry {\code {unix-word-rubout (C-w)}}{123}
\entry {\code {upcase-word (M-u)}}{122}
\entry {\code {undo (C-_ or C-x C-u)}}{127}
\entry {\code {universal-argument ()}}{125}
\entry {\code {unix-filename-rubout ()}}{124}
\entry {\code {unix-line-discard (C-u)}}{124}
\entry {\code {unix-word-rubout (C-w)}}{124}
\entry {\code {upcase-word (M-u)}}{123}
\initial {Y}
\entry {\code {yank (C-y)}}{123}
\entry {\code {yank-last-arg (M-. or M-_)}}{121}
\entry {\code {yank-nth-arg (M-C-y)}}{121}
\entry {\code {yank-pop (M-y)}}{123}
\entry {\code {yank (C-y)}}{124}
\entry {\code {yank-last-arg (M-. or M-_)}}{122}
\entry {\code {yank-nth-arg (M-C-y)}}{122}
\entry {\code {yank-pop (M-y)}}{124}
+106 -29
View File
@@ -1,13 +1,13 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This text is a brief description of the features that are present in
the Bash shell (version 4.4, 7 September 2016).
the Bash shell (version 4.4, 1 February 2017).
This is Edition 4.4, last updated 7 September 2016,
This is Edition 4.4, last updated 1 February 2017,
of The GNU Bash Reference Manual,
for Bash, Version 4.4.
Copyright (C) 1988-2016 Free Software Foundation, Inc.
Copyright (C) 1988-2017 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -15,7 +15,7 @@ any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled
"GNU Free Documentation License". -->
<!-- Created by GNU Texinfo 6.1, http://www.gnu.org/software/texinfo/ -->
<!-- Created by GNU Texinfo 6.3, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Bash Reference Manual</title>
@@ -284,10 +284,10 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Previou
<h1 class="top">Bash Features</h1>
<p>This text is a brief description of the features that are present in
the Bash shell (version 4.4, 7 September 2016).
the Bash shell (version 4.4, 1 February 2017).
The Bash home page is <a href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
</p>
<p>This is Edition 4.4, last updated 7 September 2016,
<p>This is Edition 4.4, last updated 1 February 2017,
of <cite>The GNU Bash Reference Manual</cite>,
for <code>Bash</code>, Version 4.4.
</p>
@@ -2272,7 +2272,8 @@ in the result. It is strictly textual. Bash
does not apply any syntactic interpretation to the context of the
expansion or the text between the braces.
To avoid conflicts with parameter expansion, the string &lsquo;<samp>${</samp>&rsquo;
is not considered eligible for brace expansion.
is not considered eligible for brace expansion,
and inhibits brace expansion until the closing &lsquo;<samp>}</samp>&rsquo;..
</p>
<p>A correctly-formed brace expansion must contain unquoted opening
and closing braces, and at least one unquoted comma or a valid
@@ -2745,7 +2746,7 @@ format that can be reused as input.
</p></dd>
<dt><code>E</code></dt>
<dd><p>The expansion is a string that is the value of <var>parameter</var> with backslash
escape sequences expanded as with the <code>$'&hellip;'</code> quoting mechansim.
escape sequences expanded as with the <code>$'&hellip;'</code> quoting mechanism.
</p></dd>
<dt><code>P</code></dt>
<dd><p>The expansion is a string that is the result of expanding the value of
@@ -2974,6 +2975,8 @@ without regard to the case of alphabetic characters.
<p>When a pattern is used for filename expansion, the character &lsquo;<samp>.</samp>&rsquo;
at the start of a filename or immediately following a slash
must be matched explicitly, unless the shell option <code>dotglob</code> is set.
The filenames &lsquo;<samp>.</samp>&rsquo; and &lsquo;<samp>..</samp>&rsquo; must always be matched explicitly,
even if <code>dotglob</code> is set.
When matching a filename, the slash character must always be
matched explicitly.
In other cases, the &lsquo;<samp>.</samp>&rsquo; character is not treated specially.
@@ -2983,9 +2986,9 @@ for a description of the <code>nocaseglob</code>, <code>nullglob</code>,
<code>failglob</code>, and <code>dotglob</code> options.
</p>
<p>The <code>GLOBIGNORE</code>
shell variable may be used to restrict the set of filenames matching a
shell variable may be used to restrict the set of file names matching a
pattern. If <code>GLOBIGNORE</code>
is set, each matching filename that also matches one of the patterns in
is set, each matching file name that also matches one of the patterns in
<code>GLOBIGNORE</code> is removed from the list of matches.
If the <code>nocaseglob</code> option is set, the matching against the patterns in
<code>GLOBIGNORE</code> is performed without regard to case.
@@ -3110,6 +3113,12 @@ sub-patterns:
</p></dd>
</dl>
<p>Complicated extended pattern matching against long strings is slow,
especially when the patterns contain alternations and the strings
contain multiple matches.
Using separate matches against shorter strings, or using arrays of
strings instead of a single long string, may be faster.
</p>
<hr>
<a name="Quote-Removal"></a>
<div class="header">
@@ -3154,6 +3163,9 @@ In this case, for each redirection operator except
than 10 and assign it to {<var>varname</var>}. If &gt;&amp;- or &lt;&amp;- is preceded
by {<var>varname</var>}, the value of <var>varname</var> defines the file
descriptor to close.
If {<var>varname</var>} is supplied, the redirection persists beyond
the scope of the command, allowing the shell programmer to manage
the file descriptor himself.
</p>
<p>In the following descriptions, if the file descriptor number is
omitted, and the first character of the redirection operator is
@@ -6001,6 +6013,8 @@ if the directory name initially supplied does not exist.
<dt><code>dotglob</code></dt>
<dd><p>If set, Bash includes filenames beginning with a &lsquo;.&rsquo; in
the results of filename expansion.
The filenames &lsquo;<samp>.</samp>&rsquo; and &lsquo;<samp>..</samp>&rsquo; must always be matched explicitly,
even if <code>dotglob</code> is set.
</p>
</dd>
<dt><code>execfail</code></dt>
@@ -6424,6 +6438,10 @@ reading any startup files. This variable is readonly.
<dd><p>Expands to the process ID of the current Bash process.
This differs from <code>$$</code> under certain circumstances, such as subshells
that do not require Bash to be re-initialized.
Assignments to <code>BASHPID</code> have no effect.
If <code>BASHPID</code>
is unset, it loses its special properties, even if it is
subsequently reset.
</p>
</dd>
<dt><code>BASH_ALIASES</code>
@@ -6469,6 +6487,19 @@ for a description of the <code>extdebug</code> option to the <code>shopt</code>
builtin).
</p>
</dd>
<dt><code>BASH_ARGV0</code>
<a name="index-BASH_005fARGV0"></a>
</dt>
<dd><p>When referenced, this variable expands to the name of the shell or shell
script (identical to <code>$0</code>; See <a href="#Special-Parameters">Special Parameters</a>,
for the description of special parameter 0).
Assignment to <code>BASH_ARGV0</code>
causes the value assigned to also be assigned to <code>$0</code>.
If <code>BASH_ARGV0</code>
is unset, it loses its special properties, even if it is
subsequently reset.
</p>
</dd>
<dt><code>BASH_CMDS</code>
<a name="index-BASH_005fCMDS"></a>
</dt>
@@ -6770,6 +6801,29 @@ Emacs shell buffer and disables line editing.
<small>POSIX</small> Mode (see <a href="#Bash-POSIX-Mode">Bash POSIX Mode</a>).
</p>
</dd>
<dt><code>EPOCHREALTIME</code>
<a name="index-EPOCHREALTIME"></a>
</dt>
<dd><p>Each time this parameter is referenced, it expands to the number of seconds
since the Unix Epoch as a floating point value with micro-second granularity
(see the documentation for the C library function <var>time</var> for the
definition of Epoch).
Assignments to <code>EPOCHREALTIME</code> are ignored.
If <code>EPOCHREALTIME</code> is unset, it loses its special properties, even if
it is subsequently reset.
</p>
</dd>
<dt><code>EPOCHSECONDS</code>
<a name="index-EPOCHSECONDS"></a>
</dt>
<dd><p>Each time this parameter is referenced, it expands to the number of seconds
since the Unix Epoch (see the documentation for the C library function
<var>time</var> for the definition of Epoch).
Assignments to <code>EPOCHSECONDS</code> are ignored.
If <code>EPOCHSECONDS</code> is unset, it loses its special properties, even if
it is subsequently reset.
</p>
</dd>
<dt><code>EUID</code>
<a name="index-EUID"></a>
</dt>
@@ -6847,9 +6901,9 @@ will cause the current command to abort.
<dt><code>GLOBIGNORE</code>
<a name="index-GLOBIGNORE"></a>
</dt>
<dd><p>A colon-separated list of patterns defining the set of filenames to
<dd><p>A colon-separated list of patterns defining the set of file names to
be ignored by filename expansion.
If a filename matched by a filename expansion pattern also matches one
If a file name matched by a filename expansion pattern also matches one
of the patterns in <code>GLOBIGNORE</code>, it is removed from the list
of matches.
The pattern matching honors the setting of the <code>extglob</code> shell
@@ -9102,6 +9156,11 @@ The <code>jobs</code> command may then be used to inspect their status.
If a second attempt to exit is made without an intervening command,
Bash does not print another warning, and any stopped jobs are terminated.
</p>
<p>When the shell is waiting for a job or process using the <code>wait</code>
builtin, and job control is enabled, <code>wait</code> will return when the
job changes state. The <samp>-f</samp> option will force <code>wait</code> to wait
until the job or process terminates before returning.
</p>
<hr>
<a name="Job-Control-Builtins"></a>
<div class="header">
@@ -9212,7 +9271,7 @@ or non-zero if an error occurs or an invalid option is encountered.
<dt><code>wait</code></dt>
<dd><a name="index-wait"></a>
<div class="example">
<pre class="example">wait [-n] [<var>jobspec</var> or <var>pid</var> &hellip;]
<pre class="example">wait [-fn] [<var>jobspec</var> or <var>pid</var> &hellip;]
</pre></div>
<p>Wait until the child process specified by each process <small>ID</small> <var>pid</var>
@@ -9223,6 +9282,9 @@ If no arguments are given, all currently active child processes are
waited for, and the return status is zero.
If the <samp>-n</samp> option is supplied, <code>wait</code> waits for any job to
terminate and returns its exit status.
If the <samp>-f</samp> option is supplied, and job control is enabled,
<code>wait</code> forces each <var>pid</var> or <var>jobspec</var> to terminate before
returning its status, intead of returning when it changes status.
If neither <var>jobspec</var> nor <var>pid</var> specifies an active child process
of the shell, the return status is 127.
</p>
@@ -10710,8 +10772,8 @@ This is a non-incremental search.
By default, this command is unbound.
</p>
</dd>
<dt><code>history-substr-search-forward ()</code>
<a name="index-history_002dsubstr_002dsearch_002dforward-_0028_0029"></a>
<dt><code>history-substring-search-forward ()</code>
<a name="index-history_002dsubstring_002dsearch_002dforward-_0028_0029"></a>
</dt>
<dd><p>Search forward through the history for the string of characters
between the start of the current line and the point.
@@ -10720,8 +10782,8 @@ This is a non-incremental search.
By default, this command is unbound.
</p>
</dd>
<dt><code>history-substr-search-backward ()</code>
<a name="index-history_002dsubstr_002dsearch_002dbackward-_0028_0029"></a>
<dt><code>history-substring-search-backward ()</code>
<a name="index-history_002dsubstring_002dsearch_002dbackward-_0028_0029"></a>
</dt>
<dd><p>Search backward through the history for the string of characters
between the start of the current line and the point.
@@ -11285,11 +11347,12 @@ ring the terminal&rsquo;s bell (subject to the setting of
<code>bell-style</code>).
</p>
</dd>
<dt><code>do-uppercase-version (M-a, M-b, M-<var>x</var>, &hellip;)</code>
<a name="index-do_002duppercase_002dversion-_0028M_002da_002c-M_002db_002c-M_002dx_002c-_2026_0029"></a>
<dt><code>do-lowercase-version (M-A, M-B, M-<var>x</var>, &hellip;)</code>
<a name="index-do_002dlowercase_002dversion-_0028M_002dA_002c-M_002dB_002c-M_002dx_002c-_2026_0029"></a>
</dt>
<dd><p>If the metafied character <var>x</var> is lowercase, run the command
that is bound to the corresponding uppercase character.
<dd><p>If the metafied character <var>x</var> is upper case, run the command
that is bound to the corresponding metafied lower case character.
The behavior is undefined if <var>x</var> is already lower case.
</p>
</dd>
<dt><code>prefix-meta (<span class="key">ESC</span>)</code>
@@ -11483,8 +11546,8 @@ relative to the current line from the history for editing. Any
argument is ignored.
</p>
</dd>
<dt><code>edit-and-execute-command (C-xC-e)</code>
<a name="index-edit_002dand_002dexecute_002dcommand-_0028C_002dxC_002de_0029"></a>
<dt><code>edit-and-execute-command (C-x C-e)</code>
<a name="index-edit_002dand_002dexecute_002dcommand-_0028C_002dx-C_002de_0029"></a>
</dt>
<dd><p>Invoke an editor on the current command line, and execute the result as shell
commands.
@@ -12301,8 +12364,12 @@ with the other options to replace the history list completely.
</dd>
<dt><code>-d <var>offset</var></code></dt>
<dd><p>Delete the history entry at position <var>offset</var>.
<var>offset</var> should be specified as it appears when the history is
displayed.
If <var>offset</var> is positive, it should be specified as it appears when
the history is displayed.
If <var>offset</var> is negative, it is interpreted as relative to one greater
than the last history position, so negative indices count back from the
end of the history, and an index of &lsquo;<samp>-1</samp>&rsquo; refers to the current
<code>history -d</code> command.
</p>
</dd>
<dt><code>-a</code></dt>
@@ -13097,6 +13164,13 @@ This allows pipelines as well as shell builtins and functions to be timed.
<dd><p>Include support for the bash debugger (distributed separately).
</p>
</dd>
<dt><code>--enable-dev-fd-stat-broken</code></dt>
<dd><p>If calling <code>stat</code> on /dev/fd/<var>N</var> returns different results than
calling <code>fstat</code> on file descriptor <var>N</var>, supply this option to
enable a workaround.
This has implications for conditional commands that test file attributes.
</p>
</dd>
<dt><code>--enable-direxpand-default</code></dt>
<dd><p>Cause the <code>direxpand</code> shell option (see <a href="#The-Shopt-Builtin">The Shopt Builtin</a>)
to be enabled by default when the shell starts.
@@ -14614,6 +14688,7 @@ Next: <a href="#Function-Index" accesskey="n" rel="next">Function Index</a>, Pre
<tr><td></td><td valign="top"><a href="#index-BASH_005fALIASES"><code>BASH_ALIASES</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-BASH_005fARGC"><code>BASH_ARGC</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-BASH_005fARGV"><code>BASH_ARGV</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-BASH_005fARGV0"><code>BASH_ARGV0</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-BASH_005fCMDS"><code>BASH_CMDS</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-BASH_005fCOMMAND"><code>BASH_COMMAND</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-BASH_005fCOMPAT"><code>BASH_COMPAT</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Bash-Variables">Bash Variables</a></td></tr>
@@ -14666,6 +14741,8 @@ Next: <a href="#Function-Index" accesskey="n" rel="next">Function Index</a>, Pre
<tr><td></td><td valign="top"><a href="#index-enable_002dbracketed_002dpaste"><code>enable-bracketed-paste</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-enable_002dkeypad"><code>enable-keypad</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-ENV"><code>ENV</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-EPOCHREALTIME"><code>EPOCHREALTIME</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-EPOCHSECONDS"><code>EPOCHSECONDS</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-EUID"><code>EUID</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-EXECIGNORE"><code>EXECIGNORE</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-expand_002dtilde"><code>expand-tilde</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Readline-Init-File-Syntax">Readline Init File Syntax</a></td></tr>
@@ -14937,7 +15014,7 @@ Next: <a href="#Concept-Index" accesskey="n" rel="next">Concept Index</a>, Previ
<tr><td></td><td valign="top"><a href="#index-delete_002dhorizontal_002dspace-_0028_0029"><code>delete-horizontal-space ()</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-Killing">Commands For Killing</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-digit_002dargument-_0028M_002d0_002c-M_002d1_002c-_2026-M_002d_002d_0029"><code>digit-argument (<kbd>M-0</kbd>, <kbd>M-1</kbd>, &hellip; <kbd>M--</kbd>)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Numeric-Arguments">Numeric Arguments</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-display_002dshell_002dversion-_0028C_002dx-C_002dv_0029"><code>display-shell-version (C-x C-v)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Miscellaneous-Commands">Miscellaneous Commands</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-do_002duppercase_002dversion-_0028M_002da_002c-M_002db_002c-M_002dx_002c-_2026_0029"><code>do-uppercase-version (M-a, M-b, M-<var>x</var>, &hellip;)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Miscellaneous-Commands">Miscellaneous Commands</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-do_002dlowercase_002dversion-_0028M_002dA_002c-M_002dB_002c-M_002dx_002c-_2026_0029"><code>do-lowercase-version (M-A, M-B, M-<var>x</var>, &hellip;)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Miscellaneous-Commands">Miscellaneous Commands</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-downcase_002dword-_0028M_002dl_0029"><code>downcase-word (M-l)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-Text">Commands For Text</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-dump_002dfunctions-_0028_0029"><code>dump-functions ()</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Miscellaneous-Commands">Miscellaneous Commands</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-dump_002dmacros-_0028_0029"><code>dump-macros ()</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Miscellaneous-Commands">Miscellaneous Commands</a></td></tr>
@@ -14945,7 +15022,7 @@ Next: <a href="#Concept-Index" accesskey="n" rel="next">Concept Index</a>, Previ
<tr><td></td><td valign="top"><a href="#index-dynamic_002dcomplete_002dhistory-_0028M_002dTAB_0029"><code>dynamic-complete-history (M-<span class="key">TAB</span>)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-Completion">Commands For Completion</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th><a name="Function-Index_fn_letter-E">E</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="#index-edit_002dand_002dexecute_002dcommand-_0028C_002dxC_002de_0029"><code>edit-and-execute-command (C-xC-e)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Miscellaneous-Commands">Miscellaneous Commands</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-edit_002dand_002dexecute_002dcommand-_0028C_002dx-C_002de_0029"><code>edit-and-execute-command (C-x C-e)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Miscellaneous-Commands">Miscellaneous Commands</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-end_002dkbd_002dmacro-_0028C_002dx-_0029_0029"><code>end-kbd-macro (C-x ))</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Keyboard-Macros">Keyboard Macros</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-end_002dof_002dfile-_0028usually-C_002dd_0029"><code><i>end-of-file</i> (usually C-d)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-Text">Commands For Text</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-end_002dof_002dhistory-_0028M_002d_003e_0029"><code>end-of-history (M-&gt;)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-History">Commands For History</a></td></tr>
@@ -14968,8 +15045,8 @@ Next: <a href="#Concept-Index" accesskey="n" rel="next">Concept Index</a>, Previ
<tr><td></td><td valign="top"><a href="#index-history_002dexpand_002dline-_0028M_002d_005e_0029"><code>history-expand-line (M-^)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Miscellaneous-Commands">Miscellaneous Commands</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-history_002dsearch_002dbackward-_0028_0029"><code>history-search-backward ()</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-History">Commands For History</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-history_002dsearch_002dforward-_0028_0029"><code>history-search-forward ()</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-History">Commands For History</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-history_002dsubstr_002dsearch_002dbackward-_0028_0029"><code>history-substr-search-backward ()</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-History">Commands For History</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-history_002dsubstr_002dsearch_002dforward-_0028_0029"><code>history-substr-search-forward ()</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-History">Commands For History</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-history_002dsubstring_002dsearch_002dbackward-_0028_0029"><code>history-substring-search-backward ()</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-History">Commands For History</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-history_002dsubstring_002dsearch_002dforward-_0028_0029"><code>history-substring-search-forward ()</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Commands-For-History">Commands For History</a></td></tr>
<tr><td colspan="4"> <hr></td></tr>
<tr><th><a name="Function-Index_fn_letter-I">I</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="#index-insert_002dcomment-_0028M_002d_0023_0029"><code>insert-comment (M-#)</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Miscellaneous-Commands">Miscellaneous Commands</a></td></tr>
+334 -275
View File
@@ -1,13 +1,13 @@
This is bashref.info, produced by makeinfo version 6.1 from
This is bashref.info, produced by makeinfo version 6.3 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 4.4, 7 September 2016).
Bash shell (version 4.4, 1 February 2017).
This is Edition 4.4, last updated 7 September 2016, of 'The GNU Bash
This is Edition 4.4, last updated 1 February 2017, of 'The GNU Bash
Reference Manual', for 'Bash', Version 4.4.
Copyright (C) 1988-2016 Free Software Foundation, Inc.
Copyright (C) 1988-2017 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
@@ -27,10 +27,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 4.4, 7 September 2016). The Bash home page is
Bash shell (version 4.4, 1 February 2017). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 4.4, last updated 7 September 2016, of 'The GNU Bash
This is Edition 4.4, last updated 1 February 2017, of 'The GNU Bash
Reference Manual', for 'Bash', Version 4.4.
Bash contains features that appear in other popular shells, and some
@@ -1494,7 +1494,8 @@ characters special to other expansions are preserved in the result. It
is strictly textual. Bash does not apply any syntactic interpretation
to the context of the expansion or the text between the braces. To
avoid conflicts with parameter expansion, the string '${' is not
considered eligible for brace expansion.
considered eligible for brace expansion, and inhibits brace expansion
until the closing '}'..
A correctly-formed brace expansion must contain unquoted opening and
closing braces, and at least one unquoted comma or a valid sequence
@@ -1881,7 +1882,7 @@ omitted, the operator tests only for existence.
'E'
The expansion is a string that is the value of PARAMETER with
backslash escape sequences expanded as with the '$'...''
quoting mechansim.
quoting mechanism.
'P'
The expansion is a string that is the result of expanding the
value of PARAMETER as if it were a prompt string (*note
@@ -2046,17 +2047,18 @@ performed without regard to the case of alphabetic characters.
When a pattern is used for filename expansion, the character '.' at
the start of a filename or immediately following a slash must be matched
explicitly, unless the shell option 'dotglob' is set. When matching a
filename, the slash character must always be matched explicitly. In
other cases, the '.' character is not treated specially.
explicitly, unless the shell option 'dotglob' is set. The filenames '.'
and '..' must always be matched explicitly, even if 'dotglob' is set.
When matching a filename, the slash character must always be matched
explicitly. In other cases, the '.' character is not treated specially.
See the description of 'shopt' in *note The Shopt Builtin::, for a
description of the 'nocaseglob', 'nullglob', 'failglob', and 'dotglob'
options.
The 'GLOBIGNORE' shell variable may be used to restrict the set of
filenames matching a pattern. If 'GLOBIGNORE' is set, each matching
filename that also matches one of the patterns in 'GLOBIGNORE' is
file names matching a pattern. If 'GLOBIGNORE' is set, each matching
file name that also matches one of the patterns in 'GLOBIGNORE' is
removed from the list of matches. If the 'nocaseglob' option is set,
the matching against the patterns in 'GLOBIGNORE' is performed without
regard to case. The filenames '.' and '..' are always ignored when
@@ -2149,6 +2151,12 @@ of the following sub-patterns:
'!(PATTERN-LIST)'
Matches anything except one of the given patterns.
Complicated extended pattern matching against long strings is slow,
especially when the patterns contain alternations and the strings
contain multiple matches. Using separate matches against shorter
strings, or using arrays of strings instead of a single long string, may
be faster.

File: bashref.info, Node: Quote Removal, Prev: Filename Expansion, Up: Shell Expansions
@@ -2180,7 +2188,9 @@ instead be preceded by a word of the form {VARNAME}. In this case, for
each redirection operator except >&- and <&-, the shell will allocate a
file descriptor greater than 10 and assign it to {VARNAME}. If >&- or
<&- is preceded by {VARNAME}, the value of VARNAME defines the file
descriptor to close.
descriptor to close. If {VARNAME} is supplied, the redirection persists
beyond the scope of the command, allowing the shell programmer to manage
the file descriptor himself.
In the following descriptions, if the file descriptor number is
omitted, and the first character of the redirection operator is '<', the
@@ -4384,7 +4394,8 @@ This builtin allows you to change additional shell optional behavior.
'dotglob'
If set, Bash includes filenames beginning with a '.' in the
results of filename expansion.
results of filename expansion. The filenames '.' and '..'
must always be matched explicitly, even if 'dotglob' is set.
'execfail'
If this is set, a non-interactive shell will not exit if it
@@ -4706,7 +4717,9 @@ Variables::).
'BASHPID'
Expands to the process ID of the current Bash process. This
differs from '$$' under certain circumstances, such as subshells
that do not require Bash to be re-initialized.
that do not require Bash to be re-initialized. Assignments to
'BASHPID' have no effect. If 'BASHPID' is unset, it loses its
special properties, even if it is subsequently reset.
'BASH_ALIASES'
An associative array variable whose members correspond to the
@@ -4737,6 +4750,14 @@ Variables::).
The Shopt Builtin:: for a description of the 'extdebug' option to
the 'shopt' builtin).
'BASH_ARGV0'
When referenced, this variable expands to the name of the shell or
shell script (identical to '$0'; *Note Special Parameters::, for
the description of special parameter 0). Assignment to
'BASH_ARGV0' causes the value assigned to also be assigned to '$0'.
If 'BASH_ARGV0' is unset, it loses its special properties, even if
it is subsequently reset.
'BASH_CMDS'
An associative array variable whose members correspond to the
internal hash table of commands as maintained by the 'hash' builtin
@@ -4932,6 +4953,21 @@ Variables::).
Similar to 'BASH_ENV'; used when the shell is invoked in POSIX Mode
(*note Bash POSIX Mode::).
'EPOCHREALTIME'
Each time this parameter is referenced, it expands to the number of
seconds since the Unix Epoch as a floating point value with
micro-second granularity (see the documentation for the C library
function TIME for the definition of Epoch). Assignments to
'EPOCHREALTIME' are ignored. If 'EPOCHREALTIME' is unset, it loses
its special properties, even if it is subsequently reset.
'EPOCHSECONDS'
Each time this parameter is referenced, it expands to the number of
seconds since the Unix Epoch (see the documentation for the C
library function TIME for the definition of Epoch). Assignments to
'EPOCHSECONDS' are ignored. If 'EPOCHSECONDS' is unset, it loses
its special properties, even if it is subsequently reset.
'EUID'
The numeric effective user id of the current user. This variable
is readonly.
@@ -4982,8 +5018,8 @@ Variables::).
nesting level will cause the current command to abort.
'GLOBIGNORE'
A colon-separated list of patterns defining the set of filenames to
be ignored by filename expansion. If a filename matched by a
A colon-separated list of patterns defining the set of file names
to be ignored by filename expansion. If a file name matched by a
filename expansion pattern also matches one of the patterns in
'GLOBIGNORE', it is removed from the list of matches. The pattern
matching honors the setting of the 'extglob' shell option.
@@ -6699,6 +6735,11 @@ command may then be used to inspect their status. If a second attempt
to exit is made without an intervening command, Bash does not print
another warning, and any stopped jobs are terminated.
When the shell is waiting for a job or process using the 'wait'
builtin, and job control is enabled, 'wait' will return when the job
changes state. The '-f' option will force 'wait' to wait until the job
or process terminates before returning.

File: bashref.info, Node: Job Control Builtins, Next: Job Control Variables, Prev: Job Control Basics, Up: Job Control
@@ -6775,7 +6816,7 @@ File: bashref.info, Node: Job Control Builtins, Next: Job Control Variables,
option is encountered.
'wait'
wait [-n] [JOBSPEC or PID ...]
wait [-fn] [JOBSPEC or PID ...]
Wait until the child process specified by each process ID PID or
job specification JOBSPEC exits and return the exit status of the
@@ -6783,7 +6824,10 @@ File: bashref.info, Node: Job Control Builtins, Next: Job Control Variables,
the job are waited for. If no arguments are given, all currently
active child processes are waited for, and the return status is
zero. If the '-n' option is supplied, 'wait' waits for any job to
terminate and returns its exit status. If neither JOBSPEC nor PID
terminate and returns its exit status. If the '-f' option is
supplied, and job control is enabled, 'wait' forces each PID or
JOBSPEC to terminate before returning its status, intead of
returning when it changes status. If neither JOBSPEC nor PID
specifies an active child process of the shell, the return status
is 127.
@@ -7876,13 +7920,13 @@ File: bashref.info, Node: Commands For History, Next: Commands For Text, Prev
string must match at the beginning of a history line. This is a
non-incremental search. By default, this command is unbound.
'history-substr-search-forward ()'
'history-substring-search-forward ()'
Search forward through the history for the string of characters
between the start of the current line and the point. The search
string may match anywhere in a history line. This is a
non-incremental search. By default, this command is unbound.
'history-substr-search-backward ()'
'history-substring-search-backward ()'
Search backward through the history for the string of characters
between the start of the current line and the point. The search
string may match anywhere in a history line. This is a
@@ -8226,9 +8270,10 @@ File: bashref.info, Node: Miscellaneous Commands, Prev: Keyboard Macros, Up:
Abort the current editing command and ring the terminal's bell
(subject to the setting of 'bell-style').
'do-uppercase-version (M-a, M-b, M-X, ...)'
If the metafied character X is lowercase, run the command that is
bound to the corresponding uppercase character.
'do-lowercase-version (M-A, M-B, M-X, ...)'
If the metafied character X is upper case, run the command that is
bound to the corresponding metafied lower case character. The
behavior is undefined if X is already lower case.
'prefix-meta (<ESC>)'
Metafy the next character typed. This is for keyboards without a
@@ -8350,7 +8395,7 @@ File: bashref.info, Node: Miscellaneous Commands, Prev: Keyboard Macros, Up:
relative to the current line from the history for editing. Any
argument is ignored.
'edit-and-execute-command (C-xC-e)'
'edit-and-execute-command (C-x C-e)'
Invoke an editor on the current command line, and execute the
result as shell commands. Bash attempts to invoke '$VISUAL',
'$EDITOR', and 'emacs' as the editor, in that order.
@@ -9005,8 +9050,13 @@ history file.
options to replace the history list completely.
'-d OFFSET'
Delete the history entry at position OFFSET. OFFSET should be
specified as it appears when the history is displayed.
Delete the history entry at position OFFSET. If OFFSET is
positive, it should be specified as it appears when the
history is displayed. If OFFSET is negative, it is
interpreted as relative to one greater than the last history
position, so negative indices count back from the end of the
history, and an index of '-1' refers to the current 'history
-d' command.
'-a'
Append the new history lines to the history file. These are
@@ -9611,6 +9661,12 @@ unless the operating system does not provide the necessary support.
'--enable-debugger'
Include support for the bash debugger (distributed separately).
'--enable-dev-fd-stat-broken'
If calling 'stat' on /dev/fd/N returns different results than
calling 'fstat' on file descriptor N, supply this option to enable
a workaround. This has implications for conditional commands that
test file attributes.
'--enable-direxpand-default'
Cause the 'direxpand' shell option (*note The Shopt Builtin::) to
be enabled by default when the shell starts. It is normally
@@ -10660,7 +10716,7 @@ D.1 Index of Shell Builtin Commands
* dirs: Directory Stack Builtins.
(line 7)
* disown: Job Control Builtins.
(line 89)
(line 92)
* echo: Bash Builtins. (line 245)
* enable: Bash Builtins. (line 294)
* eval: Bourne Shell Builtins.
@@ -10709,7 +10765,7 @@ D.1 Index of Shell Builtin Commands
* shopt: The Shopt Builtin. (line 9)
* source: Bash Builtins. (line 559)
* suspend: Job Control Builtins.
(line 101)
(line 104)
* test: Bourne Shell Builtins.
(line 268)
* times: Bourne Shell Builtins.
@@ -10801,22 +10857,23 @@ D.3 Parameter and Variable Index
* BASH: Bash Variables. (line 13)
* BASHOPTS: Bash Variables. (line 16)
* BASHPID: Bash Variables. (line 25)
* BASH_ALIASES: Bash Variables. (line 30)
* BASH_ARGC: Bash Variables. (line 39)
* BASH_ARGV: Bash Variables. (line 49)
* BASH_CMDS: Bash Variables. (line 59)
* BASH_COMMAND: Bash Variables. (line 68)
* BASH_COMPAT: Bash Variables. (line 73)
* BASH_ENV: Bash Variables. (line 88)
* BASH_EXECUTION_STRING: Bash Variables. (line 94)
* BASH_LINENO: Bash Variables. (line 97)
* BASH_LOADABLES_PATH: Bash Variables. (line 105)
* BASH_REMATCH: Bash Variables. (line 109)
* BASH_SOURCE: Bash Variables. (line 117)
* BASH_SUBSHELL: Bash Variables. (line 124)
* BASH_VERSINFO: Bash Variables. (line 129)
* BASH_VERSION: Bash Variables. (line 152)
* BASH_XTRACEFD: Bash Variables. (line 155)
* BASH_ALIASES: Bash Variables. (line 32)
* BASH_ARGC: Bash Variables. (line 41)
* BASH_ARGV: Bash Variables. (line 51)
* BASH_ARGV0: Bash Variables. (line 61)
* BASH_CMDS: Bash Variables. (line 69)
* BASH_COMMAND: Bash Variables. (line 78)
* BASH_COMPAT: Bash Variables. (line 83)
* BASH_ENV: Bash Variables. (line 98)
* BASH_EXECUTION_STRING: Bash Variables. (line 104)
* BASH_LINENO: Bash Variables. (line 107)
* BASH_LOADABLES_PATH: Bash Variables. (line 115)
* BASH_REMATCH: Bash Variables. (line 119)
* BASH_SOURCE: Bash Variables. (line 127)
* BASH_SUBSHELL: Bash Variables. (line 134)
* BASH_VERSINFO: Bash Variables. (line 139)
* BASH_VERSION: Bash Variables. (line 162)
* BASH_XTRACEFD: Bash Variables. (line 165)
* bell-style: Readline Init File Syntax.
(line 38)
* bind-tty-special-chars: Readline Init File Syntax.
@@ -10825,12 +10882,12 @@ D.3 Parameter and Variable Index
(line 50)
* CDPATH: Bourne Shell Variables.
(line 9)
* CHILD_MAX: Bash Variables. (line 166)
* CHILD_MAX: Bash Variables. (line 176)
* colored-completion-prefix: Readline Init File Syntax.
(line 55)
* colored-stats: Readline Init File Syntax.
(line 62)
* COLUMNS: Bash Variables. (line 173)
* COLUMNS: Bash Variables. (line 183)
* comment-begin: Readline Init File Syntax.
(line 68)
* completion-display-width: Readline Init File Syntax.
@@ -10843,88 +10900,90 @@ D.3 Parameter and Variable Index
(line 91)
* completion-query-items: Readline Init File Syntax.
(line 98)
* COMPREPLY: Bash Variables. (line 225)
* COMP_CWORD: Bash Variables. (line 179)
* COMP_KEY: Bash Variables. (line 208)
* COMP_LINE: Bash Variables. (line 185)
* COMP_POINT: Bash Variables. (line 190)
* COMP_TYPE: Bash Variables. (line 198)
* COMP_WORDBREAKS: Bash Variables. (line 212)
* COMP_WORDS: Bash Variables. (line 218)
* COMPREPLY: Bash Variables. (line 235)
* COMP_CWORD: Bash Variables. (line 189)
* COMP_KEY: Bash Variables. (line 218)
* COMP_LINE: Bash Variables. (line 195)
* COMP_POINT: Bash Variables. (line 200)
* COMP_TYPE: Bash Variables. (line 208)
* COMP_WORDBREAKS: Bash Variables. (line 222)
* COMP_WORDS: Bash Variables. (line 228)
* convert-meta: Readline Init File Syntax.
(line 108)
* COPROC: Bash Variables. (line 231)
* DIRSTACK: Bash Variables. (line 235)
* COPROC: Bash Variables. (line 241)
* DIRSTACK: Bash Variables. (line 245)
* disable-completion: Readline Init File Syntax.
(line 116)
* echo-control-characters: Readline Init File Syntax.
(line 121)
* editing-mode: Readline Init File Syntax.
(line 126)
* EMACS: Bash Variables. (line 245)
* EMACS: Bash Variables. (line 255)
* emacs-mode-string: Readline Init File Syntax.
(line 132)
* enable-bracketed-paste: Readline Init File Syntax.
(line 142)
* enable-keypad: Readline Init File Syntax.
(line 150)
* ENV: Bash Variables. (line 250)
* EUID: Bash Variables. (line 254)
* EXECIGNORE: Bash Variables. (line 258)
* ENV: Bash Variables. (line 260)
* EPOCHREALTIME: Bash Variables. (line 264)
* EPOCHSECONDS: Bash Variables. (line 272)
* EUID: Bash Variables. (line 279)
* EXECIGNORE: Bash Variables. (line 283)
* expand-tilde: Readline Init File Syntax.
(line 161)
* FCEDIT: Bash Variables. (line 271)
* FIGNORE: Bash Variables. (line 275)
* FUNCNAME: Bash Variables. (line 281)
* FUNCNEST: Bash Variables. (line 298)
* GLOBIGNORE: Bash Variables. (line 303)
* GROUPS: Bash Variables. (line 310)
* histchars: Bash Variables. (line 316)
* HISTCMD: Bash Variables. (line 331)
* HISTCONTROL: Bash Variables. (line 336)
* HISTFILE: Bash Variables. (line 352)
* HISTFILESIZE: Bash Variables. (line 356)
* HISTIGNORE: Bash Variables. (line 367)
* FCEDIT: Bash Variables. (line 296)
* FIGNORE: Bash Variables. (line 300)
* FUNCNAME: Bash Variables. (line 306)
* FUNCNEST: Bash Variables. (line 323)
* GLOBIGNORE: Bash Variables. (line 328)
* GROUPS: Bash Variables. (line 335)
* histchars: Bash Variables. (line 341)
* HISTCMD: Bash Variables. (line 356)
* HISTCONTROL: Bash Variables. (line 361)
* HISTFILE: Bash Variables. (line 377)
* HISTFILESIZE: Bash Variables. (line 381)
* HISTIGNORE: Bash Variables. (line 392)
* history-preserve-point: Readline Init File Syntax.
(line 165)
* history-size: Readline Init File Syntax.
(line 171)
* HISTSIZE: Bash Variables. (line 387)
* HISTTIMEFORMAT: Bash Variables. (line 394)
* HISTSIZE: Bash Variables. (line 412)
* HISTTIMEFORMAT: Bash Variables. (line 419)
* HOME: Bourne Shell Variables.
(line 13)
* horizontal-scroll-mode: Readline Init File Syntax.
(line 180)
* HOSTFILE: Bash Variables. (line 402)
* HOSTNAME: Bash Variables. (line 413)
* HOSTTYPE: Bash Variables. (line 416)
* HOSTFILE: Bash Variables. (line 427)
* HOSTNAME: Bash Variables. (line 438)
* HOSTTYPE: Bash Variables. (line 441)
* IFS: Bourne Shell Variables.
(line 18)
* IGNOREEOF: Bash Variables. (line 419)
* IGNOREEOF: Bash Variables. (line 444)
* input-meta: Readline Init File Syntax.
(line 187)
* INPUTRC: Bash Variables. (line 429)
* INPUTRC: Bash Variables. (line 454)
* isearch-terminators: Readline Init File Syntax.
(line 195)
* keymap: Readline Init File Syntax.
(line 202)
* LANG: Bash Variables. (line 433)
* LC_ALL: Bash Variables. (line 437)
* LC_COLLATE: Bash Variables. (line 441)
* LC_CTYPE: Bash Variables. (line 448)
* LANG: Bash Variables. (line 458)
* LC_ALL: Bash Variables. (line 462)
* LC_COLLATE: Bash Variables. (line 466)
* LC_CTYPE: Bash Variables. (line 473)
* LC_MESSAGES: Locale Translation. (line 11)
* LC_MESSAGES <1>: Bash Variables. (line 453)
* LC_NUMERIC: Bash Variables. (line 457)
* LC_TIME: Bash Variables. (line 461)
* LINENO: Bash Variables. (line 465)
* LINES: Bash Variables. (line 469)
* MACHTYPE: Bash Variables. (line 475)
* LC_MESSAGES <1>: Bash Variables. (line 478)
* LC_NUMERIC: Bash Variables. (line 482)
* LC_TIME: Bash Variables. (line 486)
* LINENO: Bash Variables. (line 490)
* LINES: Bash Variables. (line 494)
* MACHTYPE: Bash Variables. (line 500)
* MAIL: Bourne Shell Variables.
(line 22)
* MAILCHECK: Bash Variables. (line 479)
* MAILCHECK: Bash Variables. (line 504)
* MAILPATH: Bourne Shell Variables.
(line 27)
* MAPFILE: Bash Variables. (line 487)
* MAPFILE: Bash Variables. (line 512)
* mark-modified-lines: Readline Init File Syntax.
(line 232)
* mark-symlinked-directories: Readline Init File Syntax.
@@ -10935,42 +10994,42 @@ D.3 Parameter and Variable Index
(line 249)
* meta-flag: Readline Init File Syntax.
(line 187)
* OLDPWD: Bash Variables. (line 491)
* OLDPWD: Bash Variables. (line 516)
* OPTARG: Bourne Shell Variables.
(line 34)
* OPTERR: Bash Variables. (line 494)
* OPTERR: Bash Variables. (line 519)
* OPTIND: Bourne Shell Variables.
(line 38)
* OSTYPE: Bash Variables. (line 498)
* OSTYPE: Bash Variables. (line 523)
* 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 501)
* POSIXLY_CORRECT: Bash Variables. (line 506)
* PPID: Bash Variables. (line 515)
* PROMPT_COMMAND: Bash Variables. (line 519)
* PROMPT_DIRTRIM: Bash Variables. (line 523)
* PS0: Bash Variables. (line 529)
* PIPESTATUS: Bash Variables. (line 526)
* POSIXLY_CORRECT: Bash Variables. (line 531)
* PPID: Bash Variables. (line 540)
* PROMPT_COMMAND: Bash Variables. (line 544)
* PROMPT_DIRTRIM: Bash Variables. (line 548)
* PS0: Bash Variables. (line 554)
* PS1: Bourne Shell Variables.
(line 48)
* PS2: Bourne Shell Variables.
(line 53)
* PS3: Bash Variables. (line 534)
* PS4: Bash Variables. (line 539)
* PWD: Bash Variables. (line 545)
* RANDOM: Bash Variables. (line 548)
* READLINE_LINE: Bash Variables. (line 553)
* READLINE_POINT: Bash Variables. (line 557)
* REPLY: Bash Variables. (line 561)
* PS3: Bash Variables. (line 559)
* PS4: Bash Variables. (line 564)
* PWD: Bash Variables. (line 570)
* RANDOM: Bash Variables. (line 573)
* READLINE_LINE: Bash Variables. (line 578)
* READLINE_POINT: Bash Variables. (line 582)
* REPLY: Bash Variables. (line 586)
* revert-all-at-newline: Readline Init File Syntax.
(line 270)
* SECONDS: Bash Variables. (line 564)
* SHELL: Bash Variables. (line 570)
* SHELLOPTS: Bash Variables. (line 575)
* SHLVL: Bash Variables. (line 584)
* SECONDS: Bash Variables. (line 589)
* SHELL: Bash Variables. (line 595)
* SHELLOPTS: Bash Variables. (line 600)
* SHLVL: Bash Variables. (line 609)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 276)
* show-all-if-unmodified: Readline Init File Syntax.
@@ -10981,10 +11040,10 @@ D.3 Parameter and Variable Index
(line 297)
* TEXTDOMAIN: Locale Translation. (line 11)
* TEXTDOMAINDIR: Locale Translation. (line 11)
* TIMEFORMAT: Bash Variables. (line 589)
* TMOUT: Bash Variables. (line 627)
* TMPDIR: Bash Variables. (line 639)
* UID: Bash Variables. (line 643)
* TIMEFORMAT: Bash Variables. (line 614)
* TMOUT: Bash Variables. (line 652)
* TMPDIR: Bash Variables. (line 664)
* UID: Bash Variables. (line 668)
* vi-cmd-mode-string: Readline Init File Syntax.
(line 310)
* vi-ins-mode-string: Readline Init File Syntax.
@@ -11006,7 +11065,7 @@ D.4 Function Index
* accept-line (Newline or Return): Commands For History.
(line 6)
* alias-expand-line (): Miscellaneous Commands.
(line 124)
(line 125)
* backward-char (C-b): Commands For Moving. (line 15)
* backward-delete-char (Rubout): Commands For Text. (line 17)
* backward-kill-line (C-x Rubout): Commands For Killing.
@@ -11021,9 +11080,9 @@ D.4 Function Index
* call-last-kbd-macro (C-x e): Keyboard Macros. (line 13)
* capitalize-word (M-c): Commands For Text. (line 61)
* character-search (C-]): Miscellaneous Commands.
(line 41)
(line 42)
* character-search-backward (M-C-]): Miscellaneous Commands.
(line 46)
(line 47)
* clear-screen (C-l): Commands For Moving. (line 34)
* complete (<TAB>): Commands For Completion.
(line 6)
@@ -11054,56 +11113,56 @@ D.4 Function Index
(line 46)
* digit-argument (M-0, M-1, ... M--): Numeric Arguments. (line 6)
* display-shell-version (C-x C-v): Miscellaneous Commands.
(line 109)
* do-uppercase-version (M-a, M-b, M-X, ...): Miscellaneous Commands.
(line 110)
* do-lowercase-version (M-A, M-B, M-X, ...): Miscellaneous Commands.
(line 14)
* downcase-word (M-l): Commands For Text. (line 57)
* dump-functions (): Miscellaneous Commands.
(line 73)
(line 74)
* dump-macros (): Miscellaneous Commands.
(line 85)
(line 86)
* dump-variables (): Miscellaneous Commands.
(line 79)
(line 80)
* dynamic-complete-history (M-<TAB>): Commands For Completion.
(line 90)
* edit-and-execute-command (C-xC-e): Miscellaneous Commands.
(line 138)
* edit-and-execute-command (C-x C-e): Miscellaneous Commands.
(line 139)
* end-kbd-macro (C-x )): Keyboard Macros. (line 9)
* end-of-file (usually C-d): Commands For Text. (line 6)
* end-of-history (M->): Commands For History.
(line 23)
* end-of-line (C-e): Commands For Moving. (line 9)
* exchange-point-and-mark (C-x C-x): Miscellaneous Commands.
(line 36)
(line 37)
* forward-backward-delete-char (): Commands For Text. (line 21)
* forward-char (C-f): Commands For Moving. (line 12)
* forward-search-history (C-s): Commands For History.
(line 31)
* forward-word (M-f): Commands For Moving. (line 18)
* glob-complete-word (M-g): Miscellaneous Commands.
(line 91)
(line 92)
* glob-expand-word (C-x *): Miscellaneous Commands.
(line 97)
(line 98)
* glob-list-expansions (C-x g): Miscellaneous Commands.
(line 103)
(line 104)
* history-and-alias-expand-line (): Miscellaneous Commands.
(line 127)
(line 128)
* history-expand-line (M-^): Miscellaneous Commands.
(line 117)
(line 118)
* history-search-backward (): Commands For History.
(line 53)
* history-search-forward (): Commands For History.
(line 47)
* history-substr-search-backward (): Commands For History.
* history-substring-search-backward (): Commands For History.
(line 65)
* history-substr-search-forward (): Commands For History.
* history-substring-search-forward (): Commands For History.
(line 59)
* insert-comment (M-#): Miscellaneous Commands.
(line 60)
(line 61)
* insert-completions (M-*): Commands For Completion.
(line 22)
* insert-last-argument (M-. or M-_): Miscellaneous Commands.
(line 130)
(line 131)
* kill-line (C-k): Commands For Killing.
(line 6)
* kill-region (): Commands For Killing.
@@ -11113,7 +11172,7 @@ D.4 Function Index
* kill-word (M-d): Commands For Killing.
(line 19)
* magic-space (): Miscellaneous Commands.
(line 120)
(line 121)
* menu-complete (): Commands For Completion.
(line 26)
* menu-complete-backward (): Commands For Completion.
@@ -11125,7 +11184,7 @@ D.4 Function Index
* non-incremental-reverse-search-history (M-p): Commands For History.
(line 35)
* operate-and-get-next (C-o): Miscellaneous Commands.
(line 133)
(line 134)
* overwrite-mode (): Commands For Text. (line 65)
* possible-command-completions (C-x !): Commands For Completion.
(line 86)
@@ -11140,7 +11199,7 @@ D.4 Function Index
* possible-variable-completions (C-x $): Commands For Completion.
(line 68)
* prefix-meta (<ESC>): Miscellaneous Commands.
(line 18)
(line 19)
* previous-history (C-p): Commands For History.
(line 13)
* print-last-kbd-macro (): Keyboard Macros. (line 17)
@@ -11151,27 +11210,27 @@ D.4 Function Index
* reverse-search-history (C-r): Commands For History.
(line 27)
* revert-line (M-r): Miscellaneous Commands.
(line 25)
(line 26)
* self-insert (a, b, A, 1, !, ...): Commands For Text. (line 30)
* set-mark (C-@): Miscellaneous Commands.
(line 32)
(line 33)
* shell-backward-kill-word (): Commands For Killing.
(line 33)
* shell-backward-word (): Commands For Moving. (line 30)
* shell-expand-line (M-C-e): Miscellaneous Commands.
(line 112)
(line 113)
* shell-forward-word (): Commands For Moving. (line 26)
* shell-kill-word (): Commands For Killing.
(line 28)
* skip-csi-sequence (): Miscellaneous Commands.
(line 51)
(line 52)
* start-kbd-macro (C-x (): Keyboard Macros. (line 6)
* tilde-expand (M-&): Miscellaneous Commands.
(line 29)
(line 30)
* transpose-chars (C-t): Commands For Text. (line 42)
* transpose-words (M-t): Commands For Text. (line 48)
* undo (C-_ or C-x C-u): Miscellaneous Commands.
(line 22)
(line 23)
* universal-argument (): Numeric Arguments. (line 10)
* unix-filename-rubout (): Commands For Killing.
(line 41)
@@ -11351,134 +11410,134 @@ D.5 Concept Index

Tag Table:
Node: Top897
Node: Introduction2817
Node: What is Bash?3033
Node: What is a shell?4147
Node: Definitions6685
Node: Basic Shell Features9636
Node: Shell Syntax10855
Node: Shell Operation11881
Node: Quoting13174
Node: Escape Character14474
Node: Single Quotes14959
Node: Double Quotes15307
Node: ANSI-C Quoting16585
Node: Locale Translation17838
Node: Comments18734
Node: Shell Commands19352
Node: Simple Commands20224
Node: Pipelines20855
Node: Lists23598
Node: Compound Commands25327
Node: Looping Constructs26330
Node: Conditional Constructs28793
Node: Command Grouping39715
Node: Coprocesses41194
Node: GNU Parallel43026
Node: Shell Functions46999
Node: Shell Parameters52205
Node: Positional Parameters56618
Node: Special Parameters57518
Node: Shell Expansions60855
Node: Brace Expansion62949
Node: Tilde Expansion65730
Node: Shell Parameter Expansion68078
Node: Command Substitution82210
Node: Arithmetic Expansion83565
Node: Process Substitution84497
Node: Word Splitting85617
Node: Filename Expansion87561
Node: Pattern Matching89845
Node: Quote Removal93543
Node: Redirections93838
Node: Executing Commands103258
Node: Simple Command Expansion103928
Node: Command Search and Execution105858
Node: Command Execution Environment108194
Node: Environment111178
Node: Exit Status112837
Node: Signals114507
Node: Shell Scripts116474
Node: Shell Builtin Commands118989
Node: Bourne Shell Builtins121023
Node: Bash Builtins141623
Node: Modifying Shell Behavior170268
Node: The Set Builtin170613
Node: The Shopt Builtin181026
Node: Special Builtins196825
Node: Shell Variables197804
Node: Bourne Shell Variables198241
Node: Bash Variables200272
Node: Bash Features228652
Node: Invoking Bash229551
Node: Bash Startup Files235500
Node: Interactive Shells240603
Node: What is an Interactive Shell?241013
Node: Is this Shell Interactive?241662
Node: Interactive Shell Behavior242477
Node: Bash Conditional Expressions245852
Node: Shell Arithmetic250092
Node: Aliases252909
Node: Arrays255457
Node: The Directory Stack260541
Node: Directory Stack Builtins261325
Node: Controlling the Prompt264293
Node: The Restricted Shell267039
Node: Bash POSIX Mode268864
Node: Job Control279215
Node: Job Control Basics279675
Node: Job Control Builtins284394
Node: Job Control Variables288924
Node: Command Line Editing290080
Node: Introduction and Notation291751
Node: Readline Interaction293374
Node: Readline Bare Essentials294565
Node: Readline Movement Commands296348
Node: Readline Killing Commands297308
Node: Readline Arguments299226
Node: Searching300270
Node: Readline Init File302456
Node: Readline Init File Syntax303603
Node: Conditional Init Constructs323790
Node: Sample Init File326315
Node: Bindable Readline Commands329432
Node: Commands For Moving330636
Node: Commands For History331779
Node: Commands For Text336068
Node: Commands For Killing339457
Node: Numeric Arguments341938
Node: Commands For Completion343077
Node: Keyboard Macros347268
Node: Miscellaneous Commands347955
Node: Readline vi Mode353759
Node: Programmable Completion354666
Node: Programmable Completion Builtins362127
Node: A Programmable Completion Example372013
Node: Using History Interactively377265
Node: Bash History Facilities377949
Node: Bash History Builtins380950
Node: History Interaction384947
Node: Event Designators387911
Node: Word Designators389130
Node: Modifiers390767
Node: Installing Bash392169
Node: Basic Installation393306
Node: Compilers and Options395997
Node: Compiling For Multiple Architectures396738
Node: Installation Names398401
Node: Specifying the System Type399219
Node: Sharing Defaults399935
Node: Operation Controls400608
Node: Optional Features401566
Node: Reporting Bugs411823
Node: Major Differences From The Bourne Shell413017
Node: GNU Free Documentation License429869
Node: Indexes455046
Node: Builtin Index455500
Node: Reserved Word Index462327
Node: Variable Index464775
Node: Function Index480234
Node: Concept Index493391
Node: Top895
Node: Introduction2813
Node: What is Bash?3029
Node: What is a shell?4143
Node: Definitions6681
Node: Basic Shell Features9632
Node: Shell Syntax10851
Node: Shell Operation11877
Node: Quoting13170
Node: Escape Character14470
Node: Single Quotes14955
Node: Double Quotes15303
Node: ANSI-C Quoting16581
Node: Locale Translation17834
Node: Comments18730
Node: Shell Commands19348
Node: Simple Commands20220
Node: Pipelines20851
Node: Lists23594
Node: Compound Commands25323
Node: Looping Constructs26326
Node: Conditional Constructs28789
Node: Command Grouping39711
Node: Coprocesses41190
Node: GNU Parallel43022
Node: Shell Functions46995
Node: Shell Parameters52201
Node: Positional Parameters56614
Node: Special Parameters57514
Node: Shell Expansions60851
Node: Brace Expansion62945
Node: Tilde Expansion65779
Node: Shell Parameter Expansion68127
Node: Command Substitution82259
Node: Arithmetic Expansion83614
Node: Process Substitution84546
Node: Word Splitting85666
Node: Filename Expansion87610
Node: Pattern Matching89984
Node: Quote Removal93970
Node: Redirections94265
Node: Executing Commands103839
Node: Simple Command Expansion104509
Node: Command Search and Execution106439
Node: Command Execution Environment108775
Node: Environment111759
Node: Exit Status113418
Node: Signals115088
Node: Shell Scripts117055
Node: Shell Builtin Commands119570
Node: Bourne Shell Builtins121604
Node: Bash Builtins142204
Node: Modifying Shell Behavior170849
Node: The Set Builtin171194
Node: The Shopt Builtin181607
Node: Special Builtins197505
Node: Shell Variables198484
Node: Bourne Shell Variables198921
Node: Bash Variables200952
Node: Bash Features230660
Node: Invoking Bash231559
Node: Bash Startup Files237508
Node: Interactive Shells242611
Node: What is an Interactive Shell?243021
Node: Is this Shell Interactive?243670
Node: Interactive Shell Behavior244485
Node: Bash Conditional Expressions247860
Node: Shell Arithmetic252100
Node: Aliases254917
Node: Arrays257465
Node: The Directory Stack262549
Node: Directory Stack Builtins263333
Node: Controlling the Prompt266301
Node: The Restricted Shell269047
Node: Bash POSIX Mode270872
Node: Job Control281223
Node: Job Control Basics281683
Node: Job Control Builtins286651
Node: Job Control Variables291378
Node: Command Line Editing292534
Node: Introduction and Notation294205
Node: Readline Interaction295828
Node: Readline Bare Essentials297019
Node: Readline Movement Commands298802
Node: Readline Killing Commands299762
Node: Readline Arguments301680
Node: Searching302724
Node: Readline Init File304910
Node: Readline Init File Syntax306057
Node: Conditional Init Constructs326244
Node: Sample Init File328769
Node: Bindable Readline Commands331886
Node: Commands For Moving333090
Node: Commands For History334233
Node: Commands For Text338528
Node: Commands For Killing341917
Node: Numeric Arguments344398
Node: Commands For Completion345537
Node: Keyboard Macros349728
Node: Miscellaneous Commands350415
Node: Readline vi Mode356291
Node: Programmable Completion357198
Node: Programmable Completion Builtins364659
Node: A Programmable Completion Example374545
Node: Using History Interactively379797
Node: Bash History Facilities380481
Node: Bash History Builtins383482
Node: History Interaction387774
Node: Event Designators390738
Node: Word Designators391957
Node: Modifiers393594
Node: Installing Bash394996
Node: Basic Installation396133
Node: Compilers and Options398824
Node: Compiling For Multiple Architectures399565
Node: Installation Names401228
Node: Specifying the System Type402046
Node: Sharing Defaults402762
Node: Operation Controls403435
Node: Optional Features404393
Node: Reporting Bugs414919
Node: Major Differences From The Bourne Shell416113
Node: GNU Free Documentation License432965
Node: Indexes458142
Node: Builtin Index458596
Node: Reserved Word Index465423
Node: Variable Index467871
Node: Function Index483549
Node: Concept Index496706

End Tag Table
+61 -56
View File
@@ -1,9 +1,11 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/MacPorts 2016_1) (preloaded format=pdftex 2016.7.6) 7 SEP 2016 17:14
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/MacPorts 2016_4) (preloaded format=pdfetex 2017.1.6) 1 FEB 2017 10:46
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
%&-line parsing enabled.
**/usr/homes/chet/src/bash/src/doc/bashref.texi
(/usr/homes/chet/src/bash/src/doc/bashref.texi (./texinfo.tex
**\input /usr/homes/chet/src/bash/src/doc/bashref.texi
(/usr/homes/chet/src/bash/src/doc/bashref.texi
(/Users/chet/src/bash/src/doc/texinfo.tex
Loading texinfo [version 2015-11-22.14]:
\outerhsize=\dimen16
\outervsize=\dimen17
@@ -159,19 +161,22 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
texinfo.tex: doing @include of version.texi
(./version.texi) [1{/opt/local/var/db/texmf/fonts/map/pdftex/updmap/pdftex.map}
] [2] (./bashref.toc [-1] [-2] [-3]) [-4] (./bashref.toc) (./bashref.toc)
Chapter 1
(/Users/chet/src/bash/src/doc/version.texi) [1{/opt/local/var/db/texmf/fonts/ma
p/pdftex/updmap/pdftex.map}] [2] (/Users/chet/src/bash/src/doc/bashref.toc
[-1] [-2] [-3]) [-4] (/Users/chet/src/bash/src/doc/bashref.toc)
(/Users/chet/src/bash/src/doc/bashref.toc) Chapter 1
\openout0 = `bashref.toc'.
(./bashref.aux)
(/Users/chet/src/bash/src/doc/bashref.aux)
\openout1 = `bashref.aux'.
Chapter 2 [1] [2]
@cpindfile=@write2
\openout2 = `bashref.cp'.
[3] Chapter 3 [4] [5] [6]
[3] Chapter 3
[4] [5] [6]
@vrindfile=@write3
\openout3 = `bashref.vr'.
@@ -179,8 +184,7 @@ Chapter 1
@rwindfile=@write4
\openout4 = `bashref.rw'.
[8] [9] [10]
[8] [9] [10]
Overfull \hbox (38.26587pt too wide) in paragraph at lines 872--872
[]@texttt case @textttsl word @texttt in [ [(] @textttsl pat-tern @texttt [| @
textttsl pattern@texttt ][]) @textttsl command-list @texttt ;;][] esac[]
@@ -239,7 +243,7 @@ arallel -k traceroute[]
[42] [43]
[44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54]
Overfull \hbox (26.76846pt too wide) in paragraph at lines 4268--4268
Overfull \hbox (26.76846pt too wide) in paragraph at lines 4280--4280
[]@texttt mapfile [-d @textttsl de-lim@texttt ] [-n @textttsl count@texttt ] [
-O @textttsl ori-gin@texttt ] [-s @textttsl count@texttt ] [-t] [-u @textttsl f
d@texttt ][]
@@ -253,7 +257,7 @@ d@texttt ][]
.etc.
[55] [56]
Overfull \hbox (38.26584pt too wide) in paragraph at lines 4472--4472
Overfull \hbox (38.26584pt too wide) in paragraph at lines 4484--4484
[]@texttt readarray [-d @textttsl de-lim@texttt ] [-n @textttsl count@texttt ]
[-O @textttsl ori-gin@texttt ] [-s @textttsl count@texttt ] [-t] [-u @textttsl
fd@texttt ][]
@@ -267,8 +271,8 @@ Overfull \hbox (38.26584pt too wide) in paragraph at lines 4472--4472
.etc.
[57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] Chapter 5
[70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] Chapter 6 [81]
Overfull \hbox (49.43388pt too wide) in paragraph at lines 6183--6183
[70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] Chapter 6 [82]
Overfull \hbox (49.43388pt too wide) in paragraph at lines 6228--6228
[]@texttt bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@t
exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
@@ -281,7 +285,7 @@ exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
.etc.
Overfull \hbox (72.42863pt too wide) in paragraph at lines 6184--6184
Overfull \hbox (72.42863pt too wide) in paragraph at lines 6229--6229
[]@texttt bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@texttt
] [-O @textttsl shopt_option@texttt ] -c @textttsl string @texttt [@textttsl ar
-
@@ -295,7 +299,7 @@ Overfull \hbox (72.42863pt too wide) in paragraph at lines 6184--6184
.etc.
Overfull \hbox (32.18782pt too wide) in paragraph at lines 6185--6185
Overfull \hbox (32.18782pt too wide) in paragraph at lines 6230--6230
[]@texttt bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@text
tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
@@ -307,13 +311,13 @@ tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
.@texttt s
.etc.
[82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96]
[97] [98] Chapter 7 [99] [100] [101] [102]
[83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97]
[98] [99] Chapter 7 [100] [101] [102] [103]
texinfo.tex: doing @include of rluser.texi
(/usr/homes/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8 [103]
[104] [105] [106] [107] [108] [109] [110] [111] [112] [113]
(/usr/homes/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8 [104]
[105] [106] [107] [108] [109] [110] [111] [112] [113] [114]
Underfull \hbox (badness 7540) in paragraph at lines 802--808
[]@textrm In the above ex-am-ple, @textttsl C-u[] @textrm is bound to the func
-tion
@@ -339,7 +343,7 @@ e func-tion
.@texttt v
.etc.
[114] [115] [116]
[115] [116] [117]
Overfull \hbox (26.43913pt too wide) in paragraph at lines 997--997
[]@texttt Meta-Control-h: backward-kill-word Text after the function name is i
gnored[]
@@ -352,13 +356,13 @@ gnored[]
.@texttt t
.etc.
[117] [118]
[118] [119]
@fnindfile=@write6
\openout6 = `bashref.fn'.
[119] [120] [121] [122] [123] [124] [125] [126] [127] [128]
[129] [130] [131] [132] [133] [134]
Overfull \hbox (26.43913pt too wide) in paragraph at lines 2233--2233
[120] [121] [122] [123] [124] [125] [126] [127] [128] [129]
[130] [131] [132] [133] [134] [135]
Overfull \hbox (26.43913pt too wide) in paragraph at lines 2234--2234
[] @texttt # Tilde expansion, with side effect of expanding tilde to full p
athname[]
@@ -370,46 +374,47 @@ athname[]
.@penalty 10000
.etc.
[135])
[136])
texinfo.tex: doing @include of hsuser.texi
(/usr/homes/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9
[136] [137] [138] [139] [140]) Chapter 10 [141] [142] [143] [144] [145]
[146] [147] Appendix A [148] Appendix B [149] [150] [151] [152] [153] [154]
Appendix C [155]
[137] [138] [139] [140] [141]) Chapter 10 [142] [143] [144] [145] [146]
[147] [148] [149] Appendix A [150] Appendix B [151] [152] [153] [154] [155]
[156] Appendix C [157]
texinfo.tex: doing @include of fdl.texi
(./fdl.texi [156] [157] [158] [159] [160] [161] [162])
Appendix D [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] )
(/Users/chet/src/bash/src/doc/fdl.texi [158] [159]
[160] [161] [162] [163] [164]) Appendix D [165] [166] [167] [168] [169]
[170] [171] [172] [173] [174] )
Here is how much of TeX's memory you used:
4059 strings out of 497105
46636 string characters out of 6206779
137600 words of memory out of 5000000
4062 strings out of 497105
47063 string characters out of 6206776
136604 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
16i,6n,16p,319b,968s stack positions out of 5000i,500n,10000p,200000b,80000s
{/opt/l
ocal/share/texmf-texlive/fonts/enc/dvips/cm-super/cm-super-t1.enc}</opt/local/s
hare/texmf-texlive/fonts/type1/public/amsfonts/cm/cmbx12.pfb></opt/local/share/
texmf-texlive/fonts/type1/public/amsfonts/cm/cmcsc10.pfb></opt/local/share/texm
f-texlive/fonts/type1/public/amsfonts/cm/cmmi10.pfb></opt/local/share/texmf-tex
live/fonts/type1/public/amsfonts/cm/cmmi12.pfb></opt/local/share/texmf-texlive/
fonts/type1/public/amsfonts/cm/cmmi9.pfb></opt/local/share/texmf-texlive/fonts/
type1/public/amsfonts/cm/cmr10.pfb></opt/local/share/texmf-texlive/fonts/type1/
public/amsfonts/cm/cmr9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/
amsfonts/cm/cmsl10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfo
nts/cm/cmsltt10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts
/cm/cmsy10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/c
mti10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmtt10
.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmtt12.pfb>
</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmtt9.pfb></opt/
local/share/texmf-texlive/fonts/type1/public/cm-super/sfrm1095.pfb></opt/local/
share/texmf-texlive/fonts/type1/public/cm-super/sfrm1440.pfb>
Output written on bashref.pdf (178 pages, 734389 bytes).
16i,6n,16p,326b,968s stack positions out of 5000i,500n,10000p,200000b,80000s
{/opt/local/share/texmf-texlive/fonts/enc/dvips/
cm-super/cm-super-t1.enc}</opt/local/share/texmf-texlive/fonts/type1/public/ams
fonts/cm/cmbx12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts
/cm/cmcsc10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/
cmmi10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi1
2.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi9.pfb>
</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr10.pfb></opt/
local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmr9.pfb></opt/local/s
hare/texmf-texlive/fonts/type1/public/amsfonts/cm/cmsl10.pfb></opt/local/share/
texmf-texlive/fonts/type1/public/amsfonts/cm/cmsltt10.pfb></opt/local/share/tex
mf-texlive/fonts/type1/public/amsfonts/cm/cmsy10.pfb></opt/local/share/texmf-te
xlive/fonts/type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/texmf-texlive
/fonts/type1/public/amsfonts/cm/cmtt10.pfb></opt/local/share/texmf-texlive/font
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 (180 pages, 738487 bytes).
PDF statistics:
2577 PDF objects out of 2984 (max. 8388607)
2354 compressed objects within 24 object streams
304 named destinations out of 1000 (max. 500000)
2589 PDF objects out of 2984 (max. 8388607)
2364 compressed objects within 24 object streams
306 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.
+2527 -2435
View File
File diff suppressed because it is too large Load Diff
+10 -2
View File
@@ -14,7 +14,7 @@ This is Edition @value{EDITION}, last updated @value{UPDATED},
of @cite{The GNU Bash Reference Manual},
for @code{Bash}, Version @value{VERSION}.
Copyright @copyright{} 1988--2016 Free Software Foundation, Inc.
Copyright @copyright{} 1988--2017 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@@ -7783,6 +7783,11 @@ The @code{jobs} command may then be used to inspect their status.
If a second attempt to exit is made without an intervening command,
Bash does not print another warning, and any stopped jobs are terminated.
When the shell is waiting for a job or process using the @code{wait}
builtin, and job control is enabled, @code{wait} will return when the
job changes state. The @option{-f} option will force @code{wait} to wait
until the job or process terminates before returning.
@node Job Control Builtins
@section Job Control Builtins
@@ -7879,7 +7884,7 @@ or non-zero if an error occurs or an invalid option is encountered.
@item wait
@btindex wait
@example
wait [-n] [@var{jobspec} or @var{pid} @dots{}]
wait [-fn] [@var{jobspec} or @var{pid} @dots{}]
@end example
Wait until the child process specified by each process @sc{id} @var{pid}
@@ -7890,6 +7895,9 @@ If no arguments are given, all currently active child processes are
waited for, and the return status is zero.
If the @option{-n} option is supplied, @code{wait} waits for any job to
terminate and returns its exit status.
If the @option{-f} option is supplied, and job control is enabled,
@code{wait} forces each @var{pid} or @var{jobspec} to terminate before
returning its status, intead of returning when it changes status.
If neither @var{jobspec} nor @var{pid} specifies an active child process
of the shell, the return status is 127.
+72 -72
View File
@@ -42,7 +42,7 @@
@numsubsecentry{Redirecting Output}{3.6.2}{}{34}
@numsubsecentry{Appending Redirected Output}{3.6.3}{}{34}
@numsubsecentry{Redirecting Standard Output and Standard Error}{3.6.4}{}{34}
@numsubsecentry{Appending Standard Output and Standard Error}{3.6.5}{}{34}
@numsubsecentry{Appending Standard Output and Standard Error}{3.6.5}{}{35}
@numsubsecentry{Here Documents}{3.6.6}{}{35}
@numsubsecentry{Here Strings}{3.6.7}{}{35}
@numsubsecentry{Duplicating File Descriptors}{3.6.8}{}{35}
@@ -66,74 +66,74 @@
@numchapentry{Shell Variables}{5}{Shell Variables}{71}
@numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{71}
@numsecentry{Bash Variables}{5.2}{Bash Variables}{71}
@numchapentry{Bash Features}{6}{Bash Features}{82}
@numsecentry{Invoking Bash}{6.1}{Invoking Bash}{82}
@numsecentry{Bash Startup Files}{6.2}{Bash Startup Files}{84}
@numsecentry{Interactive Shells}{6.3}{Interactive Shells}{85}
@numsubsecentry{What is an Interactive Shell?}{6.3.1}{What is an Interactive Shell?}{86}
@numsubsecentry{Is this Shell Interactive?}{6.3.2}{Is this Shell Interactive?}{86}
@numsubsecentry{Interactive Shell Behavior}{6.3.3}{Interactive Shell Behavior}{86}
@numsecentry{Bash Conditional Expressions}{6.4}{Bash Conditional Expressions}{87}
@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{89}
@numsecentry{Aliases}{6.6}{Aliases}{90}
@numsecentry{Arrays}{6.7}{Arrays}{91}
@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{93}
@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{93}
@numsecentry{Controlling the Prompt}{6.9}{Controlling the Prompt}{94}
@numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{95}
@numsecentry{Bash POSIX Mode}{6.11}{Bash POSIX Mode}{96}
@numchapentry{Job Control}{7}{Job Control}{100}
@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{100}
@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{101}
@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{103}
@numchapentry{Command Line Editing}{8}{Command Line Editing}{104}
@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{104}
@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{104}
@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{105}
@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{105}
@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{106}
@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{106}
@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{106}
@numsecentry{Readline Init File}{8.3}{Readline Init File}{107}
@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{107}
@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{115}
@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{116}
@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{119}
@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{119}
@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{120}
@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{121}
@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{122}
@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{124}
@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{124}
@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{126}
@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{126}
@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{128}
@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{129}
@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{131}
@numsecentry{A Programmable Completion Example}{8.8}{A Programmable Completion Example}{134}
@numchapentry{Using History Interactively}{9}{Using History Interactively}{137}
@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{137}
@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{137}
@numsecentry{History Expansion}{9.3}{History Interaction}{139}
@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{140}
@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{140}
@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{141}
@numchapentry{Installing Bash}{10}{Installing Bash}{142}
@numsecentry{Basic Installation}{10.1}{Basic Installation}{142}
@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{143}
@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{143}
@numsecentry{Installation Names}{10.4}{Installation Names}{143}
@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{143}
@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{144}
@numsecentry{Operation Controls}{10.7}{Operation Controls}{144}
@numsecentry{Optional Features}{10.8}{Optional Features}{144}
@appentry{Reporting Bugs}{A}{Reporting Bugs}{149}
@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{150}
@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{154}
@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{156}
@appentry{Indexes}{D}{Indexes}{164}
@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{164}
@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{165}
@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{166}
@appsecentry{Function Index}{D.4}{Function Index}{168}
@appsecentry{Concept Index}{D.5}{Concept Index}{170}
@numchapentry{Bash Features}{6}{Bash Features}{83}
@numsecentry{Invoking Bash}{6.1}{Invoking Bash}{83}
@numsecentry{Bash Startup Files}{6.2}{Bash Startup Files}{85}
@numsecentry{Interactive Shells}{6.3}{Interactive Shells}{86}
@numsubsecentry{What is an Interactive Shell?}{6.3.1}{What is an Interactive Shell?}{87}
@numsubsecentry{Is this Shell Interactive?}{6.3.2}{Is this Shell Interactive?}{87}
@numsubsecentry{Interactive Shell Behavior}{6.3.3}{Interactive Shell Behavior}{87}
@numsecentry{Bash Conditional Expressions}{6.4}{Bash Conditional Expressions}{88}
@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{90}
@numsecentry{Aliases}{6.6}{Aliases}{91}
@numsecentry{Arrays}{6.7}{Arrays}{92}
@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{94}
@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{94}
@numsecentry{Controlling the Prompt}{6.9}{Controlling the Prompt}{95}
@numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{96}
@numsecentry{Bash POSIX Mode}{6.11}{Bash POSIX Mode}{97}
@numchapentry{Job Control}{7}{Job Control}{101}
@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{101}
@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{102}
@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{104}
@numchapentry{Command Line Editing}{8}{Command Line Editing}{105}
@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{105}
@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{105}
@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{106}
@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{106}
@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{107}
@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{107}
@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{107}
@numsecentry{Readline Init File}{8.3}{Readline Init File}{108}
@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{108}
@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{116}
@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{117}
@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{120}
@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{120}
@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{121}
@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{122}
@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{123}
@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{125}
@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{125}
@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{127}
@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{127}
@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{129}
@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{130}
@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{132}
@numsecentry{A Programmable Completion Example}{8.8}{A Programmable Completion Example}{135}
@numchapentry{Using History Interactively}{9}{Using History Interactively}{138}
@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{138}
@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{138}
@numsecentry{History Expansion}{9.3}{History Interaction}{140}
@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{141}
@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{141}
@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{142}
@numchapentry{Installing Bash}{10}{Installing Bash}{143}
@numsecentry{Basic Installation}{10.1}{Basic Installation}{143}
@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{144}
@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{144}
@numsecentry{Installation Names}{10.4}{Installation Names}{144}
@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{144}
@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{145}
@numsecentry{Operation Controls}{10.7}{Operation Controls}{145}
@numsecentry{Optional Features}{10.8}{Optional Features}{145}
@appentry{Reporting Bugs}{A}{Reporting Bugs}{151}
@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{152}
@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{156}
@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{158}
@appentry{Indexes}{D}{Indexes}{166}
@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{166}
@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{167}
@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{168}
@appsecentry{Function Index}{D.4}{Function Index}{170}
@appsecentry{Concept Index}{D.5}{Concept Index}{172}
+77 -74
View File
@@ -35,8 +35,9 @@
\entry{BASH_ALIASES}{72}{\code {BASH_ALIASES}}
\entry{BASH_ARGC}{72}{\code {BASH_ARGC}}
\entry{BASH_ARGV}{72}{\code {BASH_ARGV}}
\entry{BASH_ARGV0}{72}{\code {BASH_ARGV0}}
\entry{BASH_CMDS}{72}{\code {BASH_CMDS}}
\entry{BASH_COMMAND}{72}{\code {BASH_COMMAND}}
\entry{BASH_COMMAND}{73}{\code {BASH_COMMAND}}
\entry{BASH_COMPAT}{73}{\code {BASH_COMPAT}}
\entry{BASH_ENV}{73}{\code {BASH_ENV}}
\entry{BASH_EXECUTION_STRING}{73}{\code {BASH_EXECUTION_STRING}}
@@ -44,14 +45,14 @@
\entry{BASH_LOADABLES_PATH}{73}{\code {BASH_LOADABLES_PATH}}
\entry{BASH_REMATCH}{73}{\code {BASH_REMATCH}}
\entry{BASH_SOURCE}{73}{\code {BASH_SOURCE}}
\entry{BASH_SUBSHELL}{73}{\code {BASH_SUBSHELL}}
\entry{BASH_VERSINFO}{73}{\code {BASH_VERSINFO}}
\entry{BASH_SUBSHELL}{74}{\code {BASH_SUBSHELL}}
\entry{BASH_VERSINFO}{74}{\code {BASH_VERSINFO}}
\entry{BASH_VERSION}{74}{\code {BASH_VERSION}}
\entry{BASH_XTRACEFD}{74}{\code {BASH_XTRACEFD}}
\entry{CHILD_MAX}{74}{\code {CHILD_MAX}}
\entry{COLUMNS}{74}{\code {COLUMNS}}
\entry{COMP_CWORD}{74}{\code {COMP_CWORD}}
\entry{COMP_LINE}{74}{\code {COMP_LINE}}
\entry{COMP_LINE}{75}{\code {COMP_LINE}}
\entry{COMP_POINT}{75}{\code {COMP_POINT}}
\entry{COMP_TYPE}{75}{\code {COMP_TYPE}}
\entry{COMP_KEY}{75}{\code {COMP_KEY}}
@@ -60,33 +61,35 @@
\entry{COMPREPLY}{75}{\code {COMPREPLY}}
\entry{COPROC}{75}{\code {COPROC}}
\entry{DIRSTACK}{75}{\code {DIRSTACK}}
\entry{EMACS}{75}{\code {EMACS}}
\entry{EMACS}{76}{\code {EMACS}}
\entry{ENV}{76}{\code {ENV}}
\entry{EPOCHREALTIME}{76}{\code {EPOCHREALTIME}}
\entry{EPOCHSECONDS}{76}{\code {EPOCHSECONDS}}
\entry{EUID}{76}{\code {EUID}}
\entry{EXECIGNORE}{76}{\code {EXECIGNORE}}
\entry{FCEDIT}{76}{\code {FCEDIT}}
\entry{FIGNORE}{76}{\code {FIGNORE}}
\entry{FUNCNAME}{76}{\code {FUNCNAME}}
\entry{FUNCNEST}{76}{\code {FUNCNEST}}
\entry{GLOBIGNORE}{76}{\code {GLOBIGNORE}}
\entry{GROUPS}{76}{\code {GROUPS}}
\entry{histchars}{76}{\code {histchars}}
\entry{FUNCNEST}{77}{\code {FUNCNEST}}
\entry{GLOBIGNORE}{77}{\code {GLOBIGNORE}}
\entry{GROUPS}{77}{\code {GROUPS}}
\entry{histchars}{77}{\code {histchars}}
\entry{HISTCMD}{77}{\code {HISTCMD}}
\entry{HISTCONTROL}{77}{\code {HISTCONTROL}}
\entry{HISTFILE}{77}{\code {HISTFILE}}
\entry{HISTFILESIZE}{77}{\code {HISTFILESIZE}}
\entry{HISTIGNORE}{77}{\code {HISTIGNORE}}
\entry{HISTFILESIZE}{78}{\code {HISTFILESIZE}}
\entry{HISTIGNORE}{78}{\code {HISTIGNORE}}
\entry{HISTSIZE}{78}{\code {HISTSIZE}}
\entry{HISTTIMEFORMAT}{78}{\code {HISTTIMEFORMAT}}
\entry{HOSTFILE}{78}{\code {HOSTFILE}}
\entry{HOSTNAME}{78}{\code {HOSTNAME}}
\entry{HOSTTYPE}{78}{\code {HOSTTYPE}}
\entry{IGNOREEOF}{78}{\code {IGNOREEOF}}
\entry{INPUTRC}{78}{\code {INPUTRC}}
\entry{LANG}{78}{\code {LANG}}
\entry{LC_ALL}{78}{\code {LC_ALL}}
\entry{LC_COLLATE}{78}{\code {LC_COLLATE}}
\entry{LC_CTYPE}{78}{\code {LC_CTYPE}}
\entry{IGNOREEOF}{79}{\code {IGNOREEOF}}
\entry{INPUTRC}{79}{\code {INPUTRC}}
\entry{LANG}{79}{\code {LANG}}
\entry{LC_ALL}{79}{\code {LC_ALL}}
\entry{LC_COLLATE}{79}{\code {LC_COLLATE}}
\entry{LC_CTYPE}{79}{\code {LC_CTYPE}}
\entry{LC_MESSAGES}{79}{\code {LC_MESSAGES}}
\entry{LC_NUMERIC}{79}{\code {LC_NUMERIC}}
\entry{LC_TIME}{79}{\code {LC_TIME}}
@@ -95,13 +98,13 @@
\entry{MACHTYPE}{79}{\code {MACHTYPE}}
\entry{MAILCHECK}{79}{\code {MAILCHECK}}
\entry{MAPFILE}{79}{\code {MAPFILE}}
\entry{OLDPWD}{79}{\code {OLDPWD}}
\entry{OPTERR}{79}{\code {OPTERR}}
\entry{OSTYPE}{79}{\code {OSTYPE}}
\entry{PIPESTATUS}{79}{\code {PIPESTATUS}}
\entry{POSIXLY_CORRECT}{79}{\code {POSIXLY_CORRECT}}
\entry{PPID}{79}{\code {PPID}}
\entry{PROMPT_COMMAND}{79}{\code {PROMPT_COMMAND}}
\entry{OLDPWD}{80}{\code {OLDPWD}}
\entry{OPTERR}{80}{\code {OPTERR}}
\entry{OSTYPE}{80}{\code {OSTYPE}}
\entry{PIPESTATUS}{80}{\code {PIPESTATUS}}
\entry{POSIXLY_CORRECT}{80}{\code {POSIXLY_CORRECT}}
\entry{PPID}{80}{\code {PPID}}
\entry{PROMPT_COMMAND}{80}{\code {PROMPT_COMMAND}}
\entry{PROMPT_DIRTRIM}{80}{\code {PROMPT_DIRTRIM}}
\entry{PS0}{80}{\code {PS0}}
\entry{PS3}{80}{\code {PS3}}
@@ -109,54 +112,54 @@
\entry{PWD}{80}{\code {PWD}}
\entry{RANDOM}{80}{\code {RANDOM}}
\entry{READLINE_LINE}{80}{\code {READLINE_LINE}}
\entry{READLINE_POINT}{80}{\code {READLINE_POINT}}
\entry{REPLY}{80}{\code {REPLY}}
\entry{SECONDS}{80}{\code {SECONDS}}
\entry{SHELL}{80}{\code {SHELL}}
\entry{SHELLOPTS}{80}{\code {SHELLOPTS}}
\entry{SHLVL}{80}{\code {SHLVL}}
\entry{READLINE_POINT}{81}{\code {READLINE_POINT}}
\entry{REPLY}{81}{\code {REPLY}}
\entry{SECONDS}{81}{\code {SECONDS}}
\entry{SHELL}{81}{\code {SHELL}}
\entry{SHELLOPTS}{81}{\code {SHELLOPTS}}
\entry{SHLVL}{81}{\code {SHLVL}}
\entry{TIMEFORMAT}{81}{\code {TIMEFORMAT}}
\entry{TMOUT}{81}{\code {TMOUT}}
\entry{TMPDIR}{81}{\code {TMPDIR}}
\entry{UID}{81}{\code {UID}}
\entry{auto_resume}{103}{\code {auto_resume}}
\entry{bell-style}{108}{\code {bell-style}}
\entry{bind-tty-special-chars}{108}{\code {bind-tty-special-chars}}
\entry{blink-matching-paren}{108}{\code {blink-matching-paren}}
\entry{colored-completion-prefix}{108}{\code {colored-completion-prefix}}
\entry{colored-stats}{108}{\code {colored-stats}}
\entry{comment-begin}{108}{\code {comment-begin}}
\entry{completion-display-width}{108}{\code {completion-display-width}}
\entry{completion-ignore-case}{109}{\code {completion-ignore-case}}
\entry{completion-map-case}{109}{\code {completion-map-case}}
\entry{completion-prefix-display-length}{109}{\code {completion-prefix-display-length}}
\entry{completion-query-items}{109}{\code {completion-query-items}}
\entry{convert-meta}{109}{\code {convert-meta}}
\entry{disable-completion}{109}{\code {disable-completion}}
\entry{echo-control-characters}{109}{\code {echo-control-characters}}
\entry{editing-mode}{109}{\code {editing-mode}}
\entry{emacs-mode-string}{109}{\code {emacs-mode-string}}
\entry{enable-bracketed-paste}{110}{\code {enable-bracketed-paste}}
\entry{enable-keypad}{110}{\code {enable-keypad}}
\entry{expand-tilde}{110}{\code {expand-tilde}}
\entry{history-preserve-point}{110}{\code {history-preserve-point}}
\entry{history-size}{110}{\code {history-size}}
\entry{horizontal-scroll-mode}{110}{\code {horizontal-scroll-mode}}
\entry{input-meta}{110}{\code {input-meta}}
\entry{meta-flag}{110}{\code {meta-flag}}
\entry{isearch-terminators}{111}{\code {isearch-terminators}}
\entry{keymap}{111}{\code {keymap}}
\entry{mark-modified-lines}{111}{\code {mark-modified-lines}}
\entry{mark-symlinked-directories}{111}{\code {mark-symlinked-directories}}
\entry{match-hidden-files}{111}{\code {match-hidden-files}}
\entry{menu-complete-display-prefix}{112}{\code {menu-complete-display-prefix}}
\entry{output-meta}{112}{\code {output-meta}}
\entry{page-completions}{112}{\code {page-completions}}
\entry{revert-all-at-newline}{112}{\code {revert-all-at-newline}}
\entry{show-all-if-ambiguous}{112}{\code {show-all-if-ambiguous}}
\entry{show-all-if-unmodified}{112}{\code {show-all-if-unmodified}}
\entry{show-mode-in-prompt}{112}{\code {show-mode-in-prompt}}
\entry{skip-completed-text}{112}{\code {skip-completed-text}}
\entry{vi-cmd-mode-string}{113}{\code {vi-cmd-mode-string}}
\entry{vi-ins-mode-string}{113}{\code {vi-ins-mode-string}}
\entry{visible-stats}{113}{\code {visible-stats}}
\entry{TMOUT}{82}{\code {TMOUT}}
\entry{TMPDIR}{82}{\code {TMPDIR}}
\entry{UID}{82}{\code {UID}}
\entry{auto_resume}{104}{\code {auto_resume}}
\entry{bell-style}{109}{\code {bell-style}}
\entry{bind-tty-special-chars}{109}{\code {bind-tty-special-chars}}
\entry{blink-matching-paren}{109}{\code {blink-matching-paren}}
\entry{colored-completion-prefix}{109}{\code {colored-completion-prefix}}
\entry{colored-stats}{109}{\code {colored-stats}}
\entry{comment-begin}{109}{\code {comment-begin}}
\entry{completion-display-width}{109}{\code {completion-display-width}}
\entry{completion-ignore-case}{110}{\code {completion-ignore-case}}
\entry{completion-map-case}{110}{\code {completion-map-case}}
\entry{completion-prefix-display-length}{110}{\code {completion-prefix-display-length}}
\entry{completion-query-items}{110}{\code {completion-query-items}}
\entry{convert-meta}{110}{\code {convert-meta}}
\entry{disable-completion}{110}{\code {disable-completion}}
\entry{echo-control-characters}{110}{\code {echo-control-characters}}
\entry{editing-mode}{110}{\code {editing-mode}}
\entry{emacs-mode-string}{110}{\code {emacs-mode-string}}
\entry{enable-bracketed-paste}{111}{\code {enable-bracketed-paste}}
\entry{enable-keypad}{111}{\code {enable-keypad}}
\entry{expand-tilde}{111}{\code {expand-tilde}}
\entry{history-preserve-point}{111}{\code {history-preserve-point}}
\entry{history-size}{111}{\code {history-size}}
\entry{horizontal-scroll-mode}{111}{\code {horizontal-scroll-mode}}
\entry{input-meta}{111}{\code {input-meta}}
\entry{meta-flag}{111}{\code {meta-flag}}
\entry{isearch-terminators}{112}{\code {isearch-terminators}}
\entry{keymap}{112}{\code {keymap}}
\entry{mark-modified-lines}{112}{\code {mark-modified-lines}}
\entry{mark-symlinked-directories}{112}{\code {mark-symlinked-directories}}
\entry{match-hidden-files}{112}{\code {match-hidden-files}}
\entry{menu-complete-display-prefix}{113}{\code {menu-complete-display-prefix}}
\entry{output-meta}{113}{\code {output-meta}}
\entry{page-completions}{113}{\code {page-completions}}
\entry{revert-all-at-newline}{113}{\code {revert-all-at-newline}}
\entry{show-all-if-ambiguous}{113}{\code {show-all-if-ambiguous}}
\entry{show-all-if-unmodified}{113}{\code {show-all-if-unmodified}}
\entry{show-mode-in-prompt}{113}{\code {show-mode-in-prompt}}
\entry{skip-completed-text}{113}{\code {skip-completed-text}}
\entry{vi-cmd-mode-string}{114}{\code {vi-cmd-mode-string}}
\entry{vi-ins-mode-string}{114}{\code {vi-ins-mode-string}}
\entry{visible-stats}{114}{\code {visible-stats}}
+77 -74
View File
@@ -26,14 +26,15 @@
\initial {0}
\entry {\code {0}}{20}
\initial {A}
\entry {\code {auto_resume}}{103}
\entry {\code {auto_resume}}{104}
\initial {B}
\entry {\code {BASH}}{71}
\entry {\code {BASH_ALIASES}}{72}
\entry {\code {BASH_ARGC}}{72}
\entry {\code {BASH_ARGV}}{72}
\entry {\code {BASH_ARGV0}}{72}
\entry {\code {BASH_CMDS}}{72}
\entry {\code {BASH_COMMAND}}{72}
\entry {\code {BASH_COMMAND}}{73}
\entry {\code {BASH_COMPAT}}{73}
\entry {\code {BASH_ENV}}{73}
\entry {\code {BASH_EXECUTION_STRING}}{73}
@@ -41,88 +42,90 @@
\entry {\code {BASH_LOADABLES_PATH}}{73}
\entry {\code {BASH_REMATCH}}{73}
\entry {\code {BASH_SOURCE}}{73}
\entry {\code {BASH_SUBSHELL}}{73}
\entry {\code {BASH_VERSINFO}}{73}
\entry {\code {BASH_SUBSHELL}}{74}
\entry {\code {BASH_VERSINFO}}{74}
\entry {\code {BASH_VERSION}}{74}
\entry {\code {BASH_XTRACEFD}}{74}
\entry {\code {BASHOPTS}}{72}
\entry {\code {BASHPID}}{72}
\entry {\code {bell-style}}{108}
\entry {\code {bind-tty-special-chars}}{108}
\entry {\code {blink-matching-paren}}{108}
\entry {\code {bell-style}}{109}
\entry {\code {bind-tty-special-chars}}{109}
\entry {\code {blink-matching-paren}}{109}
\initial {C}
\entry {\code {CDPATH}}{71}
\entry {\code {CHILD_MAX}}{74}
\entry {\code {colored-completion-prefix}}{108}
\entry {\code {colored-stats}}{108}
\entry {\code {colored-completion-prefix}}{109}
\entry {\code {colored-stats}}{109}
\entry {\code {COLUMNS}}{74}
\entry {\code {comment-begin}}{108}
\entry {\code {comment-begin}}{109}
\entry {\code {COMP_CWORD}}{74}
\entry {\code {COMP_KEY}}{75}
\entry {\code {COMP_LINE}}{74}
\entry {\code {COMP_LINE}}{75}
\entry {\code {COMP_POINT}}{75}
\entry {\code {COMP_TYPE}}{75}
\entry {\code {COMP_WORDBREAKS}}{75}
\entry {\code {COMP_WORDS}}{75}
\entry {\code {completion-display-width}}{108}
\entry {\code {completion-ignore-case}}{109}
\entry {\code {completion-map-case}}{109}
\entry {\code {completion-prefix-display-length}}{109}
\entry {\code {completion-query-items}}{109}
\entry {\code {completion-display-width}}{109}
\entry {\code {completion-ignore-case}}{110}
\entry {\code {completion-map-case}}{110}
\entry {\code {completion-prefix-display-length}}{110}
\entry {\code {completion-query-items}}{110}
\entry {\code {COMPREPLY}}{75}
\entry {\code {convert-meta}}{109}
\entry {\code {convert-meta}}{110}
\entry {\code {COPROC}}{75}
\initial {D}
\entry {\code {DIRSTACK}}{75}
\entry {\code {disable-completion}}{109}
\entry {\code {disable-completion}}{110}
\initial {E}
\entry {\code {echo-control-characters}}{109}
\entry {\code {editing-mode}}{109}
\entry {\code {emacs-mode-string}}{109}
\entry {\code {EMACS}}{75}
\entry {\code {enable-bracketed-paste}}{110}
\entry {\code {enable-keypad}}{110}
\entry {\code {echo-control-characters}}{110}
\entry {\code {editing-mode}}{110}
\entry {\code {emacs-mode-string}}{110}
\entry {\code {EMACS}}{76}
\entry {\code {enable-bracketed-paste}}{111}
\entry {\code {enable-keypad}}{111}
\entry {\code {ENV}}{76}
\entry {\code {EPOCHREALTIME}}{76}
\entry {\code {EPOCHSECONDS}}{76}
\entry {\code {EUID}}{76}
\entry {\code {EXECIGNORE}}{76}
\entry {\code {expand-tilde}}{110}
\entry {\code {expand-tilde}}{111}
\initial {F}
\entry {\code {FCEDIT}}{76}
\entry {\code {FIGNORE}}{76}
\entry {\code {FUNCNAME}}{76}
\entry {\code {FUNCNEST}}{76}
\entry {\code {FUNCNEST}}{77}
\initial {G}
\entry {\code {GLOBIGNORE}}{76}
\entry {\code {GROUPS}}{76}
\entry {\code {GLOBIGNORE}}{77}
\entry {\code {GROUPS}}{77}
\initial {H}
\entry {\code {histchars}}{76}
\entry {\code {histchars}}{77}
\entry {\code {HISTCMD}}{77}
\entry {\code {HISTCONTROL}}{77}
\entry {\code {HISTFILE}}{77}
\entry {\code {HISTFILESIZE}}{77}
\entry {\code {HISTIGNORE}}{77}
\entry {\code {history-preserve-point}}{110}
\entry {\code {history-size}}{110}
\entry {\code {HISTFILESIZE}}{78}
\entry {\code {HISTIGNORE}}{78}
\entry {\code {history-preserve-point}}{111}
\entry {\code {history-size}}{111}
\entry {\code {HISTSIZE}}{78}
\entry {\code {HISTTIMEFORMAT}}{78}
\entry {\code {HOME}}{71}
\entry {\code {horizontal-scroll-mode}}{110}
\entry {\code {horizontal-scroll-mode}}{111}
\entry {\code {HOSTFILE}}{78}
\entry {\code {HOSTNAME}}{78}
\entry {\code {HOSTTYPE}}{78}
\initial {I}
\entry {\code {IFS}}{71}
\entry {\code {IGNOREEOF}}{78}
\entry {\code {input-meta}}{110}
\entry {\code {INPUTRC}}{78}
\entry {\code {isearch-terminators}}{111}
\entry {\code {IGNOREEOF}}{79}
\entry {\code {input-meta}}{111}
\entry {\code {INPUTRC}}{79}
\entry {\code {isearch-terminators}}{112}
\initial {K}
\entry {\code {keymap}}{111}
\entry {\code {keymap}}{112}
\initial {L}
\entry {\code {LANG}}{78}
\entry {\code {LC_ALL}}{78}
\entry {\code {LC_COLLATE}}{78}
\entry {\code {LC_CTYPE}}{78}
\entry {\code {LANG}}{79}
\entry {\code {LC_ALL}}{79}
\entry {\code {LC_COLLATE}}{79}
\entry {\code {LC_CTYPE}}{79}
\entry {\code {LC_MESSAGES}}{7, 79}
\entry {\code {LC_NUMERIC}}{79}
\entry {\code {LC_TIME}}{79}
@@ -134,25 +137,25 @@
\entry {\code {MAILCHECK}}{79}
\entry {\code {MAILPATH}}{71}
\entry {\code {MAPFILE}}{79}
\entry {\code {mark-modified-lines}}{111}
\entry {\code {mark-symlinked-directories}}{111}
\entry {\code {match-hidden-files}}{111}
\entry {\code {menu-complete-display-prefix}}{112}
\entry {\code {meta-flag}}{110}
\entry {\code {mark-modified-lines}}{112}
\entry {\code {mark-symlinked-directories}}{112}
\entry {\code {match-hidden-files}}{112}
\entry {\code {menu-complete-display-prefix}}{113}
\entry {\code {meta-flag}}{111}
\initial {O}
\entry {\code {OLDPWD}}{79}
\entry {\code {OLDPWD}}{80}
\entry {\code {OPTARG}}{71}
\entry {\code {OPTERR}}{79}
\entry {\code {OPTERR}}{80}
\entry {\code {OPTIND}}{71}
\entry {\code {OSTYPE}}{79}
\entry {\code {output-meta}}{112}
\entry {\code {OSTYPE}}{80}
\entry {\code {output-meta}}{113}
\initial {P}
\entry {\code {page-completions}}{112}
\entry {\code {page-completions}}{113}
\entry {\code {PATH}}{71}
\entry {\code {PIPESTATUS}}{79}
\entry {\code {POSIXLY_CORRECT}}{79}
\entry {\code {PPID}}{79}
\entry {\code {PROMPT_COMMAND}}{79}
\entry {\code {PIPESTATUS}}{80}
\entry {\code {POSIXLY_CORRECT}}{80}
\entry {\code {PPID}}{80}
\entry {\code {PROMPT_COMMAND}}{80}
\entry {\code {PROMPT_DIRTRIM}}{80}
\entry {\code {PS0}}{80}
\entry {\code {PS1}}{71}
@@ -163,27 +166,27 @@
\initial {R}
\entry {\code {RANDOM}}{80}
\entry {\code {READLINE_LINE}}{80}
\entry {\code {READLINE_POINT}}{80}
\entry {\code {REPLY}}{80}
\entry {\code {revert-all-at-newline}}{112}
\entry {\code {READLINE_POINT}}{81}
\entry {\code {REPLY}}{81}
\entry {\code {revert-all-at-newline}}{113}
\initial {S}
\entry {\code {SECONDS}}{80}
\entry {\code {SHELL}}{80}
\entry {\code {SHELLOPTS}}{80}
\entry {\code {SHLVL}}{80}
\entry {\code {show-all-if-ambiguous}}{112}
\entry {\code {show-all-if-unmodified}}{112}
\entry {\code {show-mode-in-prompt}}{112}
\entry {\code {skip-completed-text}}{112}
\entry {\code {SECONDS}}{81}
\entry {\code {SHELL}}{81}
\entry {\code {SHELLOPTS}}{81}
\entry {\code {SHLVL}}{81}
\entry {\code {show-all-if-ambiguous}}{113}
\entry {\code {show-all-if-unmodified}}{113}
\entry {\code {show-mode-in-prompt}}{113}
\entry {\code {skip-completed-text}}{113}
\initial {T}
\entry {\code {TEXTDOMAIN}}{7}
\entry {\code {TEXTDOMAINDIR}}{7}
\entry {\code {TIMEFORMAT}}{81}
\entry {\code {TMOUT}}{81}
\entry {\code {TMPDIR}}{81}
\entry {\code {TMOUT}}{82}
\entry {\code {TMPDIR}}{82}
\initial {U}
\entry {\code {UID}}{81}
\entry {\code {UID}}{82}
\initial {V}
\entry {\code {vi-cmd-mode-string}}{113}
\entry {\code {vi-ins-mode-string}}{113}
\entry {\code {visible-stats}}{113}
\entry {\code {vi-cmd-mode-string}}{114}
\entry {\code {vi-ins-mode-string}}{114}
\entry {\code {visible-stats}}{114}
+18 -9
View File
@@ -713,7 +713,11 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
following meanings:
--cc Clear the history list by deleting all the entries.
--dd _o_f_f_s_e_t
Delete the history entry at position _o_f_f_s_e_t.
Delete the history entry at position _o_f_f_s_e_t. If _o_f_f_s_e_t
is negative, it is interpreted as relative to one greater
than the last history position, so negative indices count
back from the end of the history, and an index of -1
refers to the current hhiissttoorryy --dd command.
--aa Append the ``new'' history lines to the history file.
These are history lines entered since the beginning of
the current bbaasshh session, but not already appended to the
@@ -1382,7 +1386,9 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
names during word completion if the directory name ini-
tially supplied does not exist.
ddoottgglloobb If set, bbaasshh includes filenames beginning with a `.' in
the results of pathname expansion.
the results of pathname expansion. The filenames ````..''''
and ````....'''' must always be matched explicitly, even if
ddoottgglloobb is set.
eexxeeccffaaiill
If set, a non-interactive shell will not exit if it can-
not execute the file specified as an argument to the
@@ -1767,16 +1773,19 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
sequently reset. The exit status is true unless a _n_a_m_e is read-
only.
wwaaiitt [--nn] [_n _._._.]
wwaaiitt [--ffnn] [_i_d _._._.]
Wait for each specified child process and return its termination
status. Each _n may be a process ID or a job specification; if a
job spec is given, all processes in that job's pipeline are
waited for. If _n is not given, all currently active child pro-
status. Each _i_d may be a process ID or a job specification; if
a job spec is given, all processes in that job's pipeline are
waited for. If _i_d is not given, all currently active child pro-
cesses are waited for, and the return status is zero. If the --nn
option is supplied, wwaaiitt waits for any job to terminate and
returns its exit status. If _n specifies a non-existent process
or job, the return status is 127. Otherwise, the return status
is the exit status of the last process or job waited for.
returns its exit status. If the --ff option is supplied, and job
control is enabled, wwaaiitt forces _i_d to terminate before returning
its status, intead of returning when it changes status. If _i_d
specifies a non-existent process or job, the return status is
127. Otherwise, the return status is the exit status of the
last process or job waited for.
SSEEEE AALLSSOO
bash(1), sh(1)
+535 -511
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
%%CreationDate: Wed Aug 31 10:24:00 2016
%%CreationDate: Wed Feb 1 09:18:06 2017
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.22 3
+4 -4
View File
@@ -1,11 +1,11 @@
@ignore
Copyright (C) 1988-2016 Free Software Foundation, Inc.
Copyright (C) 1988-2017 Free Software Foundation, Inc.
@end ignore
@set LASTCHANGE Fri Dec 16 11:45:56 EST 2016
@set LASTCHANGE Wed Feb 1 09:09:18 EST 2017
@set EDITION 4.4
@set VERSION 4.4
@set UPDATED 16 December 2016
@set UPDATED-MONTH December 2016
@set UPDATED 1 February 2017
@set UPDATED-MONTH February 2017
+4 -1
View File
@@ -103,7 +103,7 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/lib -I$(topdir)/builtins -I${srcdir} \
ALLPROG = print truefalse sleep finfo logname basename dirname \
tty pathchk tee head mkdir rmdir printenv id whoami \
uname sync push ln unlink realpath strftime mypid setpgid
OTHERPROG = necho hello cat pushd stat rm
OTHERPROG = necho hello cat pushd stat rm fdflags
all: $(SHOBJ_STATUS)
@@ -145,6 +145,9 @@ cat: cat.o
rm: rm.o
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ rm.o $(SHOBJ_LIBS)
fdflags: fdflags.o
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ fdflags.o $(SHOBJ_LIBS)
logname: logname.o
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ logname.o $(SHOBJ_LIBS)
+336
View File
@@ -0,0 +1,336 @@
/* Loadable builtin to get and set file descriptor flags. */
/* See Makefile for compilation details. */
/*
Copyright (C) 2017 Free Software Foundation, Inc.
This file is part of GNU Bash.
Bash is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Bash is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
#include <config.h>
#if defined (HAVE_UNISTD_H)
# include <unistd.h>
#endif
#include <fcntl.h>
#include <errno.h>
#include "bashansi.h"
#include <stdio.h>
#include "loadables.h"
static const struct
{
const char *name;
int value;
} file_flags[] =
{
#ifdef O_APPEND
{ "append", O_APPEND },
#endif
#ifdef O_ASYNC
{ "async", O_ASYNC },
#endif
#ifdef O_SYNC
{ "sync", O_SYNC },
#endif
#ifdef O_NONBLOCK
{ "nonblock", O_NONBLOCK },
#endif
#ifdef O_FSYNC
{ "fsync", O_FSYNC },
#endif
#ifdef O_DSYNC
{ "dsync", O_DSYNC },
#endif
#ifdef O_RSYNC
{ "rsync", O_RSYNC },
#endif
#ifdef O_ALT_IO
{ "altio", O_ALT_IO },
#endif
#ifdef O_DIRECT
{ "direct", O_DIRECT },
#endif
#ifdef O_NOATIME
{ "noatime", O_NOATIME },
#endif
#ifdef O_NOSIGPIPE
{ "nosigpipe", O_NOSIGPIPE },
#endif
#ifdef O_CLOEXEC
{ "cloexec", O_CLOEXEC },
#endif
};
#define N_FLAGS (sizeof (file_flags) / sizeof (file_flags[0]))
#ifndef errno
extern int errno;
#endif
/* FIX THIS */
static int
getallflags ()
{
int i, allflags;
for (i = allflags = 0; i < N_FLAGS; i++)
allflags |= file_flags[i].value;
return allflags;
}
static int
getflags(int fd, int p)
{
int c, f;
int allflags;
if ((c = fcntl(fd, F_GETFD)) == -1)
{
if (p)
builtin_error("can't get status for fd %d: %s", fd, strerror(errno));
return -1;
}
if ((f = fcntl(fd, F_GETFL)) == -1)
{
if (p)
builtin_error("Can't get flags for fd %d: %s", fd, strerror(errno));
return -1;
}
if (c)
f |= O_CLOEXEC;
return f & getallflags();
}
static void
printone(int fd, int p, int verbose)
{
int f;
size_t i;
if ((f = getflags(fd, p)) == -1)
return;
printf ("%d:", fd);
for (i = 0; i < N_FLAGS; i++)
{
if (f & file_flags[i].value)
{
printf ("%s%s", verbose ? "+" : "", file_flags[i].name);
f &= ~file_flags[i].value;
}
else if (verbose)
printf ( "-%s", file_flags[i].name);
else
continue;
if (f || (verbose && i != N_FLAGS - 1))
putchar (',');
}
printf ("\n");
}
static int
parseflags(char *s, int *p, int *n)
{
int f, *v;
size_t i;
f = 0;
*p = *n = 0;
for (s = strtok(s, ","); s; s = strtok(NULL, ","))
{
switch (*s)
{
case '+':
v = p;
s++;
break;
case '-':
v = n;
s++;
break;
default:
v = &f;
break;
}
for (i = 0; i < N_FLAGS; i++)
if (strcmp(s, file_flags[i].name) == 0)
{
*v |= file_flags[i].value;
break;
}
if (i == N_FLAGS)
builtin_error("invalid flag `%s'", s);
}
return f;
}
static void
setone(int fd, char *v, int verbose)
{
int f, n, pos, neg, cloexec;
f = getflags(fd, 1);
if (f == -1)
return;
parseflags(v, &pos, &neg);
cloexec = -1;
if ((pos & O_CLOEXEC) && (f & O_CLOEXEC) == 0)
cloexec = FD_CLOEXEC;
if ((neg & O_CLOEXEC) && (f & O_CLOEXEC))
cloexec = 0;
if (cloexec != -1 && fcntl(fd, F_SETFD, cloexec) == -1)
builtin_error("can't set status for fd %d: %s", fd, strerror(errno));
pos &= ~O_CLOEXEC;
neg &= ~O_CLOEXEC;
f &= ~O_CLOEXEC;
n = f;
n |= pos;
n &= ~neg;
if (n != f && fcntl(fd, F_SETFL, n) == -1)
builtin_error("can't set flags for fd %d: %s", fd, strerror(errno));
}
static int
getmaxfd ()
{
int maxfd, ignore;
#ifdef F_MAXFD
maxfd = fcntl (0, F_MAXFD);
if (maxfd > 0)
return maxfd;
#endif
maxfd = getdtablesize ();
if (maxfd <= 0)
maxfd = HIGH_FD_MAX;
for (maxfd--; maxfd > 0; maxfd--)
if (fcntl (maxfd, F_GETFD, &ignore) != -1)
break;
return maxfd;
}
int
fdflags_builtin (WORD_LIST *list)
{
int opt, maxfd, i, num, verbose, setflag;
char *setspec;
WORD_LIST *l;
intmax_t inum;
setflag = verbose = 0;
reset_internal_getopt ();
while ((opt = internal_getopt (list, "s:v")) != -1)
{
switch (opt)
{
case 's':
setflag = 1;
setspec = list_optarg;
break;
case 'v':
verbose = 1;
break;
CASE_HELPOPT;
default:
builtin_usage ();
return (EX_USAGE);
}
}
list = loptend;
/* Maybe we could provide some default here, but we don't yet. */
if (list == 0 && setflag)
return (EXECUTION_SUCCESS);
if (list == 0)
{
maxfd = getmaxfd ();
if (maxfd < 0)
{
builtin_error ("can't get max fd: %s", strerror (errno));
return (EXECUTION_FAILURE);
}
for (i = 0; i < maxfd; i++)
printone (i, 0, verbose);
return (EXECUTION_SUCCESS);
}
opt = EXECUTION_SUCCESS;
for (l = list; l; l = l->next)
{
if (legal_number (l->word->word, &inum) == 0 || inum < 0)
{
builtin_error ("%s: invalid file descriptor", l->word->word);
opt = EXECUTION_FAILURE;
continue;
}
num = inum; /* truncate to int */
if (setflag)
setone (num, setspec, verbose);
else
printone (num, 1, verbose);
}
return (opt);
}
char *fdflags_doc[] =
{
"Display and modify file descriptor flags.",
"",
"Display or, if the -s option is supplied, set flags for each file",
"descriptor supplied as an argument. If the -v option is supplied,",
"the display is verbose, including each settable option name in the",
"form of a string such as that accepted by the -s option.",
"",
"The -s option accepts a string with a list of flag names, each preceded",
"by a `+' (set) or `-' (unset). Those changes are applied to each file",
"descriptor supplied as an argument.",
"",
"If no file descriptor arguments are supplied, the displayed information",
"consists of the status of flags for each of the shell's open files.",
(char *)NULL
};
/* The standard structure describing a builtin command. bash keeps an array
of these structures. The flags must include BUILTIN_ENABLED so the
builtin can be used. */
struct builtin fdflags_struct = {
"fdflags", /* builtin name */
fdflags_builtin, /* function implementing the builtin */
BUILTIN_ENABLED, /* initial flags for builtin */
fdflags_doc, /* array of long documentation strings. */
"fdflags [-v] [-s flags_string] [fd ...]", /* usage synopsis; becomes short_doc */
0 /* reserved for internal use */
};
+41 -13
View File
@@ -3,7 +3,7 @@
/* This file works with both POSIX and BSD systems. It implements job
control. */
/* Copyright (C) 1989-2016 Free Software Foundation, Inc.
/* Copyright (C) 1989-2017 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -2321,8 +2321,8 @@ find_last_pid (job, block)
This low-level function prints an error message if PID is not
a child of this shell. It returns -1 if it fails, or whatever
wait_for returns otherwise. If the child is not found in the
jobs table, it returns 127. If FLAGS doesn't include 1, we
suppress the error message if PID isn't found. */
jobs table, it returns 127. If FLAGS doesn't include JWAIT_PERROR,
we suppress the error message if PID isn't found. */
int
wait_for_single_pid (pid, flags)
@@ -2331,7 +2331,7 @@ wait_for_single_pid (pid, flags)
{
register PROCESS *child;
sigset_t set, oset;
int r, job;
int r, job, alive;
BLOCK_CHILD (set, oset);
child = find_pipeline (pid, 0, (int *)NULL);
@@ -2346,12 +2346,23 @@ wait_for_single_pid (pid, flags)
if (child == 0)
{
if (flags & 1)
if (flags & JWAIT_PERROR)
internal_error (_("wait: pid %ld is not a child of this shell"), (long)pid);
return (127);
}
r = wait_for (pid);
alive = 0;
do
{
r = wait_for (pid);
if ((flags & JWAIT_FORCE) == 0)
break;
BLOCK_CHILD (set, oset);
alive = PALIVE (child);
UNBLOCK_CHILD (oset);
}
while (alive);
/* POSIX.2: if we just waited for a job, we can remove it from the jobs
table. */
@@ -2411,7 +2422,7 @@ wait_for_background_pids ()
UNBLOCK_CHILD (oset);
QUIT;
errno = 0; /* XXX */
r = wait_for_single_pid (pid, 1);
r = wait_for_single_pid (pid, JWAIT_PERROR);
if (r == -1 && errno == ECHILD)
{
/* If we're mistaken about job state, compensate. */
@@ -2941,22 +2952,39 @@ wait_for_return:
/* Wait for the last process in the pipeline for JOB. Returns whatever
wait_for returns: the last process's termination state or -1 if there
are no unwaited-for child processes or an error occurs. */
are no unwaited-for child processes or an error occurs. If FLAGS
includes JWAIT_FORCE, we wait for the job to terminate, no just change
state */
int
wait_for_job (job)
wait_for_job (job, flags)
int job;
{
pid_t pid;
int r;
int r, state;
sigset_t set, oset;
BLOCK_CHILD(set, oset);
if (JOBSTATE (job) == JSTOPPED)
state = JOBSTATE (job);
if (state == JSTOPPED)
internal_warning (_("wait_for_job: job %d is stopped"), job+1);
pid = find_last_pid (job, 0);
UNBLOCK_CHILD(oset);
r = wait_for (pid);
do
{
r = wait_for (pid);
if (r == -1 && errno == ECHILD)
mark_all_jobs_as_dead ();
if ((flags & JWAIT_FORCE) == 0)
break;
BLOCK_CHILD (set, oset);
state = (job != NO_JOB && jobs[job]) ? JOBSTATE (job) : JDEAD;
UNBLOCK_CHILD (oset);
}
while (state != JDEAD);
/* POSIX.2: we can remove the job from the jobs table if we just waited
for it. */
@@ -2973,7 +3001,7 @@ wait_for_job (job)
the next exiting job, -1 if there are no background jobs. The caller
is responsible for translating -1 into the right return value. */
int
wait_for_any_job ()
wait_for_any_job (flags)
{
pid_t pid;
int i, r, waited_for;
+7 -3
View File
@@ -1,6 +1,6 @@
/* jobs.h -- structures and definitions used by the jobs.c file. */
/* Copyright (C) 1993-2015 Free Software Foundation, Inc.
/* Copyright (C) 1993-2017 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -38,6 +38,10 @@
/* I looked it up. For pretty_print_job (). The real answer is 24. */
#define LONGEST_SIGNAL_DESC 24
/* Defines for the wait_for functions and for the wait builtin to use */
#define JWAIT_PERROR 0x01
#define JWAIT_FORCE 0x02
/* The max time to sleep while retrying fork() on EAGAIN failure */
#define FORKSLEEP_MAX 16
@@ -240,8 +244,8 @@ extern int job_exit_signal __P((int));
extern int wait_for_single_pid __P((pid_t, int));
extern void wait_for_background_pids __P((void));
extern int wait_for __P((pid_t));
extern int wait_for_job __P((int));
extern int wait_for_any_job __P((void));
extern int wait_for_job __P((int, int));
extern int wait_for_any_job __P((int));
extern void wait_sigint_cleanup __P((void));
+15 -2
View File
@@ -6,9 +6,9 @@
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
.\" Last Change: Wed Nov 30 10:06:13 PST 2016
.\" Last Change: Fri Feb 3 16:02:47 EST 2017
.\"
.TH READLINE 3 "2016 November 30" "GNU Readline 7.0"
.TH READLINE 3 "2017 February 3" "GNU Readline 7.0"
.\"
.\" File Name macro. This used to be `.PN', for Path Name,
.\" but Sun doesn't seem to like that very much.
@@ -771,6 +771,19 @@ alphanumeric characters (letters and digits).
Move back to the start of the current or previous word. Words are
composed of alphanumeric characters (letters and digits).
.TP
.B previous\-screen\-line
Attempt to move point to the same physical screen column on the previous
physical screen line. This will not have the desired effect if the current
Readline line does not take up more than one physical line or if point is not
greater than the length of the prompt plus the screen width.
.TP
.B next\-screen\-line
Attempt to move point to the same physical screen column on the next
physical screen line. This will not have the desired effect if the current
Readline line does not take up more than one physical line or if the length
of the current Readline line is not greater than the length of the prompt
plus the screen width.
.TP
.B clear\-screen (C\-l)
Clear the screen leaving the current line at the top of the screen.
With an argument, refresh the current line without clearing the
+13
View File
@@ -1138,6 +1138,19 @@ Move back to the start of the current or previous word.
Words are delimited by non-quoted shell metacharacters.
@end ifset
@item previous-screen-line ()
Attempt to move point to the same physical screen column on the previous
physical screen line. This will not have the desired effect if the current
Readline line does not take up more than one physical line or if point is not
greater than the length of the prompt plus the screen width.
@item next-screen-line ()
Attempt to move point to the same physical screen column on the next
physical screen line. This will not have the desired effect if the current
Readline line does not take up more than one physical line or if the length
of the current Readline line is not greater than the length of the prompt
plus the screen width.
@item clear-screen (C-l)
Clear the screen and redraw the current line,
leaving the current line at the top of the screen.
+4 -4
View File
@@ -1,10 +1,10 @@
@ignore
Copyright (C) 1988-2016 Free Software Foundation, Inc.
Copyright (C) 1988-2017 Free Software Foundation, Inc.
@end ignore
@set EDITION 7.0
@set VERSION 7.0
@set UPDATED 30 November 2016
@set UPDATED-MONTH November 2016
@set UPDATED 3 February 2017
@set UPDATED-MONTH February 2017
@set LASTCHANGE Wed Nov 30 10:06:36 PST 2016
@set LASTCHANGE Fri Feb 3 15:59:51 EST 2017
+2
View File
@@ -110,6 +110,7 @@ static const FUNMAP default_funmap[] = {
{ "menu-complete", rl_menu_complete },
{ "menu-complete-backward", rl_backward_menu_complete },
{ "next-history", rl_get_next_history },
{ "next-screen-line", rl_next_screen_line },
{ "non-incremental-forward-search-history", rl_noninc_forward_search },
{ "non-incremental-reverse-search-history", rl_noninc_reverse_search },
{ "non-incremental-forward-search-history-again", rl_noninc_forward_search_again },
@@ -121,6 +122,7 @@ static const FUNMAP default_funmap[] = {
#endif
{ "possible-completions", rl_possible_completions },
{ "previous-history", rl_get_previous_history },
{ "previous-screen-line", rl_previous_screen_line },
{ "print-last-kbd-macro", rl_print_last_kbd_macro },
{ "quoted-insert", rl_quoted_insert },
{ "re-read-init-file", rl_re_read_init_file },
+2 -2
View File
@@ -450,14 +450,14 @@ rl_read_key ()
if (rl_pending_input)
{
c = rl_pending_input;
c = rl_pending_input; /* XXX - cast to unsigned char if > 0? */
rl_clear_pending_input ();
}
else
{
/* If input is coming from a macro, then use that. */
if (c = _rl_next_macro_key ())
return (c);
return ((unsigned char)c);
/* If the user has an event function, then call it periodically. */
if (rl_event_hook)
+3
View File
@@ -98,6 +98,9 @@ extern int rl_clear_screen PARAMS((int, int));
extern int rl_skip_csi_sequence PARAMS((int, int));
extern int rl_arrow_keys PARAMS((int, int));
extern int rl_previous_screen_line PARAMS((int, int));
extern int rl_next_screen_line PARAMS((int, int));
/* Bindable commands for inserting and deleting text. */
extern int rl_insert PARAMS((int, int));
extern int rl_quoted_insert PARAMS((int, int));
+18
View File
@@ -598,6 +598,24 @@ rl_clear_screen (count, key)
return 0;
}
int
rl_previous_screen_line (count, key)
{
int c;
c = _rl_term_autowrap ? _rl_screenwidth : (_rl_screenwidth + 1);
return (rl_backward_char (c, key));
}
int
rl_next_screen_line (count, key)
{
int c;
c = _rl_term_autowrap ? _rl_screenwidth : (_rl_screenwidth + 1);
return (rl_forward_char (c, key));
}
int
rl_skip_csi_sequence (count, key)
int count, key;
+2 -2
View File
@@ -3625,7 +3625,7 @@ parse_dollar_word:
FREE (nestret);
}
if MBTEST(ch == '$')
if MBTEST(ch == '$' && (tflags & LEX_WASDOL) == 0)
tflags |= LEX_WASDOL;
else
tflags &= ~LEX_WASDOL;
@@ -4212,7 +4212,7 @@ eof_error:
FREE (nestret);
}
if MBTEST(ch == '$')
if MBTEST(ch == '$' && (tflags & LEX_WASDOL) == 0)
tflags |= LEX_WASDOL;
else
tflags &= ~LEX_WASDOL;
+6
View File
@@ -52,3 +52,9 @@ echo $( # we just took and pasted in some
# command substitution
echo xyz
)
# problem with parse_comsub through bash-4.4
case $(echo $$'x\nx') in
x*) echo bad 7;;
*) echo ok 7;;
esac