new getconf shell builtin

This commit is contained in:
Chet Ramey
2021-11-30 10:41:22 -05:00
parent 25e43d2c0a
commit fffe80d438
40 changed files with 10423 additions and 8881 deletions
+13 -4
View File
@@ -2,11 +2,11 @@ Compatibility with previous versions
====================================
This document details the incompatibilities between this version of bash,
bash-5.1, and the previous widely-available versions, bash-3.2 (which is
bash-5.2, and the previous widely-available versions, bash-3.2 (which is
still the `standard' version for Mac OS X), 4.2/4.3 (which are still
standard on a few Linux distributions), and bash-4.4/bash-5.0, the current
widely-available versions. These were discovered by users of bash-2.x
through 5.x, so this list is not comprehensive. Some of these
standard on a few Linux distributions), and bash-4.4/bash-5.0/bash-5.1,
the current widely-available versions. These were discovered by users of
bash-2.x through 5.x, so this list is not comprehensive. Some of these
incompatibilities occur between the current version and versions 2.0 and
above.
@@ -419,6 +419,14 @@ above.
options that posix mode modifies to the state they had before enabling
posix mode. Previous versions restored these options to default values.
66. Bash-5.2 attempts to prevent double-expansion of array subscripts under
certain circumstances, especially arithmetic evaluation, by acting as if
the `assoc_expand_once' shell option were set.
67. The `unset' builtin in bash-5.2 treats array subscripts `@' and `*'
differently than previous versions, and differently depending on whether
the array is indexed or associative.
Shell Compatibility Level
=========================
@@ -543,6 +551,7 @@ compat50 (set using BASH_COMPAT)
output in a format that can be reused as input (-l). Bash-5.1
suppresses that message if -l is supplied
compat51 (set using BASH_COMPAT)
-------------------------------------------------------------------------------
+43 -1
View File
@@ -2448,7 +2448,8 @@ configure.ac,patchlevel.h
quotearray3.sub, new-exp10.sub, history2.sub). The first three are
because bash-5.2 flushes an indexed array but does not unset the
variable when given `unset a[@]' or `unset[*]' (that is, it acts
like `a=()' instead of `unset a').
like `a=()' instead of `unset a'); the other two are because the
version number changed
11/8
----
@@ -2502,3 +2503,44 @@ subst.c
attribute that modifies the value on assignment. Reported back on
1/20/2021 by oguzismailuysal@gmail.com; bash-5.2 tag removed
11/22
-----
doc/{bashref.texi,bash.1}
- unset: change the description of `unset name[@]' (unset name[*])
to reflect the new behavior (unset associative array subscripts or
remove all elements from an indexed array) and the difference from
previous versions
- set: document -r for restricted shell mode
- restricted shell: change occurrences of `set +o restricted' to
`shopt -u restricted_shell'. From a report from
Jin Xiang <jxiang.sd@gmail.com>
- read: note that read -t0 may return 0 if a subsequent read will
return EOF. From a suggestion by Dale R. Worley
<worley@alum.mit.edu>
execute_cmd.c
- execute_arith_command,eval_arith_for_expr: don't pass EXP_EXPANDED
to evalexp if shell_compatibility_level > 5.1, assuming that the
expression has been quoted by Q_ARITH handling
test.c
- test_arithcomp: if we're being called by the conditional command
code and treating the arguments to the arithmetic operators as
expressions, don't pass EXP_EXPANDED to evalexp if the shell
compatibility level is > 5.1, assuming that the expression has been
quoted by Q_ARITH handling
11/29
-----
examples/loadables/getconf.[ch]
- getconf: new implementation of loadable builtin, based on glibc
getconf
examples/loadables/sleep.c
- parse_gnutimefmt: parse GNU interval format (2m30s), returning
seconds and microseconds like uconvert
- sleep: use parse_gnutimefmt if uconvert can't parse the format right
away and "dhms" appears in the format string. Don't return
EX_DISKFALLBACK under any circumstances
+2 -2
View File
@@ -725,8 +725,8 @@ examples/loadables/setpgid.c f
examples/loadables/sleep.c f
examples/loadables/strftime.c f
examples/loadables/truefalse.c f
#examples/loadables/getconf.h f
#examples/loadables/getconf.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
+2 -1
View File
@@ -29,7 +29,8 @@ with the exception that the following are disallowed or not performed:
* Using the 'enable' builtin command to enable disabled shell
builtins.
* Specifying the '-p' option to the 'command' builtin.
* Turning off restricted mode with 'set +r' or 'set +o restricted'.
* Turning off restricted mode with 'set +r' or 'shopt -u
restricted_shell'.
These restrictions are enforced after any startup files are read.
+1 -1
View File
@@ -404,7 +404,7 @@ declare_internal (list, local_var)
name = savestring (list->word->word);
wflags = list->word->flags;
#if defined (ARRAY_VARS)
assoc_noexpand = (assoc_expand_once || expand_once_flag) && (wflags & W_ASSIGNMENT);
assoc_noexpand = assoc_expand_once && (wflags & W_ASSIGNMENT);
#else
assoc_noexpand = 0;
#endif
+2102 -2089
View File
File diff suppressed because it is too large Load Diff
+31 -8
View File
@@ -5,12 +5,12 @@
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
.\" Last Change: Tue Nov 16 09:55:55 EST 2021
.\" Last Change: Mon Nov 22 09:58:49 EST 2021
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
.TH BASH 1 "2021 November 16" "GNU Bash 5.1"
.TH BASH 1 "2021 November 22" "GNU Bash 5.2"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
@@ -2828,9 +2828,15 @@ destroys the array element at index \fIsubscript\fP,
for both indexed and associative arrays.
Negative subscripts to indexed arrays are interpreted as described above.
Unsetting the last element of an array variable does not unset the variable.
\fBunset\fP \fIname\fP, where \fIname\fP is an array, or
\fBunset\fP \fIname\fP, where \fIname\fP is an array,
removes the entire array.
\fBunset\fP \fIname\fP[\fIsubscript\fP], where
\fIsubscript\fP is \fB*\fP or \fB@\fP, removes the entire array.
\fIsubscript\fP is \fB*\fP or \fB@\fP, behaves differently depending on
whether \fIname\fP is an indexed or associative array.
If \fIname\fP is an associative array, this unsets the element with
subscript \fB*\fP or \fB@\fP.
If \fIname\fP is an indexed array, unset removes all of the elements but
does not remove the array itself.
.PP
When using a variable name with a subscript as an argument to a command,
such as with \fBunset\fP, without using the word expansion syntax
@@ -9562,8 +9568,10 @@ from regular files.
If \fBread\fP times out, \fBread\fP saves any partial input read into
the specified variable \fIname\fP.
If \fItimeout\fP is 0, \fBread\fP returns immediately, without trying to
read any data. The exit status is 0 if input is available on
the specified file descriptor, non-zero otherwise.
read any data.
The exit status is 0 if input is available on the specified file descriptor,
or the read will return EOF,
non-zero otherwise.
The exit status is greater than 128 if the timeout is exceeded.
.TP
.B \-u \fIfd\fP
@@ -9936,6 +9944,10 @@ not reset.
Turning this option off causes the effective user
and group ids to be set to the real user and group ids.
.TP 8
.B \-r
Enable restricted shell mode.
This option cannot be unset once it has been set.
.TP 8
.B \-t
Exit after reading and executing one command.
.TP 8
@@ -10512,7 +10524,8 @@ expansion, and quote removal after being expanded as described in
above. This option is enabled by default.
.TP 8
.B restricted_shell
The shell sets this option if it is started in restricted mode (see
The shell sets this option if it is started in restricted mode
(see
.SM
.B "RESTRICTED SHELL"
below).
@@ -11335,6 +11348,16 @@ output that can be reused as input. Bash-5.1 suppresses that message
when the \fB\-l\fP option is supplied.
.RE
.PD
.TP
\fBcompat51\fP
.PD 0
.RS
.IP \(bu
The \fBunset\fP builtin treats attempts to unset array subscripts \fB@\fP
and \fB*\fP differently depending on whether the array is indexed or
associative, and differently than in previous versions.
.RE
.PD
.\" bash_builtins
.if \n(zZ=1 .ig zZ
.SH "RESTRICTED SHELL"
@@ -11419,7 +11442,7 @@ option to the
builtin command
.IP \(bu
turning off restricted mode with
\fBset +r\fP or \fBset +o restricted\fP.
\fBset +r\fP or \fBshopt -u restricted_shell\fP.
.PP
These restrictions are enforced after any startup files are read.
.PP
+34 -9
View File
@@ -3,7 +3,7 @@
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2021 November 16<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2021 November 22<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
@@ -3566,9 +3566,15 @@ destroys the array element at index <I>subscript</I>,
for both indexed and associative arrays.
Negative subscripts to indexed arrays are interpreted as described above.
Unsetting the last element of an array variable does not unset the variable.
<B>unset</B> <I>name</I>, where <I>name</I> is an array, or
<B>unset</B> <I>name</I>, where <I>name</I> is an array,
removes the entire array.
<B>unset</B> <I>name</I>[<I>subscript</I>], where
<I>subscript</I> is <B>*</B> or <B>@</B>, removes the entire array.
<I>subscript</I> is <B>*</B> or <B>@</B>, behaves differently depending on
whether <I>name</I> is an indexed or associative array.
If <I>name</I> is an associative array, this unsets the element with
subscript <B>*</B> or <B>@</B>.
If <I>name</I> is an indexed array, unset removes all of the elements but
does not remove the array itself.
<P>
When using a variable name with a subscript as an argument to a command,
@@ -12021,8 +12027,10 @@ from regular files.
If <B>read</B> times out, <B>read</B> saves any partial input read into
the specified variable <I>name</I>.
If <I>timeout</I> is 0, <B>read</B> returns immediately, without trying to
read any data. The exit status is 0 if input is available on
the specified file descriptor, non-zero otherwise.
read any data.
The exit status is 0 if input is available on the specified file descriptor,
or the read will return EOF,
non-zero otherwise.
The exit status is greater than 128 if the timeout is exceeded.
<DT><B>-u </B><I>fd</I>
@@ -12503,6 +12511,11 @@ If the <B>-p</B> option is supplied at startup, the effective user id is
not reset.
Turning this option off causes the effective user
and group ids to be set to the real user and group ids.
<DT><B>-r</B>
<DD>
Enable restricted shell mode.
This option cannot be unset once it has been set.
<DT><B>-t</B>
<DD>
@@ -13245,7 +13258,8 @@ above. This option is enabled by default.
<DT><B>restricted_shell</B>
<DD>
The shell sets this option if it is started in restricted mode (see
The shell sets this option if it is started in restricted mode
(see
<FONT SIZE=-1><B>RESTRICTED SHELL</B>
</FONT>
@@ -14262,6 +14276,17 @@ when the <B>-l</B> option is supplied.
</DL></DL>
<DT><B>compat51</B><DD>
<DL COMPACT><DT><DD>
<DL COMPACT>
<DT>*<DD>
The <B>unset</B> builtin treats attempts to unset array subscripts <B>@</B>
and <B>*</B> differently depending on whether the array is indexed or
associative, and differently than in previous versions.
</DL></DL>
</DL>
@@ -14373,7 +14398,7 @@ option to the
builtin command
<DT>*<DD>
turning off restricted mode with
<B>set +r</B> or <B>set +o restricted</B>.
<B>set +r</B> or <B>shopt -u restricted_shell</B>.
</DL>
<P>
@@ -14563,7 +14588,7 @@ There may be only one active coprocess at a time.
<HR>
<TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>GNU Bash 5.1<TH ALIGN=CENTER width=33%>2021 November 16<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>GNU Bash 5.2<TH ALIGN=CENTER width=33%>2021 November 22<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
@@ -14670,6 +14695,6 @@ There may be only one active coprocess at a time.
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
Time: 16 November 2021 10:03:07 EST
Time: 22 November 2021 11:02:25 EST
</BODY>
</HTML>
+115 -97
View File
@@ -1,10 +1,10 @@
This is bash.info, produced by makeinfo version 6.8 from bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.1, 16 November 2021).
Bash shell (version 5.2, 22 November 2021).
This is Edition 5.1, last updated 16 November 2021, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.1.
This is Edition 5.2, last updated 22 November 2021, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.2.
Copyright (C) 1988-2021 Free Software Foundation, Inc.
@@ -26,11 +26,11 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 5.1, 16 November 2021). The Bash home page is
Bash shell (version 5.2, 22 November 2021). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.1, last updated 16 November 2021, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.1.
This is Edition 5.2, last updated 22 November 2021, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.2.
Bash contains features that appear in other popular shells, and some
features that only appear in Bash. Some of the shells that Bash has
@@ -4173,8 +4173,9 @@ standard.
partial input read into the specified variable NAME. If
TIMEOUT is 0, 'read' returns immediately, without trying to
read any data. The exit status is 0 if input is available on
the specified file descriptor, non-zero otherwise. The exit
status is greater than 128 if the timeout is exceeded.
the specified file descriptor, or the read will return EOF,
non-zero otherwise. The exit status is greater than 128 if
the timeout is exceeded.
'-u FD'
Read input from file descriptor FD.
@@ -4556,6 +4557,10 @@ parameters, or to display the names and values of shell variables.
causes the effective user and group ids to be set to the real
user and group ids.
'-r'
Enable restricted shell mode. This option cannot be unset
once it has been set.
'-t'
Exit after reading and executing one command.
@@ -6254,9 +6259,11 @@ several ways.
19. Parser syntax errors will not cause the shell to exit.
20. Simple spelling correction for directory arguments to the 'cd'
builtin is enabled by default (see the description of the 'cdspell'
option to the 'shopt' builtin in *note The Shopt Builtin::).
20. If the 'cdspell' shell option is enabled, the shell will attempt
simple spelling correction for directory arguments to the 'cd'
builtin (see the description of the 'cdspell' option to the 'shopt'
builtin in *note The Shopt Builtin::). The 'cdspell' option is
only effective in interactive shells.
21. The shell will check the value of the 'TMOUT' variable and exit if
a command is not read within the specified number of seconds after
@@ -6664,7 +6671,11 @@ NAME[SUBSCRIPT]' destroys the array element at index SUBSCRIPT.
Negative subscripts to indexed arrays are interpreted as described
above. Unsetting the last element of an array variable does not unset
the variable. 'unset NAME', where NAME is an array, removes the entire
array. A subscript of '*' or '@' also removes the entire array.
array. 'unset NAME[SUBSCRIPT]' behaves differently depending on the
array type when given a subscript of '*' or '@'. When NAME is an
associative array, it removes the element with key '*' or '@'. If NAME
is an indexed array, 'unset' removes all of the elements, but does not
remove the array itself.
When using a variable name with a subscript as an argument to a
command, such as with 'unset', without using the word expansion syntax
@@ -6930,7 +6941,8 @@ with the exception that the following are disallowed or not performed:
* Using the 'enable' builtin command to enable disabled shell
builtins.
* Specifying the '-p' option to the 'command' builtin.
* Turning off restricted mode with 'set +r' or 'set +o restricted'.
* Turning off restricted mode with 'set +r' or 'shopt -u
restricted_shell'.
These restrictions are enforced after any startup files are read.
@@ -7336,6 +7348,12 @@ required for bash-5.1 and later versions.
when producing output that can be reused as input. Bash-5.1
suppresses that message when the '-l' option is supplied.
'compat51 (set using BASH_COMPAT)'
* The 'unset' builtin treats attempts to unset array subscripts
'@' and '*' differently depending on whether the array is
indexed or associative, and differently than in previous
versions.

File: bash.info, Node: Job Control, Next: Command Line Editing, Prev: Bash Features, Up: Top
@@ -11689,7 +11707,7 @@ D.1 Index of Shell Builtin Commands
* pwd: Bourne Shell Builtins.
(line 211)
* read: Bash Builtins. (line 488)
* readarray: Bash Builtins. (line 584)
* readarray: Bash Builtins. (line 585)
* readonly: Bourne Shell Builtins.
(line 221)
* return: Bourne Shell Builtins.
@@ -11698,7 +11716,7 @@ D.1 Index of Shell Builtin Commands
* shift: Bourne Shell Builtins.
(line 261)
* shopt: The Shopt Builtin. (line 9)
* source: Bash Builtins. (line 593)
* source: Bash Builtins. (line 594)
* suspend: Job Control Builtins.
(line 113)
* test: Bourne Shell Builtins.
@@ -11707,12 +11725,12 @@ D.1 Index of Shell Builtin Commands
(line 359)
* trap: Bourne Shell Builtins.
(line 365)
* type: Bash Builtins. (line 598)
* typeset: Bash Builtins. (line 630)
* ulimit: Bash Builtins. (line 636)
* type: Bash Builtins. (line 599)
* typeset: Bash Builtins. (line 631)
* ulimit: Bash Builtins. (line 637)
* umask: Bourne Shell Builtins.
(line 414)
* unalias: Bash Builtins. (line 742)
* unalias: Bash Builtins. (line 743)
* unset: Bourne Shell Builtins.
(line 432)
* wait: Job Control Builtins.
@@ -12428,84 +12446,84 @@ Node: Shell Scripts132585
Node: Shell Builtin Commands135609
Node: Bourne Shell Builtins137644
Node: Bash Builtins159102
Node: Modifying Shell Behavior189916
Node: The Set Builtin190258
Node: The Shopt Builtin200685
Node: Special Builtins216396
Node: Shell Variables217372
Node: Bourne Shell Variables217806
Node: Bash Variables219907
Node: Bash Features252719
Node: Invoking Bash253729
Node: Bash Startup Files259739
Node: Interactive Shells264839
Node: What is an Interactive Shell?265246
Node: Is this Shell Interactive?265892
Node: Interactive Shell Behavior266704
Node: Bash Conditional Expressions270214
Node: Shell Arithmetic274853
Node: Aliases277794
Node: Arrays280404
Node: The Directory Stack286410
Node: Directory Stack Builtins287191
Node: Controlling the Prompt291448
Node: The Restricted Shell294410
Node: Bash POSIX Mode297004
Node: Shell Compatibility Mode308274
Node: Job Control314927
Node: Job Control Basics315384
Node: Job Control Builtins320383
Node: Job Control Variables325780
Node: Command Line Editing326933
Node: Introduction and Notation328601
Node: Readline Interaction330221
Node: Readline Bare Essentials331409
Node: Readline Movement Commands333189
Node: Readline Killing Commands334146
Node: Readline Arguments336061
Node: Searching337102
Node: Readline Init File339285
Node: Readline Init File Syntax340543
Node: Conditional Init Constructs362028
Node: Sample Init File366221
Node: Bindable Readline Commands369342
Node: Commands For Moving370543
Node: Commands For History372591
Node: Commands For Text377582
Node: Commands For Killing381228
Node: Numeric Arguments384258
Node: Commands For Completion385394
Node: Keyboard Macros389582
Node: Miscellaneous Commands390266
Node: Readline vi Mode396202
Node: Programmable Completion397106
Node: Programmable Completion Builtins404883
Node: A Programmable Completion Example415575
Node: Using History Interactively420819
Node: Bash History Facilities421500
Node: Bash History Builtins424502
Node: History Interaction429507
Node: Event Designators433124
Node: Word Designators434475
Node: Modifiers436232
Node: Installing Bash438040
Node: Basic Installation439174
Node: Compilers and Options442893
Node: Compiling For Multiple Architectures443631
Node: Installation Names445321
Node: Specifying the System Type447427
Node: Sharing Defaults448140
Node: Operation Controls448810
Node: Optional Features449765
Node: Reporting Bugs460855
Node: Major Differences From The Bourne Shell462127
Node: GNU Free Documentation License478974
Node: Indexes504148
Node: Builtin Index504599
Node: Reserved Word Index511423
Node: Variable Index513868
Node: Function Index530357
Node: Concept Index544138
Node: Modifying Shell Behavior189955
Node: The Set Builtin190297
Node: The Shopt Builtin200836
Node: Special Builtins216547
Node: Shell Variables217523
Node: Bourne Shell Variables217957
Node: Bash Variables220058
Node: Bash Features252870
Node: Invoking Bash253880
Node: Bash Startup Files259890
Node: Interactive Shells264990
Node: What is an Interactive Shell?265397
Node: Is this Shell Interactive?266043
Node: Interactive Shell Behavior266855
Node: Bash Conditional Expressions270481
Node: Shell Arithmetic275120
Node: Aliases278061
Node: Arrays280671
Node: The Directory Stack286915
Node: Directory Stack Builtins287696
Node: Controlling the Prompt291953
Node: The Restricted Shell294915
Node: Bash POSIX Mode297522
Node: Shell Compatibility Mode308792
Node: Job Control315708
Node: Job Control Basics316165
Node: Job Control Builtins321164
Node: Job Control Variables326561
Node: Command Line Editing327714
Node: Introduction and Notation329382
Node: Readline Interaction331002
Node: Readline Bare Essentials332190
Node: Readline Movement Commands333970
Node: Readline Killing Commands334927
Node: Readline Arguments336842
Node: Searching337883
Node: Readline Init File340066
Node: Readline Init File Syntax341324
Node: Conditional Init Constructs362809
Node: Sample Init File367002
Node: Bindable Readline Commands370123
Node: Commands For Moving371324
Node: Commands For History373372
Node: Commands For Text378363
Node: Commands For Killing382009
Node: Numeric Arguments385039
Node: Commands For Completion386175
Node: Keyboard Macros390363
Node: Miscellaneous Commands391047
Node: Readline vi Mode396983
Node: Programmable Completion397887
Node: Programmable Completion Builtins405664
Node: A Programmable Completion Example416356
Node: Using History Interactively421600
Node: Bash History Facilities422281
Node: Bash History Builtins425283
Node: History Interaction430288
Node: Event Designators433905
Node: Word Designators435256
Node: Modifiers437013
Node: Installing Bash438821
Node: Basic Installation439955
Node: Compilers and Options443674
Node: Compiling For Multiple Architectures444412
Node: Installation Names446102
Node: Specifying the System Type448208
Node: Sharing Defaults448921
Node: Operation Controls449591
Node: Optional Features450546
Node: Reporting Bugs461636
Node: Major Differences From The Bourne Shell462908
Node: GNU Free Documentation License479755
Node: Indexes504929
Node: Builtin Index505380
Node: Reserved Word Index512204
Node: Variable Index514649
Node: Function Index531138
Node: Concept Index544919

End Tag Table
BIN
View File
Binary file not shown.
+3472 -3449
View File
File diff suppressed because it is too large Load Diff
+55 -55
View File
@@ -225,19 +225,19 @@
@xrdef{Bash POSIX Mode-pg}{105}
@xrdef{Shell Compatibility Mode-title}{Shell Compatibility Mode}
@xrdef{Shell Compatibility Mode-snt}{Section@tie 6.12}
@xrdef{Shell Compatibility Mode-pg}{108}
@xrdef{Shell Compatibility Mode-pg}{109}
@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}{111}
@xrdef{Job Control Basics-pg}{111}
@xrdef{Job Control-pg}{112}
@xrdef{Job Control Basics-pg}{112}
@xrdef{Job Control Builtins-title}{Job Control Builtins}
@xrdef{Job Control Builtins-snt}{Section@tie 7.2}
@xrdef{Job Control Builtins-pg}{112}
@xrdef{Job Control Builtins-pg}{113}
@xrdef{Job Control Variables-title}{Job Control Variables}
@xrdef{Job Control Variables-snt}{Section@tie 7.3}
@xrdef{Job Control Variables-pg}{114}
@xrdef{Job Control Variables-pg}{115}
@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}
@@ -246,145 +246,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}{115}
@xrdef{Introduction and Notation-pg}{115}
@xrdef{Readline Interaction-pg}{115}
@xrdef{Command Line Editing-pg}{116}
@xrdef{Introduction and Notation-pg}{116}
@xrdef{Readline Interaction-pg}{116}
@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}{116}
@xrdef{Readline Movement Commands-pg}{116}
@xrdef{Readline Bare Essentials-pg}{117}
@xrdef{Readline Movement Commands-pg}{117}
@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}{117}
@xrdef{Readline Arguments-pg}{117}
@xrdef{Searching-pg}{117}
@xrdef{Readline Killing Commands-pg}{118}
@xrdef{Readline Arguments-pg}{118}
@xrdef{Searching-pg}{118}
@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}{118}
@xrdef{Readline Init File Syntax-pg}{118}
@xrdef{Readline Init File-pg}{119}
@xrdef{Readline Init File Syntax-pg}{119}
@xrdef{Conditional Init Constructs-title}{Conditional Init Constructs}
@xrdef{Conditional Init Constructs-snt}{Section@tie 8.3.2}
@xrdef{Conditional Init Constructs-pg}{126}
@xrdef{Conditional Init Constructs-pg}{127}
@xrdef{Sample Init File-title}{Sample Init File}
@xrdef{Sample Init File-snt}{Section@tie 8.3.3}
@xrdef{Sample Init File-pg}{128}
@xrdef{Sample Init File-pg}{129}
@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{Bindable Readline Commands-pg}{131}
@xrdef{Commands For Moving-pg}{131}
@xrdef{Bindable Readline Commands-pg}{132}
@xrdef{Commands For Moving-pg}{132}
@xrdef{Commands For History-title}{Commands For Manipulating The History}
@xrdef{Commands For History-snt}{Section@tie 8.4.2}
@xrdef{Commands For History-pg}{132}
@xrdef{Commands For History-pg}{133}
@xrdef{Commands For Text-title}{Commands For Changing Text}
@xrdef{Commands For Text-snt}{Section@tie 8.4.3}
@xrdef{Commands For Text-pg}{134}
@xrdef{Commands For Text-pg}{135}
@xrdef{Commands For Killing-title}{Killing And Yanking}
@xrdef{Commands For Killing-snt}{Section@tie 8.4.4}
@xrdef{Commands For Killing-pg}{135}
@xrdef{Commands For Killing-pg}{136}
@xrdef{Numeric Arguments-title}{Specifying Numeric Arguments}
@xrdef{Numeric Arguments-snt}{Section@tie 8.4.5}
@xrdef{Numeric Arguments-pg}{136}
@xrdef{Numeric Arguments-pg}{137}
@xrdef{Commands For Completion-title}{Letting Readline Type For You}
@xrdef{Commands For Completion-snt}{Section@tie 8.4.6}
@xrdef{Commands For Completion-pg}{137}
@xrdef{Commands For Completion-pg}{138}
@xrdef{Keyboard Macros-title}{Keyboard Macros}
@xrdef{Keyboard Macros-snt}{Section@tie 8.4.7}
@xrdef{Keyboard Macros-pg}{138}
@xrdef{Keyboard Macros-pg}{139}
@xrdef{Miscellaneous Commands-title}{Some Miscellaneous Commands}
@xrdef{Miscellaneous Commands-snt}{Section@tie 8.4.8}
@xrdef{Miscellaneous Commands-pg}{139}
@xrdef{Miscellaneous Commands-pg}{140}
@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}{141}
@xrdef{Programmable Completion-pg}{141}
@xrdef{Readline vi Mode-pg}{142}
@xrdef{Programmable Completion-pg}{142}
@xrdef{Programmable Completion Builtins-title}{Programmable Completion Builtins}
@xrdef{Programmable Completion Builtins-snt}{Section@tie 8.7}
@xrdef{Programmable Completion Builtins-pg}{144}
@xrdef{Programmable Completion Builtins-pg}{145}
@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}{148}
@xrdef{A Programmable Completion Example-pg}{149}
@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}{150}
@xrdef{Bash History Facilities-pg}{150}
@xrdef{Bash History Builtins-pg}{150}
@xrdef{Using History Interactively-pg}{151}
@xrdef{Bash History Facilities-pg}{151}
@xrdef{Bash History Builtins-pg}{151}
@xrdef{History Interaction-title}{History Expansion}
@xrdef{History Interaction-snt}{Section@tie 9.3}
@xrdef{History Interaction-pg}{152}
@xrdef{History Interaction-pg}{153}
@xrdef{Event Designators-title}{Event Designators}
@xrdef{Event Designators-snt}{Section@tie 9.3.1}
@xrdef{Event Designators-pg}{153}
@xrdef{Event Designators-pg}{154}
@xrdef{Word Designators-title}{Word Designators}
@xrdef{Word Designators-snt}{Section@tie 9.3.2}
@xrdef{Modifiers-title}{Modifiers}
@xrdef{Modifiers-snt}{Section@tie 9.3.3}
@xrdef{Word Designators-pg}{154}
@xrdef{Modifiers-pg}{154}
@xrdef{Word Designators-pg}{155}
@xrdef{Modifiers-pg}{155}
@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{Installing Bash-pg}{156}
@xrdef{Basic Installation-pg}{156}
@xrdef{Installing Bash-pg}{157}
@xrdef{Basic Installation-pg}{157}
@xrdef{Compilers and Options-title}{Compilers and Options}
@xrdef{Compilers and Options-snt}{Section@tie 10.2}
@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{Compilers and Options-pg}{157}
@xrdef{Compiling For Multiple Architectures-pg}{157}
@xrdef{Compilers and Options-pg}{158}
@xrdef{Compiling For Multiple Architectures-pg}{158}
@xrdef{Specifying the System Type-title}{Specifying the System Type}
@xrdef{Specifying the System Type-snt}{Section@tie 10.5}
@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{Installation Names-pg}{158}
@xrdef{Specifying the System Type-pg}{158}
@xrdef{Sharing Defaults-pg}{158}
@xrdef{Installation Names-pg}{159}
@xrdef{Specifying the System Type-pg}{159}
@xrdef{Sharing Defaults-pg}{159}
@xrdef{Optional Features-title}{Optional Features}
@xrdef{Optional Features-snt}{Section@tie 10.8}
@xrdef{Operation Controls-pg}{159}
@xrdef{Optional Features-pg}{159}
@xrdef{Operation Controls-pg}{160}
@xrdef{Optional Features-pg}{160}
@xrdef{Reporting Bugs-title}{Reporting Bugs}
@xrdef{Reporting Bugs-snt}{Appendix@tie @char65{}}
@xrdef{Reporting Bugs-pg}{164}
@xrdef{Reporting Bugs-pg}{165}
@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}{165}
@xrdef{Major Differences From The Bourne Shell-pg}{166}
@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}{171}
@xrdef{GNU Free Documentation License-pg}{172}
@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}{179}
@xrdef{Builtin Index-pg}{179}
@xrdef{Indexes-pg}{180}
@xrdef{Builtin Index-pg}{180}
@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}{180}
@xrdef{Variable Index-pg}{181}
@xrdef{Reserved Word Index-pg}{181}
@xrdef{Variable Index-pg}{182}
@xrdef{Function Index-title}{Function Index}
@xrdef{Function Index-snt}{Section@tie @char68.4}
@xrdef{Function Index-pg}{183}
@xrdef{Function Index-pg}{184}
@xrdef{Concept Index-title}{Concept Index}
@xrdef{Concept Index-snt}{Section@tie @char68.5}
@xrdef{Concept Index-pg}{185}
@xrdef{Concept Index-pg}{186}
+12 -12
View File
@@ -45,15 +45,15 @@
\entry{dirs}{101}{\code {dirs}}
\entry{popd}{102}{\code {popd}}
\entry{pushd}{102}{\code {pushd}}
\entry{bg}{112}{\code {bg}}
\entry{fg}{112}{\code {fg}}
\entry{jobs}{112}{\code {jobs}}
\entry{kill}{113}{\code {kill}}
\entry{wait}{113}{\code {wait}}
\entry{disown}{114}{\code {disown}}
\entry{suspend}{114}{\code {suspend}}
\entry{compgen}{144}{\code {compgen}}
\entry{complete}{144}{\code {complete}}
\entry{compopt}{147}{\code {compopt}}
\entry{fc}{151}{\code {fc}}
\entry{history}{151}{\code {history}}
\entry{bg}{113}{\code {bg}}
\entry{fg}{113}{\code {fg}}
\entry{jobs}{113}{\code {jobs}}
\entry{kill}{114}{\code {kill}}
\entry{wait}{114}{\code {wait}}
\entry{disown}{115}{\code {disown}}
\entry{suspend}{115}{\code {suspend}}
\entry{compgen}{145}{\code {compgen}}
\entry{complete}{145}{\code {complete}}
\entry{compopt}{148}{\code {compopt}}
\entry{fc}{152}{\code {fc}}
\entry{history}{152}{\code {history}}
+12 -12
View File
@@ -7,7 +7,7 @@
\initial {A}
\entry{\code {alias}}{54}
\initial {B}
\entry{\code {bg}}{112}
\entry{\code {bg}}{113}
\entry{\code {bind}}{55}
\entry{\code {break}}{48}
\entry{\code {builtin}}{56}
@@ -15,14 +15,14 @@
\entry{\code {caller}}{56}
\entry{\code {cd}}{48}
\entry{\code {command}}{56}
\entry{\code {compgen}}{144}
\entry{\code {complete}}{144}
\entry{\code {compopt}}{147}
\entry{\code {compgen}}{145}
\entry{\code {complete}}{145}
\entry{\code {compopt}}{148}
\entry{\code {continue}}{48}
\initial {D}
\entry{\code {declare}}{57}
\entry{\code {dirs}}{101}
\entry{\code {disown}}{114}
\entry{\code {disown}}{115}
\initial {E}
\entry{\code {echo}}{58}
\entry{\code {enable}}{59}
@@ -31,18 +31,18 @@
\entry{\code {exit}}{49}
\entry{\code {export}}{49}
\initial {F}
\entry{\code {fc}}{151}
\entry{\code {fg}}{112}
\entry{\code {fc}}{152}
\entry{\code {fg}}{113}
\initial {G}
\entry{\code {getopts}}{49}
\initial {H}
\entry{\code {hash}}{50}
\entry{\code {help}}{60}
\entry{\code {history}}{151}
\entry{\code {history}}{152}
\initial {J}
\entry{\code {jobs}}{112}
\entry{\code {jobs}}{113}
\initial {K}
\entry{\code {kill}}{113}
\entry{\code {kill}}{114}
\initial {L}
\entry{\code {let}}{60}
\entry{\code {local}}{60}
@@ -64,7 +64,7 @@
\entry{\code {shift}}{51}
\entry{\code {shopt}}{70}
\entry{\code {source}}{63}
\entry{\code {suspend}}{114}
\entry{\code {suspend}}{115}
\initial {T}
\entry{\code {test}}{51}
\entry{\code {times}}{53}
@@ -77,4 +77,4 @@
\entry{\code {unalias}}{65}
\entry{\code {unset}}{54}
\initial {W}
\entry{\code {wait}}{113}
\entry{\code {wait}}{114}
+29 -29
View File
@@ -92,32 +92,32 @@
\entry{prompting}{103}{prompting}
\entry{restricted shell}{104}{restricted shell}
\entry{POSIX Mode}{105}{POSIX Mode}
\entry{Compatibility Level}{108}{Compatibility Level}
\entry{Compatibility Mode}{108}{Compatibility Mode}
\entry{job control}{111}{job control}
\entry{foreground}{111}{foreground}
\entry{background}{111}{background}
\entry{suspending jobs}{111}{suspending jobs}
\entry{Readline, how to use}{114}{Readline, how to use}
\entry{interaction, readline}{115}{interaction, readline}
\entry{notation, readline}{116}{notation, readline}
\entry{command editing}{116}{command editing}
\entry{editing command lines}{116}{editing command lines}
\entry{killing text}{117}{killing text}
\entry{yanking text}{117}{yanking text}
\entry{kill ring}{117}{kill ring}
\entry{initialization file, readline}{118}{initialization file, readline}
\entry{variables, readline}{119}{variables, readline}
\entry{programmable completion}{141}{programmable completion}
\entry{completion builtins}{144}{completion builtins}
\entry{History, how to use}{149}{History, how to use}
\entry{command history}{150}{command history}
\entry{history list}{150}{history list}
\entry{history builtins}{150}{history builtins}
\entry{history expansion}{152}{history expansion}
\entry{event designators}{153}{event designators}
\entry{history events}{153}{history events}
\entry{installation}{156}{installation}
\entry{configuration}{156}{configuration}
\entry{Bash installation}{156}{Bash installation}
\entry{Bash configuration}{156}{Bash configuration}
\entry{Compatibility Level}{109}{Compatibility Level}
\entry{Compatibility Mode}{109}{Compatibility Mode}
\entry{job control}{112}{job control}
\entry{foreground}{112}{foreground}
\entry{background}{112}{background}
\entry{suspending jobs}{112}{suspending jobs}
\entry{Readline, how to use}{115}{Readline, how to use}
\entry{interaction, readline}{116}{interaction, readline}
\entry{notation, readline}{117}{notation, readline}
\entry{command editing}{117}{command editing}
\entry{editing command lines}{117}{editing command lines}
\entry{killing text}{118}{killing text}
\entry{yanking text}{118}{yanking text}
\entry{kill ring}{118}{kill ring}
\entry{initialization file, readline}{119}{initialization file, readline}
\entry{variables, readline}{120}{variables, readline}
\entry{programmable completion}{142}{programmable completion}
\entry{completion builtins}{145}{completion builtins}
\entry{History, how to use}{150}{History, how to use}
\entry{command history}{151}{command history}
\entry{history list}{151}{history list}
\entry{history builtins}{151}{history builtins}
\entry{history expansion}{153}{history expansion}
\entry{event designators}{154}{event designators}
\entry{history events}{154}{history events}
\entry{installation}{157}{installation}
\entry{configuration}{157}{configuration}
\entry{Bash installation}{157}{Bash installation}
\entry{Bash configuration}{157}{Bash configuration}
+29 -29
View File
@@ -5,17 +5,17 @@
\entry{arithmetic, shell}{97}
\entry{arrays}{99}
\initial {B}
\entry{background}{111}
\entry{Bash configuration}{156}
\entry{Bash installation}{156}
\entry{background}{112}
\entry{Bash configuration}{157}
\entry{Bash installation}{157}
\entry{Bourne shell}{5}
\entry{brace expansion}{24}
\entry{builtin}{3}
\initial {C}
\entry{command editing}{116}
\entry{command editing}{117}
\entry{command execution}{42}
\entry{command expansion}{41}
\entry{command history}{150}
\entry{command history}{151}
\entry{command search}{42}
\entry{command substitution}{33}
\entry{command timing}{10}
@@ -28,19 +28,19 @@
\entry{commands, shell}{9}
\entry{commands, simple}{9}
\entry{comments, shell}{9}
\entry{Compatibility Level}{108}
\entry{Compatibility Mode}{108}
\entry{completion builtins}{144}
\entry{configuration}{156}
\entry{Compatibility Level}{109}
\entry{Compatibility Mode}{109}
\entry{completion builtins}{145}
\entry{configuration}{157}
\entry{control operator}{3}
\entry{coprocess}{18}
\initial {D}
\entry{directory stack}{101}
\initial {E}
\entry{editing command lines}{116}
\entry{editing command lines}{117}
\entry{environment}{43}
\entry{evaluation, arithmetic}{97}
\entry{event designators}{153}
\entry{event designators}{154}
\entry{execution environment}{42}
\entry{exit status}{3, 44}
\entry{expansion}{24}
@@ -56,28 +56,28 @@
\entry{field}{3}
\entry{filename}{3}
\entry{filename expansion}{35}
\entry{foreground}{111}
\entry{foreground}{112}
\entry{functions, shell}{19}
\initial {H}
\entry{history builtins}{150}
\entry{history events}{153}
\entry{history expansion}{152}
\entry{history list}{150}
\entry{History, how to use}{149}
\entry{history builtins}{151}
\entry{history events}{154}
\entry{history expansion}{153}
\entry{history list}{151}
\entry{History, how to use}{150}
\initial {I}
\entry{identifier}{3}
\entry{initialization file, readline}{118}
\entry{installation}{156}
\entry{interaction, readline}{115}
\entry{initialization file, readline}{119}
\entry{installation}{157}
\entry{interaction, readline}{116}
\entry{interactive shell}{92, 93}
\entry{internationalization}{7}
\entry{internationalized scripts}{7}
\initial {J}
\entry{job}{3}
\entry{job control}{3, 111}
\entry{job control}{3, 112}
\initial {K}
\entry{kill ring}{117}
\entry{killing text}{117}
\entry{kill ring}{118}
\entry{killing text}{118}
\initial {L}
\entry{localization}{7}
\entry{login shell}{92}
@@ -87,7 +87,7 @@
\initial {N}
\entry{name}{3}
\entry{native languages}{7}
\entry{notation, readline}{116}
\entry{notation, readline}{117}
\initial {O}
\entry{operator, shell}{3}
\initial {P}
@@ -103,13 +103,13 @@
\entry{process group}{3}
\entry{process group ID}{3}
\entry{process substitution}{34}
\entry{programmable completion}{141}
\entry{programmable completion}{142}
\entry{prompting}{103}
\initial {Q}
\entry{quoting}{6}
\entry{quoting, ANSI}{6}
\initial {R}
\entry{Readline, how to use}{114}
\entry{Readline, how to use}{115}
\entry{redirection}{37}
\entry{reserved word}{3}
\entry{reserved words}{9}
@@ -126,16 +126,16 @@
\entry{special builtin}{4, 76}
\entry{startup files}{92}
\entry{string translations}{7}
\entry{suspending jobs}{111}
\entry{suspending jobs}{112}
\initial {T}
\entry{tilde expansion}{25}
\entry{token}{4}
\entry{translation, native languages}{7}
\initial {V}
\entry{variable, shell}{21}
\entry{variables, readline}{119}
\entry{variables, readline}{120}
\initial {W}
\entry{word}{4}
\entry{word splitting}{34}
\initial {Y}
\entry{yanking text}{117}
\entry{yanking text}{118}
BIN
View File
Binary file not shown.
+114 -114
View File
@@ -1,114 +1,114 @@
\entry{beginning-of-line (C-a)}{131}{\code {beginning-of-line (C-a)}}
\entry{end-of-line (C-e)}{131}{\code {end-of-line (C-e)}}
\entry{forward-char (C-f)}{131}{\code {forward-char (C-f)}}
\entry{backward-char (C-b)}{131}{\code {backward-char (C-b)}}
\entry{forward-word (M-f)}{131}{\code {forward-word (M-f)}}
\entry{backward-word (M-b)}{131}{\code {backward-word (M-b)}}
\entry{shell-forward-word (M-C-f)}{131}{\code {shell-forward-word (M-C-f)}}
\entry{shell-backward-word (M-C-b)}{131}{\code {shell-backward-word (M-C-b)}}
\entry{previous-screen-line ()}{131}{\code {previous-screen-line ()}}
\entry{next-screen-line ()}{132}{\code {next-screen-line ()}}
\entry{clear-display (M-C-l)}{132}{\code {clear-display (M-C-l)}}
\entry{clear-screen (C-l)}{132}{\code {clear-screen (C-l)}}
\entry{redraw-current-line ()}{132}{\code {redraw-current-line ()}}
\entry{accept-line (Newline or Return)}{132}{\code {accept-line (Newline or Return)}}
\entry{previous-history (C-p)}{132}{\code {previous-history (C-p)}}
\entry{next-history (C-n)}{132}{\code {next-history (C-n)}}
\entry{beginning-of-history (M-<)}{132}{\code {beginning-of-history (M-<)}}
\entry{end-of-history (M->)}{132}{\code {end-of-history (M->)}}
\entry{reverse-search-history (C-r)}{132}{\code {reverse-search-history (C-r)}}
\entry{forward-search-history (C-s)}{132}{\code {forward-search-history (C-s)}}
\entry{non-incremental-reverse-search-history (M-p)}{132}{\code {non-incremental-reverse-search-history (M-p)}}
\entry{non-incremental-forward-search-history (M-n)}{133}{\code {non-incremental-forward-search-history (M-n)}}
\entry{history-search-forward ()}{133}{\code {history-search-forward ()}}
\entry{history-search-backward ()}{133}{\code {history-search-backward ()}}
\entry{history-substring-search-forward ()}{133}{\code {history-substring-search-forward ()}}
\entry{history-substring-search-backward ()}{133}{\code {history-substring-search-backward ()}}
\entry{yank-nth-arg (M-C-y)}{133}{\code {yank-nth-arg (M-C-y)}}
\entry{yank-last-arg (M-. or M-_)}{133}{\code {yank-last-arg (M-. or M-_)}}
\entry{operate-and-get-next (C-o)}{133}{\code {operate-and-get-next (C-o)}}
\entry{fetch-history ()}{134}{\code {fetch-history ()}}
\entry{end-of-file (usually C-d)}{134}{\code {\i {end-of-file} (usually C-d)}}
\entry{delete-char (C-d)}{134}{\code {delete-char (C-d)}}
\entry{backward-delete-char (Rubout)}{134}{\code {backward-delete-char (Rubout)}}
\entry{forward-backward-delete-char ()}{134}{\code {forward-backward-delete-char ()}}
\entry{quoted-insert (C-q or C-v)}{134}{\code {quoted-insert (C-q or C-v)}}
\entry{self-insert (a, b, A, 1, !, ...{})}{134}{\code {self-insert (a, b, A, 1, !, \dots {})}}
\entry{bracketed-paste-begin ()}{134}{\code {bracketed-paste-begin ()}}
\entry{transpose-chars (C-t)}{134}{\code {transpose-chars (C-t)}}
\entry{transpose-words (M-t)}{135}{\code {transpose-words (M-t)}}
\entry{upcase-word (M-u)}{135}{\code {upcase-word (M-u)}}
\entry{downcase-word (M-l)}{135}{\code {downcase-word (M-l)}}
\entry{capitalize-word (M-c)}{135}{\code {capitalize-word (M-c)}}
\entry{overwrite-mode ()}{135}{\code {overwrite-mode ()}}
\entry{kill-line (C-k)}{135}{\code {kill-line (C-k)}}
\entry{backward-kill-line (C-x Rubout)}{135}{\code {backward-kill-line (C-x Rubout)}}
\entry{unix-line-discard (C-u)}{135}{\code {unix-line-discard (C-u)}}
\entry{kill-whole-line ()}{135}{\code {kill-whole-line ()}}
\entry{kill-word (M-d)}{135}{\code {kill-word (M-d)}}
\entry{backward-kill-word (M-DEL)}{135}{\code {backward-kill-word (M-\key {DEL})}}
\entry{shell-kill-word (M-C-d)}{136}{\code {shell-kill-word (M-C-d)}}
\entry{shell-backward-kill-word ()}{136}{\code {shell-backward-kill-word ()}}
\entry{shell-transpose-words (M-C-t)}{136}{\code {shell-transpose-words (M-C-t)}}
\entry{unix-word-rubout (C-w)}{136}{\code {unix-word-rubout (C-w)}}
\entry{unix-filename-rubout ()}{136}{\code {unix-filename-rubout ()}}
\entry{delete-horizontal-space ()}{136}{\code {delete-horizontal-space ()}}
\entry{kill-region ()}{136}{\code {kill-region ()}}
\entry{copy-region-as-kill ()}{136}{\code {copy-region-as-kill ()}}
\entry{copy-backward-word ()}{136}{\code {copy-backward-word ()}}
\entry{copy-forward-word ()}{136}{\code {copy-forward-word ()}}
\entry{yank (C-y)}{136}{\code {yank (C-y)}}
\entry{yank-pop (M-y)}{136}{\code {yank-pop (M-y)}}
\entry{digit-argument (M-0, M-1, ...{} M--)}{136}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}
\entry{universal-argument ()}{137}{\code {universal-argument ()}}
\entry{complete (TAB)}{137}{\code {complete (\key {TAB})}}
\entry{possible-completions (M-?)}{137}{\code {possible-completions (M-?)}}
\entry{insert-completions (M-*)}{137}{\code {insert-completions (M-*)}}
\entry{menu-complete ()}{137}{\code {menu-complete ()}}
\entry{menu-complete-backward ()}{137}{\code {menu-complete-backward ()}}
\entry{delete-char-or-list ()}{137}{\code {delete-char-or-list ()}}
\entry{complete-filename (M-/)}{137}{\code {complete-filename (M-/)}}
\entry{possible-filename-completions (C-x /)}{138}{\code {possible-filename-completions (C-x /)}}
\entry{complete-username (M-~)}{138}{\code {complete-username (M-~)}}
\entry{possible-username-completions (C-x ~)}{138}{\code {possible-username-completions (C-x ~)}}
\entry{complete-variable (M-$)}{138}{\code {complete-variable (M-$)}}
\entry{possible-variable-completions (C-x $)}{138}{\code {possible-variable-completions (C-x $)}}
\entry{complete-hostname (M-@)}{138}{\code {complete-hostname (M-@)}}
\entry{possible-hostname-completions (C-x @)}{138}{\code {possible-hostname-completions (C-x @)}}
\entry{complete-command (M-!)}{138}{\code {complete-command (M-!)}}
\entry{possible-command-completions (C-x !)}{138}{\code {possible-command-completions (C-x !)}}
\entry{dynamic-complete-history (M-TAB)}{138}{\code {dynamic-complete-history (M-\key {TAB})}}
\entry{dabbrev-expand ()}{138}{\code {dabbrev-expand ()}}
\entry{complete-into-braces (M-{\indexlbrace })}{138}{\code {complete-into-braces (M-{\tt \char 123})}}
\entry{start-kbd-macro (C-x ()}{138}{\code {start-kbd-macro (C-x ()}}
\entry{end-kbd-macro (C-x ))}{138}{\code {end-kbd-macro (C-x ))}}
\entry{call-last-kbd-macro (C-x e)}{139}{\code {call-last-kbd-macro (C-x e)}}
\entry{print-last-kbd-macro ()}{139}{\code {print-last-kbd-macro ()}}
\entry{re-read-init-file (C-x C-r)}{139}{\code {re-read-init-file (C-x C-r)}}
\entry{abort (C-g)}{139}{\code {abort (C-g)}}
\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{139}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}
\entry{prefix-meta (ESC)}{139}{\code {prefix-meta (\key {ESC})}}
\entry{undo (C-_ or C-x C-u)}{139}{\code {undo (C-_ or C-x C-u)}}
\entry{revert-line (M-r)}{139}{\code {revert-line (M-r)}}
\entry{tilde-expand (M-&)}{139}{\code {tilde-expand (M-&)}}
\entry{set-mark (C-@)}{139}{\code {set-mark (C-@)}}
\entry{exchange-point-and-mark (C-x C-x)}{139}{\code {exchange-point-and-mark (C-x C-x)}}
\entry{character-search (C-])}{139}{\code {character-search (C-])}}
\entry{character-search-backward (M-C-])}{139}{\code {character-search-backward (M-C-])}}
\entry{skip-csi-sequence ()}{139}{\code {skip-csi-sequence ()}}
\entry{insert-comment (M-#)}{140}{\code {insert-comment (M-#)}}
\entry{dump-functions ()}{140}{\code {dump-functions ()}}
\entry{dump-variables ()}{140}{\code {dump-variables ()}}
\entry{dump-macros ()}{140}{\code {dump-macros ()}}
\entry{spell-correct-word (C-x s)}{140}{\code {spell-correct-word (C-x s)}}
\entry{glob-complete-word (M-g)}{140}{\code {glob-complete-word (M-g)}}
\entry{glob-expand-word (C-x *)}{140}{\code {glob-expand-word (C-x *)}}
\entry{glob-list-expansions (C-x g)}{140}{\code {glob-list-expansions (C-x g)}}
\entry{display-shell-version (C-x C-v)}{141}{\code {display-shell-version (C-x C-v)}}
\entry{shell-expand-line (M-C-e)}{141}{\code {shell-expand-line (M-C-e)}}
\entry{history-expand-line (M-^)}{141}{\code {history-expand-line (M-^)}}
\entry{magic-space ()}{141}{\code {magic-space ()}}
\entry{alias-expand-line ()}{141}{\code {alias-expand-line ()}}
\entry{history-and-alias-expand-line ()}{141}{\code {history-and-alias-expand-line ()}}
\entry{insert-last-argument (M-. or M-_)}{141}{\code {insert-last-argument (M-. or M-_)}}
\entry{edit-and-execute-command (C-x C-e)}{141}{\code {edit-and-execute-command (C-x C-e)}}
\entry{beginning-of-line (C-a)}{132}{\code {beginning-of-line (C-a)}}
\entry{end-of-line (C-e)}{132}{\code {end-of-line (C-e)}}
\entry{forward-char (C-f)}{132}{\code {forward-char (C-f)}}
\entry{backward-char (C-b)}{132}{\code {backward-char (C-b)}}
\entry{forward-word (M-f)}{132}{\code {forward-word (M-f)}}
\entry{backward-word (M-b)}{132}{\code {backward-word (M-b)}}
\entry{shell-forward-word (M-C-f)}{132}{\code {shell-forward-word (M-C-f)}}
\entry{shell-backward-word (M-C-b)}{132}{\code {shell-backward-word (M-C-b)}}
\entry{previous-screen-line ()}{132}{\code {previous-screen-line ()}}
\entry{next-screen-line ()}{133}{\code {next-screen-line ()}}
\entry{clear-display (M-C-l)}{133}{\code {clear-display (M-C-l)}}
\entry{clear-screen (C-l)}{133}{\code {clear-screen (C-l)}}
\entry{redraw-current-line ()}{133}{\code {redraw-current-line ()}}
\entry{accept-line (Newline or Return)}{133}{\code {accept-line (Newline or Return)}}
\entry{previous-history (C-p)}{133}{\code {previous-history (C-p)}}
\entry{next-history (C-n)}{133}{\code {next-history (C-n)}}
\entry{beginning-of-history (M-<)}{133}{\code {beginning-of-history (M-<)}}
\entry{end-of-history (M->)}{133}{\code {end-of-history (M->)}}
\entry{reverse-search-history (C-r)}{133}{\code {reverse-search-history (C-r)}}
\entry{forward-search-history (C-s)}{133}{\code {forward-search-history (C-s)}}
\entry{non-incremental-reverse-search-history (M-p)}{133}{\code {non-incremental-reverse-search-history (M-p)}}
\entry{non-incremental-forward-search-history (M-n)}{134}{\code {non-incremental-forward-search-history (M-n)}}
\entry{history-search-forward ()}{134}{\code {history-search-forward ()}}
\entry{history-search-backward ()}{134}{\code {history-search-backward ()}}
\entry{history-substring-search-forward ()}{134}{\code {history-substring-search-forward ()}}
\entry{history-substring-search-backward ()}{134}{\code {history-substring-search-backward ()}}
\entry{yank-nth-arg (M-C-y)}{134}{\code {yank-nth-arg (M-C-y)}}
\entry{yank-last-arg (M-. or M-_)}{134}{\code {yank-last-arg (M-. or M-_)}}
\entry{operate-and-get-next (C-o)}{134}{\code {operate-and-get-next (C-o)}}
\entry{fetch-history ()}{135}{\code {fetch-history ()}}
\entry{end-of-file (usually C-d)}{135}{\code {\i {end-of-file} (usually C-d)}}
\entry{delete-char (C-d)}{135}{\code {delete-char (C-d)}}
\entry{backward-delete-char (Rubout)}{135}{\code {backward-delete-char (Rubout)}}
\entry{forward-backward-delete-char ()}{135}{\code {forward-backward-delete-char ()}}
\entry{quoted-insert (C-q or C-v)}{135}{\code {quoted-insert (C-q or C-v)}}
\entry{self-insert (a, b, A, 1, !, ...{})}{135}{\code {self-insert (a, b, A, 1, !, \dots {})}}
\entry{bracketed-paste-begin ()}{135}{\code {bracketed-paste-begin ()}}
\entry{transpose-chars (C-t)}{135}{\code {transpose-chars (C-t)}}
\entry{transpose-words (M-t)}{136}{\code {transpose-words (M-t)}}
\entry{upcase-word (M-u)}{136}{\code {upcase-word (M-u)}}
\entry{downcase-word (M-l)}{136}{\code {downcase-word (M-l)}}
\entry{capitalize-word (M-c)}{136}{\code {capitalize-word (M-c)}}
\entry{overwrite-mode ()}{136}{\code {overwrite-mode ()}}
\entry{kill-line (C-k)}{136}{\code {kill-line (C-k)}}
\entry{backward-kill-line (C-x Rubout)}{136}{\code {backward-kill-line (C-x Rubout)}}
\entry{unix-line-discard (C-u)}{136}{\code {unix-line-discard (C-u)}}
\entry{kill-whole-line ()}{136}{\code {kill-whole-line ()}}
\entry{kill-word (M-d)}{136}{\code {kill-word (M-d)}}
\entry{backward-kill-word (M-DEL)}{136}{\code {backward-kill-word (M-\key {DEL})}}
\entry{shell-kill-word (M-C-d)}{137}{\code {shell-kill-word (M-C-d)}}
\entry{shell-backward-kill-word ()}{137}{\code {shell-backward-kill-word ()}}
\entry{shell-transpose-words (M-C-t)}{137}{\code {shell-transpose-words (M-C-t)}}
\entry{unix-word-rubout (C-w)}{137}{\code {unix-word-rubout (C-w)}}
\entry{unix-filename-rubout ()}{137}{\code {unix-filename-rubout ()}}
\entry{delete-horizontal-space ()}{137}{\code {delete-horizontal-space ()}}
\entry{kill-region ()}{137}{\code {kill-region ()}}
\entry{copy-region-as-kill ()}{137}{\code {copy-region-as-kill ()}}
\entry{copy-backward-word ()}{137}{\code {copy-backward-word ()}}
\entry{copy-forward-word ()}{137}{\code {copy-forward-word ()}}
\entry{yank (C-y)}{137}{\code {yank (C-y)}}
\entry{yank-pop (M-y)}{137}{\code {yank-pop (M-y)}}
\entry{digit-argument (M-0, M-1, ...{} M--)}{137}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}
\entry{universal-argument ()}{138}{\code {universal-argument ()}}
\entry{complete (TAB)}{138}{\code {complete (\key {TAB})}}
\entry{possible-completions (M-?)}{138}{\code {possible-completions (M-?)}}
\entry{insert-completions (M-*)}{138}{\code {insert-completions (M-*)}}
\entry{menu-complete ()}{138}{\code {menu-complete ()}}
\entry{menu-complete-backward ()}{138}{\code {menu-complete-backward ()}}
\entry{delete-char-or-list ()}{138}{\code {delete-char-or-list ()}}
\entry{complete-filename (M-/)}{138}{\code {complete-filename (M-/)}}
\entry{possible-filename-completions (C-x /)}{139}{\code {possible-filename-completions (C-x /)}}
\entry{complete-username (M-~)}{139}{\code {complete-username (M-~)}}
\entry{possible-username-completions (C-x ~)}{139}{\code {possible-username-completions (C-x ~)}}
\entry{complete-variable (M-$)}{139}{\code {complete-variable (M-$)}}
\entry{possible-variable-completions (C-x $)}{139}{\code {possible-variable-completions (C-x $)}}
\entry{complete-hostname (M-@)}{139}{\code {complete-hostname (M-@)}}
\entry{possible-hostname-completions (C-x @)}{139}{\code {possible-hostname-completions (C-x @)}}
\entry{complete-command (M-!)}{139}{\code {complete-command (M-!)}}
\entry{possible-command-completions (C-x !)}{139}{\code {possible-command-completions (C-x !)}}
\entry{dynamic-complete-history (M-TAB)}{139}{\code {dynamic-complete-history (M-\key {TAB})}}
\entry{dabbrev-expand ()}{139}{\code {dabbrev-expand ()}}
\entry{complete-into-braces (M-{\indexlbrace })}{139}{\code {complete-into-braces (M-{\tt \char 123})}}
\entry{start-kbd-macro (C-x ()}{139}{\code {start-kbd-macro (C-x ()}}
\entry{end-kbd-macro (C-x ))}{139}{\code {end-kbd-macro (C-x ))}}
\entry{call-last-kbd-macro (C-x e)}{140}{\code {call-last-kbd-macro (C-x e)}}
\entry{print-last-kbd-macro ()}{140}{\code {print-last-kbd-macro ()}}
\entry{re-read-init-file (C-x C-r)}{140}{\code {re-read-init-file (C-x C-r)}}
\entry{abort (C-g)}{140}{\code {abort (C-g)}}
\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{140}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}
\entry{prefix-meta (ESC)}{140}{\code {prefix-meta (\key {ESC})}}
\entry{undo (C-_ or C-x C-u)}{140}{\code {undo (C-_ or C-x C-u)}}
\entry{revert-line (M-r)}{140}{\code {revert-line (M-r)}}
\entry{tilde-expand (M-&)}{140}{\code {tilde-expand (M-&)}}
\entry{set-mark (C-@)}{140}{\code {set-mark (C-@)}}
\entry{exchange-point-and-mark (C-x C-x)}{140}{\code {exchange-point-and-mark (C-x C-x)}}
\entry{character-search (C-])}{140}{\code {character-search (C-])}}
\entry{character-search-backward (M-C-])}{140}{\code {character-search-backward (M-C-])}}
\entry{skip-csi-sequence ()}{140}{\code {skip-csi-sequence ()}}
\entry{insert-comment (M-#)}{141}{\code {insert-comment (M-#)}}
\entry{dump-functions ()}{141}{\code {dump-functions ()}}
\entry{dump-variables ()}{141}{\code {dump-variables ()}}
\entry{dump-macros ()}{141}{\code {dump-macros ()}}
\entry{spell-correct-word (C-x s)}{141}{\code {spell-correct-word (C-x s)}}
\entry{glob-complete-word (M-g)}{141}{\code {glob-complete-word (M-g)}}
\entry{glob-expand-word (C-x *)}{141}{\code {glob-expand-word (C-x *)}}
\entry{glob-list-expansions (C-x g)}{141}{\code {glob-list-expansions (C-x g)}}
\entry{display-shell-version (C-x C-v)}{142}{\code {display-shell-version (C-x C-v)}}
\entry{shell-expand-line (M-C-e)}{142}{\code {shell-expand-line (M-C-e)}}
\entry{history-expand-line (M-^)}{142}{\code {history-expand-line (M-^)}}
\entry{magic-space ()}{142}{\code {magic-space ()}}
\entry{alias-expand-line ()}{142}{\code {alias-expand-line ()}}
\entry{history-and-alias-expand-line ()}{142}{\code {history-and-alias-expand-line ()}}
\entry{insert-last-argument (M-. or M-_)}{142}{\code {insert-last-argument (M-. or M-_)}}
\entry{edit-and-execute-command (C-x C-e)}{142}{\code {edit-and-execute-command (C-x C-e)}}
+114 -114
View File
@@ -1,134 +1,134 @@
\initial {A}
\entry{\code {abort (C-g)}}{139}
\entry{\code {accept-line (Newline or Return)}}{132}
\entry{\code {alias-expand-line ()}}{141}
\entry{\code {abort (C-g)}}{140}
\entry{\code {accept-line (Newline or Return)}}{133}
\entry{\code {alias-expand-line ()}}{142}
\initial {B}
\entry{\code {backward-char (C-b)}}{131}
\entry{\code {backward-delete-char (Rubout)}}{134}
\entry{\code {backward-kill-line (C-x Rubout)}}{135}
\entry{\code {backward-kill-word (M-\key {DEL})}}{135}
\entry{\code {backward-word (M-b)}}{131}
\entry{\code {beginning-of-history (M-<)}}{132}
\entry{\code {beginning-of-line (C-a)}}{131}
\entry{\code {bracketed-paste-begin ()}}{134}
\entry{\code {backward-char (C-b)}}{132}
\entry{\code {backward-delete-char (Rubout)}}{135}
\entry{\code {backward-kill-line (C-x Rubout)}}{136}
\entry{\code {backward-kill-word (M-\key {DEL})}}{136}
\entry{\code {backward-word (M-b)}}{132}
\entry{\code {beginning-of-history (M-<)}}{133}
\entry{\code {beginning-of-line (C-a)}}{132}
\entry{\code {bracketed-paste-begin ()}}{135}
\initial {C}
\entry{\code {call-last-kbd-macro (C-x e)}}{139}
\entry{\code {capitalize-word (M-c)}}{135}
\entry{\code {character-search (C-])}}{139}
\entry{\code {character-search-backward (M-C-])}}{139}
\entry{\code {clear-display (M-C-l)}}{132}
\entry{\code {clear-screen (C-l)}}{132}
\entry{\code {complete (\key {TAB})}}{137}
\entry{\code {complete-command (M-!)}}{138}
\entry{\code {complete-filename (M-/)}}{137}
\entry{\code {complete-hostname (M-@)}}{138}
\entry{\code {complete-into-braces (M-{\tt \char 123})}}{138}
\entry{\code {complete-username (M-~)}}{138}
\entry{\code {complete-variable (M-$)}}{138}
\entry{\code {copy-backward-word ()}}{136}
\entry{\code {copy-forward-word ()}}{136}
\entry{\code {copy-region-as-kill ()}}{136}
\entry{\code {call-last-kbd-macro (C-x e)}}{140}
\entry{\code {capitalize-word (M-c)}}{136}
\entry{\code {character-search (C-])}}{140}
\entry{\code {character-search-backward (M-C-])}}{140}
\entry{\code {clear-display (M-C-l)}}{133}
\entry{\code {clear-screen (C-l)}}{133}
\entry{\code {complete (\key {TAB})}}{138}
\entry{\code {complete-command (M-!)}}{139}
\entry{\code {complete-filename (M-/)}}{138}
\entry{\code {complete-hostname (M-@)}}{139}
\entry{\code {complete-into-braces (M-{\tt \char 123})}}{139}
\entry{\code {complete-username (M-~)}}{139}
\entry{\code {complete-variable (M-$)}}{139}
\entry{\code {copy-backward-word ()}}{137}
\entry{\code {copy-forward-word ()}}{137}
\entry{\code {copy-region-as-kill ()}}{137}
\initial {D}
\entry{\code {dabbrev-expand ()}}{138}
\entry{\code {delete-char (C-d)}}{134}
\entry{\code {delete-char-or-list ()}}{137}
\entry{\code {delete-horizontal-space ()}}{136}
\entry{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{136}
\entry{\code {display-shell-version (C-x C-v)}}{141}
\entry{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{139}
\entry{\code {downcase-word (M-l)}}{135}
\entry{\code {dump-functions ()}}{140}
\entry{\code {dump-macros ()}}{140}
\entry{\code {dump-variables ()}}{140}
\entry{\code {dynamic-complete-history (M-\key {TAB})}}{138}
\entry{\code {dabbrev-expand ()}}{139}
\entry{\code {delete-char (C-d)}}{135}
\entry{\code {delete-char-or-list ()}}{138}
\entry{\code {delete-horizontal-space ()}}{137}
\entry{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{137}
\entry{\code {display-shell-version (C-x C-v)}}{142}
\entry{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{140}
\entry{\code {downcase-word (M-l)}}{136}
\entry{\code {dump-functions ()}}{141}
\entry{\code {dump-macros ()}}{141}
\entry{\code {dump-variables ()}}{141}
\entry{\code {dynamic-complete-history (M-\key {TAB})}}{139}
\initial {E}
\entry{\code {edit-and-execute-command (C-x C-e)}}{141}
\entry{\code {end-kbd-macro (C-x ))}}{138}
\entry{\code {\i {end-of-file} (usually C-d)}}{134}
\entry{\code {end-of-history (M->)}}{132}
\entry{\code {end-of-line (C-e)}}{131}
\entry{\code {exchange-point-and-mark (C-x C-x)}}{139}
\entry{\code {edit-and-execute-command (C-x C-e)}}{142}
\entry{\code {end-kbd-macro (C-x ))}}{139}
\entry{\code {\i {end-of-file} (usually C-d)}}{135}
\entry{\code {end-of-history (M->)}}{133}
\entry{\code {end-of-line (C-e)}}{132}
\entry{\code {exchange-point-and-mark (C-x C-x)}}{140}
\initial {F}
\entry{\code {fetch-history ()}}{134}
\entry{\code {forward-backward-delete-char ()}}{134}
\entry{\code {forward-char (C-f)}}{131}
\entry{\code {forward-search-history (C-s)}}{132}
\entry{\code {forward-word (M-f)}}{131}
\entry{\code {fetch-history ()}}{135}
\entry{\code {forward-backward-delete-char ()}}{135}
\entry{\code {forward-char (C-f)}}{132}
\entry{\code {forward-search-history (C-s)}}{133}
\entry{\code {forward-word (M-f)}}{132}
\initial {G}
\entry{\code {glob-complete-word (M-g)}}{140}
\entry{\code {glob-expand-word (C-x *)}}{140}
\entry{\code {glob-list-expansions (C-x g)}}{140}
\entry{\code {glob-complete-word (M-g)}}{141}
\entry{\code {glob-expand-word (C-x *)}}{141}
\entry{\code {glob-list-expansions (C-x g)}}{141}
\initial {H}
\entry{\code {history-and-alias-expand-line ()}}{141}
\entry{\code {history-expand-line (M-^)}}{141}
\entry{\code {history-search-backward ()}}{133}
\entry{\code {history-search-forward ()}}{133}
\entry{\code {history-substring-search-backward ()}}{133}
\entry{\code {history-substring-search-forward ()}}{133}
\entry{\code {history-and-alias-expand-line ()}}{142}
\entry{\code {history-expand-line (M-^)}}{142}
\entry{\code {history-search-backward ()}}{134}
\entry{\code {history-search-forward ()}}{134}
\entry{\code {history-substring-search-backward ()}}{134}
\entry{\code {history-substring-search-forward ()}}{134}
\initial {I}
\entry{\code {insert-comment (M-#)}}{140}
\entry{\code {insert-completions (M-*)}}{137}
\entry{\code {insert-last-argument (M-. or M-_)}}{141}
\entry{\code {insert-comment (M-#)}}{141}
\entry{\code {insert-completions (M-*)}}{138}
\entry{\code {insert-last-argument (M-. or M-_)}}{142}
\initial {K}
\entry{\code {kill-line (C-k)}}{135}
\entry{\code {kill-region ()}}{136}
\entry{\code {kill-whole-line ()}}{135}
\entry{\code {kill-word (M-d)}}{135}
\entry{\code {kill-line (C-k)}}{136}
\entry{\code {kill-region ()}}{137}
\entry{\code {kill-whole-line ()}}{136}
\entry{\code {kill-word (M-d)}}{136}
\initial {M}
\entry{\code {magic-space ()}}{141}
\entry{\code {menu-complete ()}}{137}
\entry{\code {menu-complete-backward ()}}{137}
\entry{\code {magic-space ()}}{142}
\entry{\code {menu-complete ()}}{138}
\entry{\code {menu-complete-backward ()}}{138}
\initial {N}
\entry{\code {next-history (C-n)}}{132}
\entry{\code {next-screen-line ()}}{132}
\entry{\code {non-incremental-forward-search-history (M-n)}}{133}
\entry{\code {non-incremental-reverse-search-history (M-p)}}{132}
\entry{\code {next-history (C-n)}}{133}
\entry{\code {next-screen-line ()}}{133}
\entry{\code {non-incremental-forward-search-history (M-n)}}{134}
\entry{\code {non-incremental-reverse-search-history (M-p)}}{133}
\initial {O}
\entry{\code {operate-and-get-next (C-o)}}{133}
\entry{\code {overwrite-mode ()}}{135}
\entry{\code {operate-and-get-next (C-o)}}{134}
\entry{\code {overwrite-mode ()}}{136}
\initial {P}
\entry{\code {possible-command-completions (C-x !)}}{138}
\entry{\code {possible-completions (M-?)}}{137}
\entry{\code {possible-filename-completions (C-x /)}}{138}
\entry{\code {possible-hostname-completions (C-x @)}}{138}
\entry{\code {possible-username-completions (C-x ~)}}{138}
\entry{\code {possible-variable-completions (C-x $)}}{138}
\entry{\code {prefix-meta (\key {ESC})}}{139}
\entry{\code {previous-history (C-p)}}{132}
\entry{\code {previous-screen-line ()}}{131}
\entry{\code {print-last-kbd-macro ()}}{139}
\entry{\code {possible-command-completions (C-x !)}}{139}
\entry{\code {possible-completions (M-?)}}{138}
\entry{\code {possible-filename-completions (C-x /)}}{139}
\entry{\code {possible-hostname-completions (C-x @)}}{139}
\entry{\code {possible-username-completions (C-x ~)}}{139}
\entry{\code {possible-variable-completions (C-x $)}}{139}
\entry{\code {prefix-meta (\key {ESC})}}{140}
\entry{\code {previous-history (C-p)}}{133}
\entry{\code {previous-screen-line ()}}{132}
\entry{\code {print-last-kbd-macro ()}}{140}
\initial {Q}
\entry{\code {quoted-insert (C-q or C-v)}}{134}
\entry{\code {quoted-insert (C-q or C-v)}}{135}
\initial {R}
\entry{\code {re-read-init-file (C-x C-r)}}{139}
\entry{\code {redraw-current-line ()}}{132}
\entry{\code {reverse-search-history (C-r)}}{132}
\entry{\code {revert-line (M-r)}}{139}
\entry{\code {re-read-init-file (C-x C-r)}}{140}
\entry{\code {redraw-current-line ()}}{133}
\entry{\code {reverse-search-history (C-r)}}{133}
\entry{\code {revert-line (M-r)}}{140}
\initial {S}
\entry{\code {self-insert (a, b, A, 1, !, \dots {})}}{134}
\entry{\code {set-mark (C-@)}}{139}
\entry{\code {shell-backward-kill-word ()}}{136}
\entry{\code {shell-backward-word (M-C-b)}}{131}
\entry{\code {shell-expand-line (M-C-e)}}{141}
\entry{\code {shell-forward-word (M-C-f)}}{131}
\entry{\code {shell-kill-word (M-C-d)}}{136}
\entry{\code {shell-transpose-words (M-C-t)}}{136}
\entry{\code {skip-csi-sequence ()}}{139}
\entry{\code {spell-correct-word (C-x s)}}{140}
\entry{\code {start-kbd-macro (C-x ()}}{138}
\entry{\code {self-insert (a, b, A, 1, !, \dots {})}}{135}
\entry{\code {set-mark (C-@)}}{140}
\entry{\code {shell-backward-kill-word ()}}{137}
\entry{\code {shell-backward-word (M-C-b)}}{132}
\entry{\code {shell-expand-line (M-C-e)}}{142}
\entry{\code {shell-forward-word (M-C-f)}}{132}
\entry{\code {shell-kill-word (M-C-d)}}{137}
\entry{\code {shell-transpose-words (M-C-t)}}{137}
\entry{\code {skip-csi-sequence ()}}{140}
\entry{\code {spell-correct-word (C-x s)}}{141}
\entry{\code {start-kbd-macro (C-x ()}}{139}
\initial {T}
\entry{\code {tilde-expand (M-&)}}{139}
\entry{\code {transpose-chars (C-t)}}{134}
\entry{\code {transpose-words (M-t)}}{135}
\entry{\code {tilde-expand (M-&)}}{140}
\entry{\code {transpose-chars (C-t)}}{135}
\entry{\code {transpose-words (M-t)}}{136}
\initial {U}
\entry{\code {undo (C-_ or C-x C-u)}}{139}
\entry{\code {universal-argument ()}}{137}
\entry{\code {unix-filename-rubout ()}}{136}
\entry{\code {unix-line-discard (C-u)}}{135}
\entry{\code {unix-word-rubout (C-w)}}{136}
\entry{\code {upcase-word (M-u)}}{135}
\entry{\code {undo (C-_ or C-x C-u)}}{140}
\entry{\code {universal-argument ()}}{138}
\entry{\code {unix-filename-rubout ()}}{137}
\entry{\code {unix-line-discard (C-u)}}{136}
\entry{\code {unix-word-rubout (C-w)}}{137}
\entry{\code {upcase-word (M-u)}}{136}
\initial {Y}
\entry{\code {yank (C-y)}}{136}
\entry{\code {yank-last-arg (M-. or M-_)}}{133}
\entry{\code {yank-nth-arg (M-C-y)}}{133}
\entry{\code {yank-pop (M-y)}}{136}
\entry{\code {yank (C-y)}}{137}
\entry{\code {yank-last-arg (M-. or M-_)}}{134}
\entry{\code {yank-nth-arg (M-C-y)}}{134}
\entry{\code {yank-pop (M-y)}}{137}
+35 -12
View File
@@ -4,11 +4,11 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- This text is a brief description of the features that are present in
the Bash shell (version 5.1, 16 November 2021).
the Bash shell (version 5.2, 22 November 2021).
This is Edition 5.1, last updated 16 November 2021,
This is Edition 5.2, last updated 22 November 2021,
of The GNU Bash Reference Manual,
for Bash, Version 5.1.
for Bash, Version 5.2.
Copyright (C) 1988-2021 Free Software Foundation, Inc.
@@ -77,12 +77,12 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Previou
<span id="Bash-Features-1"></span><h1 class="top">Bash Features</h1>
<p>This text is a brief description of the features that are present in
the Bash shell (version 5.1, 16 November 2021).
the Bash shell (version 5.2, 22 November 2021).
The Bash home page is <a href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
</p>
<p>This is Edition 5.1, last updated 16 November 2021,
<p>This is Edition 5.2, last updated 22 November 2021,
of <cite>The GNU Bash Reference Manual</cite>,
for <code>Bash</code>, Version 5.1.
for <code>Bash</code>, Version 5.2.
</p>
<p>Bash contains features that appear in other popular shells, and some
features that only appear in Bash. Some of the shells that Bash has
@@ -5518,8 +5518,10 @@ from regular files.
If <code>read</code> times out, <code>read</code> saves any partial input read into
the specified variable <var>name</var>.
If <var>timeout</var> is 0, <code>read</code> returns immediately, without trying to
read any data. The exit status is 0 if input is available on
the specified file descriptor, non-zero otherwise.
read any data.
The exit status is 0 if input is available on the specified file descriptor,
or the read will return EOF,
non-zero otherwise.
The exit status is greater than 128 if the timeout is exceeded.
</p>
</dd>
@@ -6012,6 +6014,11 @@ Turning this option off causes the effective user
and group ids to be set to the real user and group ids.
</p>
</dd>
<dt><span><code>-r</code></span></dt>
<dd><p>Enable restricted shell mode.
This option cannot be unset once it has been set.
</p>
</dd>
<dt><span><code>-t</code></span></dt>
<dd><p>Exit after reading and executing one command.
</p>
@@ -8109,9 +8116,11 @@ status will not cause the shell to exit (see <a href="#Bash-POSIX-Mode">Bash POS
</li><li> Parser syntax errors will not cause the shell to exit.
</li><li> Simple spelling correction for directory arguments to the <code>cd</code>
builtin is enabled by default (see the description of the <code>cdspell</code>
</li><li> If the <code>cdspell</code> shell option is enabled, the shell will attempt
simple spelling correction for directory arguments to the <code>cd</code>
builtin (see the description of the <code>cdspell</code>
option to the <code>shopt</code> builtin in <a href="#The-Shopt-Builtin">The Shopt Builtin</a>).
The <code>cdspell</code> option is only effective in interactive shells.
</li><li> The shell will check the value of the <code>TMOUT</code> variable and exit
if a command is not read within the specified number of seconds after
@@ -8654,8 +8663,14 @@ destroys the array element at index <var>subscript</var>.
Negative subscripts to indexed arrays are interpreted as described above.
Unsetting the last element of an array variable does not unset the variable.
<code>unset <var>name</var></code>, where <var>name</var> is an array, removes the
entire array. A subscript of &lsquo;<samp>*</samp>&rsquo; or &lsquo;<samp>@</samp>&rsquo; also removes the
entire array.
<code>unset <var>name</var>[<var>subscript</var>]</code> behaves differently
depending on the array type when given a
subscript of &lsquo;<samp>*</samp>&rsquo; or &lsquo;<samp>@</samp>&rsquo;.
When <var>name</var> is an associative array, it removes the element with key
&lsquo;<samp>*</samp>&rsquo; or &lsquo;<samp>@</samp>&rsquo;.
If <var>name</var> is an indexed array, <code>unset</code> removes all of the elements,
but does not remove the array itself.
</p>
<p>When using a variable name with a subscript as an argument to a command,
such as with <code>unset</code>, without using the word expansion syntax
@@ -9009,7 +9024,7 @@ option to the <code>hash</code> builtin command.
<samp>-f</samp> and <samp>-d</samp> options to the <code>enable</code> builtin.
</li><li> Using the <code>enable</code> builtin command to enable disabled shell builtins.
</li><li> Specifying the <samp>-p</samp> option to the <code>command</code> builtin.
</li><li> Turning off restricted mode with &lsquo;<samp>set +r</samp>&rsquo; or &lsquo;<samp>set +o restricted</samp>&rsquo;.
</li><li> Turning off restricted mode with &lsquo;<samp>set +r</samp>&rsquo; or &lsquo;<samp>shopt -u restricted_shell</samp>&rsquo;.
</li></ul>
<p>These restrictions are enforced after any startup files are read.
@@ -9464,6 +9479,14 @@ printed an informational message to that effect, even when producing
output that can be reused as input. Bash-5.1 suppresses that message
when the <samp>-l</samp> option is supplied.
</li></ul>
</dd>
<dt><span><code>compat51 (set using BASH_COMPAT)</code></span></dt>
<dd><ul>
<li> The <code>unset</code> builtin treats attempts to unset array subscripts &lsquo;<samp>@</samp>&rsquo;
and &lsquo;<samp>*</samp>&rsquo; differently depending on whether the array is indexed or
associative, and differently than in previous versions.
</li></ul>
</dd>
</dl>
+115 -97
View File
@@ -2,10 +2,10 @@ This is bashref.info, produced by makeinfo version 6.8 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 5.1, 16 November 2021).
Bash shell (version 5.2, 22 November 2021).
This is Edition 5.1, last updated 16 November 2021, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.1.
This is Edition 5.2, last updated 22 November 2021, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.2.
Copyright (C) 1988-2021 Free Software Foundation, Inc.
@@ -27,11 +27,11 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 5.1, 16 November 2021). The Bash home page is
Bash shell (version 5.2, 22 November 2021). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 5.1, last updated 16 November 2021, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.1.
This is Edition 5.2, last updated 22 November 2021, of 'The GNU Bash
Reference Manual', for 'Bash', Version 5.2.
Bash contains features that appear in other popular shells, and some
features that only appear in Bash. Some of the shells that Bash has
@@ -4174,8 +4174,9 @@ standard.
partial input read into the specified variable NAME. If
TIMEOUT is 0, 'read' returns immediately, without trying to
read any data. The exit status is 0 if input is available on
the specified file descriptor, non-zero otherwise. The exit
status is greater than 128 if the timeout is exceeded.
the specified file descriptor, or the read will return EOF,
non-zero otherwise. The exit status is greater than 128 if
the timeout is exceeded.
'-u FD'
Read input from file descriptor FD.
@@ -4557,6 +4558,10 @@ parameters, or to display the names and values of shell variables.
causes the effective user and group ids to be set to the real
user and group ids.
'-r'
Enable restricted shell mode. This option cannot be unset
once it has been set.
'-t'
Exit after reading and executing one command.
@@ -6255,9 +6260,11 @@ several ways.
19. Parser syntax errors will not cause the shell to exit.
20. Simple spelling correction for directory arguments to the 'cd'
builtin is enabled by default (see the description of the 'cdspell'
option to the 'shopt' builtin in *note The Shopt Builtin::).
20. If the 'cdspell' shell option is enabled, the shell will attempt
simple spelling correction for directory arguments to the 'cd'
builtin (see the description of the 'cdspell' option to the 'shopt'
builtin in *note The Shopt Builtin::). The 'cdspell' option is
only effective in interactive shells.
21. The shell will check the value of the 'TMOUT' variable and exit if
a command is not read within the specified number of seconds after
@@ -6665,7 +6672,11 @@ NAME[SUBSCRIPT]' destroys the array element at index SUBSCRIPT.
Negative subscripts to indexed arrays are interpreted as described
above. Unsetting the last element of an array variable does not unset
the variable. 'unset NAME', where NAME is an array, removes the entire
array. A subscript of '*' or '@' also removes the entire array.
array. 'unset NAME[SUBSCRIPT]' behaves differently depending on the
array type when given a subscript of '*' or '@'. When NAME is an
associative array, it removes the element with key '*' or '@'. If NAME
is an indexed array, 'unset' removes all of the elements, but does not
remove the array itself.
When using a variable name with a subscript as an argument to a
command, such as with 'unset', without using the word expansion syntax
@@ -6931,7 +6942,8 @@ with the exception that the following are disallowed or not performed:
* Using the 'enable' builtin command to enable disabled shell
builtins.
* Specifying the '-p' option to the 'command' builtin.
* Turning off restricted mode with 'set +r' or 'set +o restricted'.
* Turning off restricted mode with 'set +r' or 'shopt -u
restricted_shell'.
These restrictions are enforced after any startup files are read.
@@ -7337,6 +7349,12 @@ required for bash-5.1 and later versions.
when producing output that can be reused as input. Bash-5.1
suppresses that message when the '-l' option is supplied.
'compat51 (set using BASH_COMPAT)'
* The 'unset' builtin treats attempts to unset array subscripts
'@' and '*' differently depending on whether the array is
indexed or associative, and differently than in previous
versions.

File: bashref.info, Node: Job Control, Next: Command Line Editing, Prev: Bash Features, Up: Top
@@ -11690,7 +11708,7 @@ D.1 Index of Shell Builtin Commands
* pwd: Bourne Shell Builtins.
(line 211)
* read: Bash Builtins. (line 488)
* readarray: Bash Builtins. (line 584)
* readarray: Bash Builtins. (line 585)
* readonly: Bourne Shell Builtins.
(line 221)
* return: Bourne Shell Builtins.
@@ -11699,7 +11717,7 @@ D.1 Index of Shell Builtin Commands
* shift: Bourne Shell Builtins.
(line 261)
* shopt: The Shopt Builtin. (line 9)
* source: Bash Builtins. (line 593)
* source: Bash Builtins. (line 594)
* suspend: Job Control Builtins.
(line 113)
* test: Bourne Shell Builtins.
@@ -11708,12 +11726,12 @@ D.1 Index of Shell Builtin Commands
(line 359)
* trap: Bourne Shell Builtins.
(line 365)
* type: Bash Builtins. (line 598)
* typeset: Bash Builtins. (line 630)
* ulimit: Bash Builtins. (line 636)
* type: Bash Builtins. (line 599)
* typeset: Bash Builtins. (line 631)
* ulimit: Bash Builtins. (line 637)
* umask: Bourne Shell Builtins.
(line 414)
* unalias: Bash Builtins. (line 742)
* unalias: Bash Builtins. (line 743)
* unset: Bourne Shell Builtins.
(line 432)
* wait: Job Control Builtins.
@@ -12429,84 +12447,84 @@ Node: Shell Scripts132738
Node: Shell Builtin Commands135765
Node: Bourne Shell Builtins137803
Node: Bash Builtins159264
Node: Modifying Shell Behavior190081
Node: The Set Builtin190426
Node: The Shopt Builtin200856
Node: Special Builtins216570
Node: Shell Variables217549
Node: Bourne Shell Variables217986
Node: Bash Variables220090
Node: Bash Features252905
Node: Invoking Bash253918
Node: Bash Startup Files259931
Node: Interactive Shells265034
Node: What is an Interactive Shell?265444
Node: Is this Shell Interactive?266093
Node: Interactive Shell Behavior266908
Node: Bash Conditional Expressions270421
Node: Shell Arithmetic275063
Node: Aliases278007
Node: Arrays280620
Node: The Directory Stack286629
Node: Directory Stack Builtins287413
Node: Controlling the Prompt291673
Node: The Restricted Shell294638
Node: Bash POSIX Mode297235
Node: Shell Compatibility Mode308508
Node: Job Control315164
Node: Job Control Basics315624
Node: Job Control Builtins320626
Node: Job Control Variables326026
Node: Command Line Editing327182
Node: Introduction and Notation328853
Node: Readline Interaction330476
Node: Readline Bare Essentials331667
Node: Readline Movement Commands333450
Node: Readline Killing Commands334410
Node: Readline Arguments336328
Node: Searching337372
Node: Readline Init File339558
Node: Readline Init File Syntax340819
Node: Conditional Init Constructs362307
Node: Sample Init File366503
Node: Bindable Readline Commands369627
Node: Commands For Moving370831
Node: Commands For History372882
Node: Commands For Text377876
Node: Commands For Killing381525
Node: Numeric Arguments384558
Node: Commands For Completion385697
Node: Keyboard Macros389888
Node: Miscellaneous Commands390575
Node: Readline vi Mode396514
Node: Programmable Completion397421
Node: Programmable Completion Builtins405201
Node: A Programmable Completion Example415896
Node: Using History Interactively421143
Node: Bash History Facilities421827
Node: Bash History Builtins424832
Node: History Interaction429840
Node: Event Designators433460
Node: Word Designators434814
Node: Modifiers436574
Node: Installing Bash438385
Node: Basic Installation439522
Node: Compilers and Options443244
Node: Compiling For Multiple Architectures443985
Node: Installation Names445678
Node: Specifying the System Type447787
Node: Sharing Defaults448503
Node: Operation Controls449176
Node: Optional Features450134
Node: Reporting Bugs461227
Node: Major Differences From The Bourne Shell462502
Node: GNU Free Documentation License479352
Node: Indexes504529
Node: Builtin Index504983
Node: Reserved Word Index511810
Node: Variable Index514258
Node: Function Index530750
Node: Concept Index544534
Node: Modifying Shell Behavior190120
Node: The Set Builtin190465
Node: The Shopt Builtin201007
Node: Special Builtins216721
Node: Shell Variables217700
Node: Bourne Shell Variables218137
Node: Bash Variables220241
Node: Bash Features253056
Node: Invoking Bash254069
Node: Bash Startup Files260082
Node: Interactive Shells265185
Node: What is an Interactive Shell?265595
Node: Is this Shell Interactive?266244
Node: Interactive Shell Behavior267059
Node: Bash Conditional Expressions270688
Node: Shell Arithmetic275330
Node: Aliases278274
Node: Arrays280887
Node: The Directory Stack287134
Node: Directory Stack Builtins287918
Node: Controlling the Prompt292178
Node: The Restricted Shell295143
Node: Bash POSIX Mode297753
Node: Shell Compatibility Mode309026
Node: Job Control315945
Node: Job Control Basics316405
Node: Job Control Builtins321407
Node: Job Control Variables326807
Node: Command Line Editing327963
Node: Introduction and Notation329634
Node: Readline Interaction331257
Node: Readline Bare Essentials332448
Node: Readline Movement Commands334231
Node: Readline Killing Commands335191
Node: Readline Arguments337109
Node: Searching338153
Node: Readline Init File340339
Node: Readline Init File Syntax341600
Node: Conditional Init Constructs363088
Node: Sample Init File367284
Node: Bindable Readline Commands370408
Node: Commands For Moving371612
Node: Commands For History373663
Node: Commands For Text378657
Node: Commands For Killing382306
Node: Numeric Arguments385339
Node: Commands For Completion386478
Node: Keyboard Macros390669
Node: Miscellaneous Commands391356
Node: Readline vi Mode397295
Node: Programmable Completion398202
Node: Programmable Completion Builtins405982
Node: A Programmable Completion Example416677
Node: Using History Interactively421924
Node: Bash History Facilities422608
Node: Bash History Builtins425613
Node: History Interaction430621
Node: Event Designators434241
Node: Word Designators435595
Node: Modifiers437355
Node: Installing Bash439166
Node: Basic Installation440303
Node: Compilers and Options444025
Node: Compiling For Multiple Architectures444766
Node: Installation Names446459
Node: Specifying the System Type448568
Node: Sharing Defaults449284
Node: Operation Controls449957
Node: Optional Features450915
Node: Reporting Bugs462008
Node: Major Differences From The Bourne Shell463283
Node: GNU Free Documentation License480133
Node: Indexes505310
Node: Builtin Index505764
Node: Reserved Word Index512591
Node: Variable Index515039
Node: Function Index531531
Node: Concept Index545315

End Tag Table
+26 -26
View File
@@ -1,4 +1,4 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/MacPorts 2021.58693_0) (preloaded format=pdftex 2021.10.21) 16 NOV 2021 10:03
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/MacPorts 2021.58693_0) (preloaded format=pdftex 2021.10.21) 22 NOV 2021 11:02
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
@@ -223,7 +223,7 @@ Overfull \hbox (5.95723pt too wide) in paragraph at lines 724--725
[47] [48] [49] [50] [51]
[52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65]
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5174--5174
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5176--5176
[]@texttt set [-abefhkmnptuvxBCEHPT] [-o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
@@ -236,7 +236,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5174--5174
.etc.
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5175--5175
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5177--5177
[]@texttt set [+abefhkmnptuvxBCEHPT] [+o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
@@ -251,12 +251,12 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5175--5175
[66] [67] [68] [69] [70] [71] [72] [73] [74] [75] Chapter 5 [76] [77] [78]
[79] [80] [81] [82] [83] [84] [85] [86] [87] [88] Chapter 6 [89] [90] [91]
[92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105]
[106] [107] [108] [109] Chapter 7 [110] [111] [112] [113]
[106] [107] [108] [109] [110] Chapter 7 [111] [112] [113] [114]
texinfo.tex: doing @include of rluser.texi
(/Users/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8 [114] [115]
[116] [117] [118] [119] [120] [121] [122] [123] [124]
(/Users/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8 [115] [116]
[117] [118] [119] [120] [121] [122] [123] [124] [125]
Underfull \hbox (badness 7540) in paragraph at lines 831--837
[]@textrm In the ex-am-ple above, @textttsl C-u[] @textrm is bound to the func
-tion
@@ -282,7 +282,7 @@ e func-tion
.@texttt v
.etc.
[125] [126] [127] [128]
[126] [127] [128] [129]
Overfull \hbox (26.43913pt too wide) in paragraph at lines 1065--1065
[]@texttt Meta-Control-h: backward-kill-word Text after the function name is i
gnored[]
@@ -295,12 +295,12 @@ gnored[]
.@texttt t
.etc.
[129] [130]
[130] [131]
@fnindfile=@write6
\openout6 = `bashref.fn'.
[131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143]
[132] [133] [134] [135] [136] [137] [138] [139] [140] [141]
[142] [143] [144]
Overfull \hbox (15.27109pt too wide) in paragraph at lines 2090--2090
[]@texttt complete [-abcdefgjksuv] [-o @textttsl comp-option@texttt ] [-DEI] [
-A @textttsl ac-tion@texttt ] [-
@@ -313,13 +313,13 @@ Overfull \hbox (15.27109pt too wide) in paragraph at lines 2090--2090
.@texttt m
.etc.
[144] [145] [146] [147] [148])
[145] [146] [147] [148] [149])
texinfo.tex: doing @include of hsuser.texi
(/Users/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9 [149] [150]
[151] [152] [153] [154]) Chapter 10 [155] [156] [157] [158] [159]
Underfull \hbox (badness 10000) in paragraph at lines 9237--9246
(/Users/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9 [150] [151]
[152] [153] [154] [155]) Chapter 10 [156] [157] [158] [159] [160]
Underfull \hbox (badness 10000) in paragraph at lines 9259--9268
[]@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
entation[]@textrm '[],
@@ -332,7 +332,7 @@ entation[]@textrm '[],
.etc.
Underfull \hbox (badness 10000) in paragraph at lines 9237--9246
Underfull \hbox (badness 10000) in paragraph at lines 9259--9268
@textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
extrm '[], `@texttt strict-posix-default[]@textrm '[], and
@@ -344,16 +344,16 @@ extrm '[], `@texttt strict-posix-default[]@textrm '[], and
.@texttt a
.etc.
[160] [161] [162] Appendix A [163] Appendix B [164] [165] [166] [167] [168]
[169] Appendix C [170]
[161] [162] [163] Appendix A [164] Appendix B [165] [166] [167] [168] [169]
[170] Appendix C [171]
texinfo.tex: doing @include of fdl.texi
(./fdl.texi [171] [172] [173] [174] [175] [176] [177])
Appendix D [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] )
(./fdl.texi [172] [173] [174] [175] [176] [177] [178])
Appendix D [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] )
Here is how much of TeX's memory you used:
4091 strings out of 497086
46914 string characters out of 6206519
140407 words of memory out of 5000000
4092 strings out of 497086
46917 string characters out of 6206519
140373 words of memory out of 5000000
4867 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
@@ -375,10 +375,10 @@ mti10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmtt10
</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 (193 pages, 787947 bytes).
Output written on bashref.pdf (194 pages, 788761 bytes).
PDF statistics:
2733 PDF objects out of 2984 (max. 8388607)
2494 compressed objects within 25 object streams
321 named destinations out of 1000 (max. 500000)
2736 PDF objects out of 2984 (max. 8388607)
2496 compressed objects within 25 object streams
322 named destinations out of 1000 (max. 500000)
1141 words of extra memory for PDF output out of 10000 (max. 10000000)
BIN
View File
Binary file not shown.
+1622 -1603
View File
File diff suppressed because it is too large Load Diff
+24 -4
View File
@@ -4937,8 +4937,10 @@ from regular files.
If @code{read} times out, @code{read} saves any partial input read into
the specified variable @var{name}.
If @var{timeout} is 0, @code{read} returns immediately, without trying to
read any data. The exit status is 0 if input is available on
the specified file descriptor, non-zero otherwise.
read any data.
The exit status is 0 if input is available on the specified file descriptor,
or the read will return EOF,
non-zero otherwise.
The exit status is greater than 128 if the timeout is exceeded.
@item -u @var{fd}
@@ -5359,6 +5361,10 @@ not reset.
Turning this option off causes the effective user
and group ids to be set to the real user and group ids.
@item -r
Enable restricted shell mode.
This option cannot be unset once it has been set.
@item -t
Exit after reading and executing one command.
@@ -7698,8 +7704,14 @@ destroys the array element at index @var{subscript}.
Negative subscripts to indexed arrays are interpreted as described above.
Unsetting the last element of an array variable does not unset the variable.
@code{unset @var{name}}, where @var{name} is an array, removes the
entire array. A subscript of @samp{*} or @samp{@@} also removes the
entire array.
@code{unset @var{name}[@var{subscript}]} behaves differently
depending on the array type when given a
subscript of @samp{*} or @samp{@@}.
When @var{name} is an associative array, it removes the element with key
@samp{*} or @samp{@@}.
If @var{name} is an indexed array, @code{unset} removes all of the elements,
but does not remove the array itself.
When using a variable name with a subscript as an argument to a command,
such as with @code{unset}, without using the word expansion syntax
@@ -8004,7 +8016,7 @@ Using the @code{enable} builtin command to enable disabled shell builtins.
@item
Specifying the @option{-p} option to the @code{command} builtin.
@item
Turning off restricted mode with @samp{set +r} or @samp{set +o restricted}.
Turning off restricted mode with @samp{set +r} or @samp{shopt -u restricted_shell}.
@end itemize
These restrictions are enforced after any startup files are read.
@@ -8523,6 +8535,14 @@ printed an informational message to that effect, even when producing
output that can be reused as input. Bash-5.1 suppresses that message
when the @option{-l} option is supplied.
@end itemize
@item compat51 (set using BASH_COMPAT)
@itemize @bullet
@item
The @code{unset} builtin treats attempts to unset array subscripts @samp{@@}
and @samp{*} differently depending on whether the array is indexed or
associative, and differently than in previous versions.
@end itemize
@end table
@node Job Control
+56 -56
View File
@@ -83,59 +83,59 @@
@numsecentry{Controlling the Prompt}{6.9}{Controlling the Prompt}{103}
@numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{104}
@numsecentry{Bash POSIX Mode}{6.11}{Bash POSIX Mode}{105}
@numsecentry{Shell Compatibility Mode}{6.12}{Shell Compatibility Mode}{108}
@numchapentry{Job Control}{7}{Job Control}{111}
@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{111}
@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{112}
@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{114}
@numchapentry{Command Line Editing}{8}{Command Line Editing}{115}
@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{115}
@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{115}
@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{116}
@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{116}
@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{117}
@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{117}
@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{117}
@numsecentry{Readline Init File}{8.3}{Readline Init File}{118}
@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{118}
@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{126}
@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{128}
@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{131}
@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{131}
@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{132}
@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{134}
@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{135}
@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{136}
@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{137}
@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{138}
@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{139}
@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{141}
@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{141}
@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{144}
@numsecentry{A Programmable Completion Example}{8.8}{A Programmable Completion Example}{148}
@numchapentry{Using History Interactively}{9}{Using History Interactively}{150}
@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{150}
@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{150}
@numsecentry{History Expansion}{9.3}{History Interaction}{152}
@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{153}
@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{154}
@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{154}
@numchapentry{Installing Bash}{10}{Installing Bash}{156}
@numsecentry{Basic Installation}{10.1}{Basic Installation}{156}
@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{157}
@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{157}
@numsecentry{Installation Names}{10.4}{Installation Names}{158}
@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{158}
@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{158}
@numsecentry{Operation Controls}{10.7}{Operation Controls}{159}
@numsecentry{Optional Features}{10.8}{Optional Features}{159}
@appentry{Reporting Bugs}{A}{Reporting Bugs}{164}
@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{165}
@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{169}
@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{171}
@appentry{Indexes}{D}{Indexes}{179}
@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{179}
@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{180}
@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{181}
@appsecentry{Function Index}{D.4}{Function Index}{183}
@appsecentry{Concept Index}{D.5}{Concept Index}{185}
@numsecentry{Shell Compatibility Mode}{6.12}{Shell Compatibility Mode}{109}
@numchapentry{Job Control}{7}{Job Control}{112}
@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{112}
@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{113}
@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{115}
@numchapentry{Command Line Editing}{8}{Command Line Editing}{116}
@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{116}
@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{116}
@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{117}
@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{117}
@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{118}
@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{118}
@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{118}
@numsecentry{Readline Init File}{8.3}{Readline Init File}{119}
@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{119}
@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{127}
@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{129}
@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{132}
@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{132}
@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{133}
@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{135}
@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{136}
@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{137}
@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{138}
@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{139}
@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{140}
@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{142}
@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{142}
@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{145}
@numsecentry{A Programmable Completion Example}{8.8}{A Programmable Completion Example}{149}
@numchapentry{Using History Interactively}{9}{Using History Interactively}{151}
@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{151}
@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{151}
@numsecentry{History Expansion}{9.3}{History Interaction}{153}
@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{154}
@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{155}
@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{155}
@numchapentry{Installing Bash}{10}{Installing Bash}{157}
@numsecentry{Basic Installation}{10.1}{Basic Installation}{157}
@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{158}
@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{158}
@numsecentry{Installation Names}{10.4}{Installation Names}{159}
@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{159}
@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{159}
@numsecentry{Operation Controls}{10.7}{Operation Controls}{160}
@numsecentry{Optional Features}{10.8}{Optional Features}{160}
@appentry{Reporting Bugs}{A}{Reporting Bugs}{165}
@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{166}
@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{170}
@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{172}
@appentry{Indexes}{D}{Indexes}{180}
@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{180}
@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{181}
@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{182}
@appsecentry{Function Index}{D.4}{Function Index}{184}
@appsecentry{Concept Index}{D.5}{Concept Index}{186}
+42 -42
View File
@@ -127,45 +127,45 @@
\entry{TMOUT}{88}{\code {TMOUT}}
\entry{TMPDIR}{89}{\code {TMPDIR}}
\entry{UID}{89}{\code {UID}}
\entry{auto_resume}{114}{\code {auto_resume}}
\entry{bell-style}{119}{\code {bell-style}}
\entry{bind-tty-special-chars}{119}{\code {bind-tty-special-chars}}
\entry{blink-matching-paren}{119}{\code {blink-matching-paren}}
\entry{colored-completion-prefix}{119}{\code {colored-completion-prefix}}
\entry{colored-stats}{119}{\code {colored-stats}}
\entry{comment-begin}{119}{\code {comment-begin}}
\entry{completion-display-width}{120}{\code {completion-display-width}}
\entry{completion-ignore-case}{120}{\code {completion-ignore-case}}
\entry{completion-map-case}{120}{\code {completion-map-case}}
\entry{completion-prefix-display-length}{120}{\code {completion-prefix-display-length}}
\entry{completion-query-items}{120}{\code {completion-query-items}}
\entry{convert-meta}{120}{\code {convert-meta}}
\entry{disable-completion}{120}{\code {disable-completion}}
\entry{echo-control-characters}{120}{\code {echo-control-characters}}
\entry{editing-mode}{120}{\code {editing-mode}}
\entry{emacs-mode-string}{121}{\code {emacs-mode-string}}
\entry{enable-active-region}{121}{\code {enable-active-region}}
\entry{enable-bracketed-paste}{121}{\code {enable-bracketed-paste}}
\entry{enable-keypad}{121}{\code {enable-keypad}}
\entry{expand-tilde}{121}{\code {expand-tilde}}
\entry{history-preserve-point}{121}{\code {history-preserve-point}}
\entry{history-size}{122}{\code {history-size}}
\entry{horizontal-scroll-mode}{122}{\code {horizontal-scroll-mode}}
\entry{input-meta}{122}{\code {input-meta}}
\entry{meta-flag}{122}{\code {meta-flag}}
\entry{isearch-terminators}{122}{\code {isearch-terminators}}
\entry{keymap}{122}{\code {keymap}}
\entry{mark-modified-lines}{123}{\code {mark-modified-lines}}
\entry{mark-symlinked-directories}{123}{\code {mark-symlinked-directories}}
\entry{match-hidden-files}{123}{\code {match-hidden-files}}
\entry{menu-complete-display-prefix}{123}{\code {menu-complete-display-prefix}}
\entry{output-meta}{123}{\code {output-meta}}
\entry{page-completions}{123}{\code {page-completions}}
\entry{revert-all-at-newline}{123}{\code {revert-all-at-newline}}
\entry{show-all-if-ambiguous}{124}{\code {show-all-if-ambiguous}}
\entry{show-all-if-unmodified}{124}{\code {show-all-if-unmodified}}
\entry{show-mode-in-prompt}{124}{\code {show-mode-in-prompt}}
\entry{skip-completed-text}{124}{\code {skip-completed-text}}
\entry{vi-cmd-mode-string}{124}{\code {vi-cmd-mode-string}}
\entry{vi-ins-mode-string}{124}{\code {vi-ins-mode-string}}
\entry{visible-stats}{125}{\code {visible-stats}}
\entry{auto_resume}{115}{\code {auto_resume}}
\entry{bell-style}{120}{\code {bell-style}}
\entry{bind-tty-special-chars}{120}{\code {bind-tty-special-chars}}
\entry{blink-matching-paren}{120}{\code {blink-matching-paren}}
\entry{colored-completion-prefix}{120}{\code {colored-completion-prefix}}
\entry{colored-stats}{120}{\code {colored-stats}}
\entry{comment-begin}{120}{\code {comment-begin}}
\entry{completion-display-width}{121}{\code {completion-display-width}}
\entry{completion-ignore-case}{121}{\code {completion-ignore-case}}
\entry{completion-map-case}{121}{\code {completion-map-case}}
\entry{completion-prefix-display-length}{121}{\code {completion-prefix-display-length}}
\entry{completion-query-items}{121}{\code {completion-query-items}}
\entry{convert-meta}{121}{\code {convert-meta}}
\entry{disable-completion}{121}{\code {disable-completion}}
\entry{echo-control-characters}{121}{\code {echo-control-characters}}
\entry{editing-mode}{121}{\code {editing-mode}}
\entry{emacs-mode-string}{122}{\code {emacs-mode-string}}
\entry{enable-active-region}{122}{\code {enable-active-region}}
\entry{enable-bracketed-paste}{122}{\code {enable-bracketed-paste}}
\entry{enable-keypad}{122}{\code {enable-keypad}}
\entry{expand-tilde}{122}{\code {expand-tilde}}
\entry{history-preserve-point}{122}{\code {history-preserve-point}}
\entry{history-size}{123}{\code {history-size}}
\entry{horizontal-scroll-mode}{123}{\code {horizontal-scroll-mode}}
\entry{input-meta}{123}{\code {input-meta}}
\entry{meta-flag}{123}{\code {meta-flag}}
\entry{isearch-terminators}{123}{\code {isearch-terminators}}
\entry{keymap}{123}{\code {keymap}}
\entry{mark-modified-lines}{124}{\code {mark-modified-lines}}
\entry{mark-symlinked-directories}{124}{\code {mark-symlinked-directories}}
\entry{match-hidden-files}{124}{\code {match-hidden-files}}
\entry{menu-complete-display-prefix}{124}{\code {menu-complete-display-prefix}}
\entry{output-meta}{124}{\code {output-meta}}
\entry{page-completions}{124}{\code {page-completions}}
\entry{revert-all-at-newline}{124}{\code {revert-all-at-newline}}
\entry{show-all-if-ambiguous}{125}{\code {show-all-if-ambiguous}}
\entry{show-all-if-unmodified}{125}{\code {show-all-if-unmodified}}
\entry{show-mode-in-prompt}{125}{\code {show-mode-in-prompt}}
\entry{skip-completed-text}{125}{\code {skip-completed-text}}
\entry{vi-cmd-mode-string}{125}{\code {vi-cmd-mode-string}}
\entry{vi-ins-mode-string}{125}{\code {vi-ins-mode-string}}
\entry{visible-stats}{126}{\code {visible-stats}}
+42 -42
View File
@@ -26,7 +26,7 @@
\initial {0}
\entry{\code {0}}{23}
\initial {A}
\entry{\code {auto_resume}}{114}
\entry{\code {auto_resume}}{115}
\initial {B}
\entry{\code {BASH}}{78}
\entry{\code {BASH_ALIASES}}{78}
@@ -48,16 +48,16 @@
\entry{\code {BASH_XTRACEFD}}{80}
\entry{\code {BASHOPTS}}{78}
\entry{\code {BASHPID}}{78}
\entry{\code {bell-style}}{119}
\entry{\code {bind-tty-special-chars}}{119}
\entry{\code {blink-matching-paren}}{119}
\entry{\code {bell-style}}{120}
\entry{\code {bind-tty-special-chars}}{120}
\entry{\code {blink-matching-paren}}{120}
\initial {C}
\entry{\code {CDPATH}}{77}
\entry{\code {CHILD_MAX}}{81}
\entry{\code {colored-completion-prefix}}{119}
\entry{\code {colored-stats}}{119}
\entry{\code {colored-completion-prefix}}{120}
\entry{\code {colored-stats}}{120}
\entry{\code {COLUMNS}}{81}
\entry{\code {comment-begin}}{119}
\entry{\code {comment-begin}}{120}
\entry{\code {COMP_CWORD}}{81}
\entry{\code {COMP_KEY}}{81}
\entry{\code {COMP_LINE}}{81}
@@ -65,31 +65,31 @@
\entry{\code {COMP_TYPE}}{81}
\entry{\code {COMP_WORDBREAKS}}{81}
\entry{\code {COMP_WORDS}}{81}
\entry{\code {completion-display-width}}{120}
\entry{\code {completion-ignore-case}}{120}
\entry{\code {completion-map-case}}{120}
\entry{\code {completion-prefix-display-length}}{120}
\entry{\code {completion-query-items}}{120}
\entry{\code {completion-display-width}}{121}
\entry{\code {completion-ignore-case}}{121}
\entry{\code {completion-map-case}}{121}
\entry{\code {completion-prefix-display-length}}{121}
\entry{\code {completion-query-items}}{121}
\entry{\code {COMPREPLY}}{82}
\entry{\code {convert-meta}}{120}
\entry{\code {convert-meta}}{121}
\entry{\code {COPROC}}{82}
\initial {D}
\entry{\code {DIRSTACK}}{82}
\entry{\code {disable-completion}}{120}
\entry{\code {disable-completion}}{121}
\initial {E}
\entry{\code {echo-control-characters}}{120}
\entry{\code {editing-mode}}{120}
\entry{\code {emacs-mode-string}}{121}
\entry{\code {echo-control-characters}}{121}
\entry{\code {editing-mode}}{121}
\entry{\code {emacs-mode-string}}{122}
\entry{\code {EMACS}}{82}
\entry{\code {enable-active-region}}{121}
\entry{\code {enable-bracketed-paste}}{121}
\entry{\code {enable-keypad}}{121}
\entry{\code {enable-active-region}}{122}
\entry{\code {enable-bracketed-paste}}{122}
\entry{\code {enable-keypad}}{122}
\entry{\code {ENV}}{82}
\entry{\code {EPOCHREALTIME}}{82}
\entry{\code {EPOCHSECONDS}}{82}
\entry{\code {EUID}}{82}
\entry{\code {EXECIGNORE}}{82}
\entry{\code {expand-tilde}}{121}
\entry{\code {expand-tilde}}{122}
\initial {F}
\entry{\code {FCEDIT}}{83}
\entry{\code {FIGNORE}}{83}
@@ -105,24 +105,24 @@
\entry{\code {HISTFILE}}{84}
\entry{\code {HISTFILESIZE}}{84}
\entry{\code {HISTIGNORE}}{84}
\entry{\code {history-preserve-point}}{121}
\entry{\code {history-size}}{122}
\entry{\code {history-preserve-point}}{122}
\entry{\code {history-size}}{123}
\entry{\code {HISTSIZE}}{84}
\entry{\code {HISTTIMEFORMAT}}{84}
\entry{\code {HOME}}{77}
\entry{\code {horizontal-scroll-mode}}{122}
\entry{\code {horizontal-scroll-mode}}{123}
\entry{\code {HOSTFILE}}{85}
\entry{\code {HOSTNAME}}{85}
\entry{\code {HOSTTYPE}}{85}
\initial {I}
\entry{\code {IFS}}{77}
\entry{\code {IGNOREEOF}}{85}
\entry{\code {input-meta}}{122}
\entry{\code {input-meta}}{123}
\entry{\code {INPUTRC}}{85}
\entry{\code {INSIDE_EMACS}}{85}
\entry{\code {isearch-terminators}}{122}
\entry{\code {isearch-terminators}}{123}
\initial {K}
\entry{\code {keymap}}{122}
\entry{\code {keymap}}{123}
\initial {L}
\entry{\code {LANG}}{8, 85}
\entry{\code {LC_ALL}}{85}
@@ -139,20 +139,20 @@
\entry{\code {MAILCHECK}}{86}
\entry{\code {MAILPATH}}{77}
\entry{\code {MAPFILE}}{86}
\entry{\code {mark-modified-lines}}{123}
\entry{\code {mark-symlinked-directories}}{123}
\entry{\code {match-hidden-files}}{123}
\entry{\code {menu-complete-display-prefix}}{123}
\entry{\code {meta-flag}}{122}
\entry{\code {mark-modified-lines}}{124}
\entry{\code {mark-symlinked-directories}}{124}
\entry{\code {match-hidden-files}}{124}
\entry{\code {menu-complete-display-prefix}}{124}
\entry{\code {meta-flag}}{123}
\initial {O}
\entry{\code {OLDPWD}}{86}
\entry{\code {OPTARG}}{77}
\entry{\code {OPTERR}}{86}
\entry{\code {OPTIND}}{77}
\entry{\code {OSTYPE}}{86}
\entry{\code {output-meta}}{123}
\entry{\code {output-meta}}{124}
\initial {P}
\entry{\code {page-completions}}{123}
\entry{\code {page-completions}}{124}
\entry{\code {PATH}}{77}
\entry{\code {PIPESTATUS}}{86}
\entry{\code {POSIXLY_CORRECT}}{86}
@@ -172,16 +172,16 @@
\entry{\code {READLINE_MARK}}{87}
\entry{\code {READLINE_POINT}}{87}
\entry{\code {REPLY}}{87}
\entry{\code {revert-all-at-newline}}{123}
\entry{\code {revert-all-at-newline}}{124}
\initial {S}
\entry{\code {SECONDS}}{87}
\entry{\code {SHELL}}{87}
\entry{\code {SHELLOPTS}}{88}
\entry{\code {SHLVL}}{88}
\entry{\code {show-all-if-ambiguous}}{124}
\entry{\code {show-all-if-unmodified}}{124}
\entry{\code {show-mode-in-prompt}}{124}
\entry{\code {skip-completed-text}}{124}
\entry{\code {show-all-if-ambiguous}}{125}
\entry{\code {show-all-if-unmodified}}{125}
\entry{\code {show-mode-in-prompt}}{125}
\entry{\code {skip-completed-text}}{125}
\entry{\code {SRANDOM}}{88}
\initial {T}
\entry{\code {TEXTDOMAIN}}{8}
@@ -192,6 +192,6 @@
\initial {U}
\entry{\code {UID}}{89}
\initial {V}
\entry{\code {vi-cmd-mode-string}}{124}
\entry{\code {vi-ins-mode-string}}{124}
\entry{\code {visible-stats}}{125}
\entry{\code {vi-cmd-mode-string}}{125}
\entry{\code {vi-ins-mode-string}}{125}
\entry{\code {visible-stats}}{126}
+103 -94
View File
@@ -1078,115 +1078,116 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
the specified variable _n_a_m_e. If _t_i_m_e_o_u_t is 0, rreeaadd re-
turns immediately, without trying to read any data. The
exit status is 0 if input is available on the specified
file descriptor, non-zero otherwise. The exit status is
greater than 128 if the timeout is exceeded.
file descriptor, or the read will return EOF, non-zero
otherwise. The exit status is greater than 128 if the
timeout is exceeded.
--uu _f_d Read input from file descriptor _f_d.
If no _n_a_m_e_s are supplied, the line read, without the ending de-
limiter but otherwise unmodified, is assigned to the variable
RREEPPLLYY. The exit status is zero, unless end-of-file is encoun-
tered, rreeaadd times out (in which case the status is greater than
128), a variable assignment error (such as assigning to a read-
If no _n_a_m_e_s are supplied, the line read, without the ending de-
limiter but otherwise unmodified, is assigned to the variable
RREEPPLLYY. The exit status is zero, unless end-of-file is encoun-
tered, rreeaadd times out (in which case the status is greater than
128), a variable assignment error (such as assigning to a read-
only variable) occurs, or an invalid file descriptor is supplied
as the argument to --uu.
rreeaaddoonnllyy [--aaAAff] [--pp] [_n_a_m_e[=_w_o_r_d] ...]
The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s
may not be changed by subsequent assignment. If the --ff option
is supplied, the functions corresponding to the _n_a_m_e_s are so
marked. The --aa option restricts the variables to indexed ar-
rays; the --AA option restricts the variables to associative ar-
The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s
may not be changed by subsequent assignment. If the --ff option
is supplied, the functions corresponding to the _n_a_m_e_s are so
marked. The --aa option restricts the variables to indexed ar-
rays; the --AA option restricts the variables to associative ar-
rays. If both options are supplied, --AA takes precedence. If no
_n_a_m_e arguments are given, or if the --pp option is supplied, a
_n_a_m_e arguments are given, or if the --pp option is supplied, a
list of all readonly names is printed. The other options may be
used to restrict the output to a subset of the set of readonly
names. The --pp option causes output to be displayed in a format
that may be reused as input. If a variable name is followed by
=_w_o_r_d, the value of the variable is set to _w_o_r_d. The return
status is 0 unless an invalid option is encountered, one of the
used to restrict the output to a subset of the set of readonly
names. The --pp option causes output to be displayed in a format
that may be reused as input. If a variable name is followed by
=_w_o_r_d, the value of the variable is set to _w_o_r_d. The return
status is 0 unless an invalid option is encountered, one of the
_n_a_m_e_s is not a valid shell variable name, or --ff is supplied with
a _n_a_m_e that is not a function.
rreettuurrnn [_n]
Causes a function to stop executing and return the value speci-
fied by _n to its caller. If _n is omitted, the return status is
that of the last command executed in the function body. If rree--
Causes a function to stop executing and return the value speci-
fied by _n to its caller. If _n is omitted, the return status is
that of the last command executed in the function body. If rree--
ttuurrnn is executed by a trap handler, the last command used to de-
termine the status is the last command executed before the trap
handler. If rreettuurrnn is executed during a DDEEBBUUGG trap, the last
command used to determine the status is the last command exe-
cuted by the trap handler before rreettuurrnn was invoked. If rreettuurrnn
is used outside a function, but during execution of a script by
the .. (ssoouurrccee) command, it causes the shell to stop executing
that script and return either _n or the exit status of the last
command executed within the script as the exit status of the
termine the status is the last command executed before the trap
handler. If rreettuurrnn is executed during a DDEEBBUUGG trap, the last
command used to determine the status is the last command exe-
cuted by the trap handler before rreettuurrnn was invoked. If rreettuurrnn
is used outside a function, but during execution of a script by
the .. (ssoouurrccee) command, it causes the shell to stop executing
that script and return either _n or the exit status of the last
command executed within the script as the exit status of the
script. If _n is supplied, the return value is its least signif-
icant 8 bits. The return status is non-zero if rreettuurrnn is sup-
plied a non-numeric argument, or is used outside a function and
not during execution of a script by .. or ssoouurrccee. Any command
icant 8 bits. The return status is non-zero if rreettuurrnn is sup-
plied a non-numeric argument, or is used outside a function and
not during execution of a script by .. or ssoouurrccee. Any command
associated with the RREETTUURRNN trap is executed before execution re-
sumes after the function or script.
sseett [--aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [--oo _o_p_t_i_o_n_-_n_a_m_e] [----] [--] [_a_r_g ...]
sseett [++aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [++oo _o_p_t_i_o_n_-_n_a_m_e] [----] [--] [_a_r_g ...]
Without options, display the name and value of each shell vari-
able in a format that can be reused as input for setting or re-
Without options, display the name and value of each shell vari-
able in a format that can be reused as input for setting or re-
setting the currently-set variables. Read-only variables cannot
be reset. In _p_o_s_i_x _m_o_d_e, only shell variables are listed. The
output is sorted according to the current locale. When options
are specified, they set or unset shell attributes. Any argu-
ments remaining after option processing are treated as values
be reset. In _p_o_s_i_x _m_o_d_e, only shell variables are listed. The
output is sorted according to the current locale. When options
are specified, they set or unset shell attributes. Any argu-
ments remaining after option processing are treated as values
for the positional parameters and are assigned, in order, to $$11,
$$22, ...... $$_n. Options, if specified, have the following mean-
$$22, ...... $$_n. Options, if specified, have the following mean-
ings:
--aa Each variable or function that is created or modified is
given the export attribute and marked for export to the
given the export attribute and marked for export to the
environment of subsequent commands.
--bb Report the status of terminated background jobs immedi-
--bb Report the status of terminated background jobs immedi-
ately, rather than before the next primary prompt. This
is effective only when job control is enabled.
--ee Exit immediately if a _p_i_p_e_l_i_n_e (which may consist of a
single _s_i_m_p_l_e _c_o_m_m_a_n_d), a _l_i_s_t, or a _c_o_m_p_o_u_n_d _c_o_m_m_a_n_d
--ee Exit immediately if a _p_i_p_e_l_i_n_e (which may consist of a
single _s_i_m_p_l_e _c_o_m_m_a_n_d), a _l_i_s_t, or a _c_o_m_p_o_u_n_d _c_o_m_m_a_n_d
(see SSHHEELLLL GGRRAAMMMMAARR above), exits with a non-zero status.
The shell does not exit if the command that fails is
part of the command list immediately following a wwhhiillee
or uunnttiill keyword, part of the test following the iiff or
eelliiff reserved words, part of any command executed in a
&&&& or |||| list except the command following the final &&&&
The shell does not exit if the command that fails is
part of the command list immediately following a wwhhiillee
or uunnttiill keyword, part of the test following the iiff or
eelliiff reserved words, part of any command executed in a
&&&& or |||| list except the command following the final &&&&
or ||||, any command in a pipeline but the last, or if the
command's return value is being inverted with !!. If a
compound command other than a subshell returns a non-
zero status because a command failed while --ee was being
ignored, the shell does not exit. A trap on EERRRR, if
set, is executed before the shell exits. This option
command's return value is being inverted with !!. If a
compound command other than a subshell returns a non-
zero status because a command failed while --ee was being
ignored, the shell does not exit. A trap on EERRRR, if
set, is executed before the shell exits. This option
applies to the shell environment and each subshell envi-
ronment separately (see CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENNTT
ronment separately (see CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENNTT
above), and may cause subshells to exit before executing
all the commands in the subshell.
If a compound command or shell function executes in a
context where --ee is being ignored, none of the commands
executed within the compound command or function body
will be affected by the --ee setting, even if --ee is set
and a command returns a failure status. If a compound
command or shell function sets --ee while executing in a
context where --ee is ignored, that setting will not have
any effect until the compound command or the command
If a compound command or shell function executes in a
context where --ee is being ignored, none of the commands
executed within the compound command or function body
will be affected by the --ee setting, even if --ee is set
and a command returns a failure status. If a compound
command or shell function sets --ee while executing in a
context where --ee is ignored, that setting will not have
any effect until the compound command or the command
containing the function call completes.
--ff Disable pathname expansion.
--hh Remember the location of commands as they are looked up
--hh Remember the location of commands as they are looked up
for execution. This is enabled by default.
--kk All arguments in the form of assignment statements are
placed in the environment for a command, not just those
--kk All arguments in the form of assignment statements are
placed in the environment for a command, not just those
that precede the command name.
--mm Monitor mode. Job control is enabled. This option is
on by default for interactive shells on systems that
support it (see JJOOBB CCOONNTTRROOLL above). All processes run
--mm Monitor mode. Job control is enabled. This option is
on by default for interactive shells on systems that
support it (see JJOOBB CCOONNTTRROOLL above). All processes run
in a separate process group. When a background job com-
pletes, the shell prints a line containing its exit sta-
tus.
--nn Read commands but do not execute them. This may be used
to check a shell script for syntax errors. This is ig-
to check a shell script for syntax errors. This is ig-
nored by interactive shells.
--oo _o_p_t_i_o_n_-_n_a_m_e
The _o_p_t_i_o_n_-_n_a_m_e can be one of the following:
@@ -1194,10 +1195,10 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
Same as --aa.
bbrraacceeeexxppaanndd
Same as --BB.
eemmaaccss Use an emacs-style command line editing inter-
eemmaaccss Use an emacs-style command line editing inter-
face. This is enabled by default when the shell
is interactive, unless the shell is started with
the ----nnooeeddiittiinngg option. This also affects the
the ----nnooeeddiittiinngg option. This also affects the
editing interface used for rreeaadd --ee.
eerrrreexxiitt Same as --ee.
eerrrrttrraaccee
@@ -1211,8 +1212,8 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
HHIISSTTOORRYY. This option is on by default in inter-
active shells.
iiggnnoorreeeeooff
The effect is as if the shell command ``IG-
NOREEOF=10'' had been executed (see SShheellll VVaarrii--
The effect is as if the shell command ``IG-
NOREEOF=10'' had been executed (see SShheellll VVaarrii--
aabblleess above).
kkeeyywwoorrdd Same as --kk.
mmoonniittoorr Same as --mm.
@@ -1227,40 +1228,42 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
pphhyyssiiccaall
Same as --PP.
ppiippeeffaaiill
If set, the return value of a pipeline is the
value of the last (rightmost) command to exit
with a non-zero status, or zero if all commands
in the pipeline exit successfully. This option
If set, the return value of a pipeline is the
value of the last (rightmost) command to exit
with a non-zero status, or zero if all commands
in the pipeline exit successfully. This option
is disabled by default.
ppoossiixx Change the behavior of bbaasshh where the default
operation differs from the POSIX standard to
match the standard (_p_o_s_i_x _m_o_d_e). See SSEEEE AALLSSOO
ppoossiixx Change the behavior of bbaasshh where the default
operation differs from the POSIX standard to
match the standard (_p_o_s_i_x _m_o_d_e). See SSEEEE AALLSSOO
below for a reference to a document that details
how posix mode affects bash's behavior.
pprriivviilleeggeedd
Same as --pp.
vveerrbboossee Same as --vv.
vvii Use a vi-style command line editing interface.
vvii Use a vi-style command line editing interface.
This also affects the editing interface used for
rreeaadd --ee.
xxttrraaccee Same as --xx.
If --oo is supplied with no _o_p_t_i_o_n_-_n_a_m_e, the values of the
current options are printed. If ++oo is supplied with no
_o_p_t_i_o_n_-_n_a_m_e, a series of sseett commands to recreate the
current option settings is displayed on the standard
current options are printed. If ++oo is supplied with no
_o_p_t_i_o_n_-_n_a_m_e, a series of sseett commands to recreate the
current option settings is displayed on the standard
output.
--pp Turn on _p_r_i_v_i_l_e_g_e_d mode. In this mode, the $$EENNVV and
$$BBAASSHH__EENNVV files are not processed, shell functions are
not inherited from the environment, and the SSHHEELLLLOOPPTTSS,
BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they ap-
pear in the environment, are ignored. If the shell is
started with the effective user (group) id not equal to
the real user (group) id, and the --pp option is not sup-
--pp Turn on _p_r_i_v_i_l_e_g_e_d mode. In this mode, the $$EENNVV and
$$BBAASSHH__EENNVV files are not processed, shell functions are
not inherited from the environment, and the SSHHEELLLLOOPPTTSS,
BBAASSHHOOPPTTSS, CCDDPPAATTHH, and GGLLOOBBIIGGNNOORREE variables, if they ap-
pear in the environment, are ignored. If the shell is
started with the effective user (group) id not equal to
the real user (group) id, and the --pp option is not sup-
plied, these actions are taken and the effective user id
is set to the real user id. If the --pp option is sup-
plied at startup, the effective user id is not reset.
Turning this option off causes the effective user and
is set to the real user id. If the --pp option is sup-
plied at startup, the effective user id is not reset.
Turning this option off causes the effective user and
group ids to be set to the real user and group ids.
--rr Enable restricted shell mode. This option cannot be un-
set once it has been set.
--tt Exit after reading and executing one command.
--uu Treat unset variables and parameters other than the spe-
cial parameters "@" and "*" as an error when performing
@@ -2057,6 +2060,12 @@ SSHHEELLLL CCOOMMPPAATTIIBBIILLIITTYY MMOODDEE
input. Bash-5.1 suppresses that message when the --ll op-
tion is supplied.
ccoommppaatt5511
+o The uunnsseett builtin treats attempts to unset array sub-
scripts @@ and ** differently depending on whether the ar-
ray is indexed or associative, and differently than in
previous versions.
SSEEEE AALLSSOO
bash(1), sh(1)
+853 -839
View File
File diff suppressed because it is too large Load Diff
+3 -2
View File
@@ -48,11 +48,12 @@ RREESSTTRRIICCTTEEDD SSHHEELLLL
+o specifying the --pp option to the ccoommmmaanndd builtin command
+o turning off restricted mode with sseett ++rr or sseett ++oo rreessttrriicctteedd.
+o turning off restricted mode with sseett ++rr or sshhoopptt --uu rree--
ssttrriicctteedd__sshheellll.
These restrictions are enforced after any startup files are read.
When a command that is found to be a shell script is executed, rrbbaasshh
When a command that is found to be a shell script is executed, rrbbaasshh
turns off any restrictions in the shell spawned to execute the script.
SSEEEE AALLSSOO
+3 -3
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.4
%%CreationDate: Tue Nov 16 10:02:54 2021
%%CreationDate: Mon Nov 22 11:02:09 2021
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.22 4
@@ -276,8 +276,8 @@ F2<ad66>2.5 E F0(and)2.5 E F2<ad64>2.5 E F0(options to the)2.5 E F2
379.2 Q(specifying the)144 379.2 Q F2<ad70>2.5 E F0(option to the)2.5 E
F2(command)2.5 E F0 -.2(bu)2.5 G(iltin command).2 E<83>108 396 Q
(turning of)144 396 Q 2.5(fr)-.25 G(estricted mode with)-2.5 E F2
(set +r)2.5 E F0(or)2.5 E F2(set +o r)2.5 E(estricted)-.18 E F0(.)A
(These restrictions are enforced after an)108 412.8 Q 2.5(ys)-.15 G
(set +r)2.5 E F0(or)2.5 E F2(shopt -u r)2.5 E(estricted_shell)-.18 E F0
(.)A(These restrictions are enforced after an)108 412.8 Q 2.5(ys)-.15 G
(tartup \214les are read.)-2.5 E .429
(When a command that is found to be a shell script is e)108 429.6 R -.15
(xe)-.15 G(cuted,).15 E F2(rbash)2.929 E F0 .429(turns of)2.929 F 2.929
+4 -4
View File
@@ -2,10 +2,10 @@
Copyright (C) 1988-2021 Free Software Foundation, Inc.
@end ignore
@set LASTCHANGE Sat Nov 20 12:41:30 EST 2021
@set LASTCHANGE Mon Nov 22 09:58:18 EST 2021
@set EDITION 5.1
@set VERSION 5.1
@set EDITION 5.2
@set VERSION 5.2
@set UPDATED 20 November 2021
@set UPDATED 22 November 2021
@set UPDATED-MONTH November 2021
+5 -1
View File
@@ -104,7 +104,7 @@ INC = -I. -I.. -I$(topdir) -I$(topdir)/lib -I$(topdir)/builtins -I${srcdir} \
ALLPROG = print truefalse sleep finfo logname basename dirname fdflags \
tty pathchk tee head mkdir rmdir mkfifo mktemp printenv id whoami \
uname sync push ln unlink realpath strftime mypid setpgid seq rm \
accept csv cut stat
accept csv cut stat getconf
OTHERPROG = necho hello cat pushd asort
all: $(SHOBJ_STATUS)
@@ -192,6 +192,9 @@ head: head.o
printenv: printenv.o
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ printenv.o $(SHOBJ_LIBS)
getconf: getconf.o
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ getconf.o $(SHOBJ_LIBS)
id: id.o
$(SHOBJ_LD) $(SHOBJ_LDFLAGS) $(SHOBJ_XLDFLAGS) -o $@ id.o $(SHOBJ_LIBS)
@@ -295,6 +298,7 @@ truefalse.o: truefalse.c
accept.o: accept.c
sleep.o: sleep.c
finfo.o: finfo.c
getconf.o: getconf.c getconf.h
logname.o: logname.c
basename.o: basename.c
dirname.o: dirname.c
File diff suppressed because it is too large Load Diff
+119
View File
@@ -0,0 +1,119 @@
/* getconf.h -- replacement definitions for ones the system doesn't provide
and don't appear in <typemax.h> */
#ifndef _GETCONF_H
#define _GETCONF_H
/* Some systems do not define these; use POSIX.2 minimum recommended values. */
#ifndef _POSIX2_COLL_WEIGHTS_MAX
# define _POSIX2_COLL_WEIGHTS_MAX 2
#endif
/* If we're on a posix system, but the system doesn't define the necessary
constants, use posix.1 minimum values. */
#if defined (_POSIX_VERSION)
#ifndef _POSIX_ARG_MAX
# define _POSIX_ARG_MAX 4096
#endif
#ifndef _POSIX_CHILD_MAX
# define _POSIX_CHILD_MAX 6
#endif
#ifndef _POSIX_LINK_MAX
# define _POSIX_LINK_MAX 8
#endif
#ifndef _POSIX_MAX_CANON
# define _POSIX_MAX_CANON 255
#endif
#ifndef _POSIX_MAX_INPUT
# define _POSIX_MAX_INPUT 255
#endif
#ifndef _POSIX_NAME_MAX
# define _POSIX_NAME_MAX 14
#endif
#ifndef _POSIX_NGROUPS_MAX
# define _POSIX_NGROUPS_MAX 0
#endif
#ifndef _POSIX_OPEN_MAX
# define _POSIX_OPEN_MAX 16
#endif
#ifndef _POSIX_PATH_MAX
# define _POSIX_PATH_MAX 255
#endif
#ifndef _POSIX_PIPE_BUF
# define _POSIX_PIPE_BUF 512
#endif
#ifndef _POSIX_SSIZE_MAX
# define _POSIX_SSIZE_MAX 32767
#endif
#ifndef _POSIX_STREAM_MAX
# define _POSIX_STREAM_MAX 8
#endif
#ifndef _POSIX_TZNAME_MAX
# define _POSIX_TZNAME_MAX 3
#endif
#ifndef _POSIX2_BC_BASE_MAX
# define _POSIX2_BC_BASE_MAX 99
#endif
#ifndef _POSIX2_BC_DIM_MAX
# define _POSIX2_BC_DIM_MAX 2048
#endif
#ifndef _POSIX2_BC_SCALE_MAX
# define _POSIX2_BC_SCALE_MAX 99
#endif
#ifndef _POSIX2_BC_STRING_MAX
# define _POSIX2_BC_STRING_MAX 1000
#endif
#ifndef _POSIX2_EQUIV_CLASS_MAX
# define _POSIX2_EQUIV_CLASS_MAX 2
#endif
#ifndef _POSIX2_EXPR_NEST_MAX
# define _POSIX2_EXPR_NEST_MAX 32
#endif
#ifndef _POSIX2_LINE_MAX
# define _POSIX2_LINE_MAX 2048
#endif
#ifndef _POSIX2_RE_DUP_MAX
# define _POSIX2_RE_DUP_MAX 255
#endif
#endif /* _POSIX_VERSION */
/* ANSI/ISO C, POSIX.1-200x, XPG 4.2, and C language type limits.
Defined only if the system include files and <typemax.h> don't. */
#ifndef CHAR_MAX
# define CHAR_MAX 127
#endif
#ifndef CHAR_MIN
# define CHAR_MIN -128
#endif
#ifndef SCHAR_MAX
# define SCHAR_MAX 127
#endif
#ifndef SCHAR_MIN
# define SCHAR_MIN -128
#endif
#ifndef INT_BIT
# define INT_BIT (sizeof (int) * CHAR_BIT)
#endif
#ifndef LONG_BIT
# define LONG_BIT (sizeof (long int) * CHAR_BIT)
#endif
#ifndef WORD_BIT
# define WORD_BIT (sizeof (int) * CHAR_BIT)
#endif
#if !defined (PRIdMAX)
# if HAVE_LONG_LONG
# define PRIdMAX "lld"
# else
# define PRIdMAX "ld"
# endif
#endif
#endif /* _GETCONF_H */
+86 -15
View File
@@ -2,10 +2,12 @@
* sleep -- sleep for fractions of a second
*
* usage: sleep seconds[.fraction]
*
* as an extension, we support the GNU time interval format (2m20s)
*/
/*
Copyright (C) 1999-2020 Free Software Foundation, Inc.
Copyright (C) 1999-2021 Free Software Foundation, Inc.
This file is part of GNU Bash.
Bash is free software: you can redistribute it and/or modify
@@ -44,13 +46,80 @@
#include <stdio.h>
#include "chartypes.h"
#include "shell.h"
#include "builtins.h"
#include "common.h"
#include "loadables.h"
#define S_SEC 1
#define S_MIN (60*S_SEC)
#define S_HOUR (60*S_MIN)
#define S_DAY (24*S_HOUR)
static int
parse_gnutimefmt (char *string, long *sp, long *up)
{
int c, r;
char *s, *ep;
long tsec, tusec, accumsec, accumusec, t;
int mult;
tsec = tusec = 0;
accumsec = accumusec = 0;
mult = 1;
for (s = string; s && *s; s++) {
r = uconvert(s, &accumsec, &accumusec, &ep);
if (r == 0 && *ep == 0)
return r;
c = *ep;
mult = 1;
switch (c) {
case '\0':
case 's':
mult = S_SEC;
break;
case 'm':
mult = S_MIN;
break;
case 'h':
mult = S_HOUR;
break;
case 'd':
mult = S_DAY;
break;
default:
return 0;
}
/* multiply the accumulated value by the multiplier */
t = accumusec * mult;
accumsec = accumsec * mult + t / 1000000;
accumusec = t % 1000000;
/* add to running total */
tsec += accumsec;
tusec += accumusec;
if (tusec >= 1000000) {
tsec++;
tusec -= 1000000;
}
/* reset and continue */
accumsec = accumusec = 0;
mult = 1;
if (c == 0)
break;
s = ep;
}
if (sp)
*sp = tsec;
if (up)
*up = tusec;
return 1;
}
int
sleep_builtin (list)
WORD_LIST *list;
sleep_builtin (WORD_LIST *list)
{
long sec, usec;
char *ep;
@@ -72,21 +141,22 @@ WORD_LIST *list;
}
r = uconvert(list->word->word, &sec, &usec, &ep);
/* Maybe postprocess conversion failures here based on EP */
/*
* Maybe postprocess conversion failures here based on EP
*
* A heuristic: if the conversion failed, but the argument appears to
* contain a GNU-like interval specifier (e.g. "1m30s"), try to parse
* it. If we can't, return the right exit code to tell
* execute_builtin to try and execute a disk command instead.
*/
if (r == 0 && (strchr ("dhms", *ep) || strpbrk (list->word->word, "dhms")))
r = parse_gnutimefmt (list->word->word, &sec, &usec);
if (r) {
fsleep(sec, usec);
QUIT;
return(EXECUTION_SUCCESS);
}
/*
* A heuristic: if the conversion failed, but the argument appears to
* contain a GNU-like interval specifier (e.g. "1m30s"), return the
* right exit code to tell execute_builtin to try and execute a disk
* command instead.
*/
if (strpbrk (list->word->word, "dhms"))
return(EX_DISKFALLBACK);
builtin_error("%s: bad sleep interval", list->word->word);
return (EXECUTION_FAILURE);
}
@@ -95,6 +165,7 @@ static char *sleep_doc[] = {
"Suspend execution for specified period.",
""
"sleep suspends execution for a minimum of SECONDS[.FRACTION] seconds.",
"As an extension, sleep accepts GNU-style time intervals (e.g., 2m30s).",
(char *)NULL
};
-8
View File
@@ -3068,11 +3068,7 @@ eval_arith_for_expr (l, okp)
r = run_debug_trap ();
/* In debugging mode, if the DEBUG trap returns a non-zero status, we
skip the command. */
#if 0 /* TAG:bash-5.2 */
eflag = (shell_compatibility_level > 51) ? 0 : EXP_EXPANDED;
#else
eflag = 0;
#endif
#if defined (DEBUGGER)
if (debugging_mode == 0 || r == EXECUTION_SUCCESS)
@@ -3842,11 +3838,7 @@ execute_arith_command (arith_command)
if (exp)
{
#if 0 /* TAG:bash-5.2 */
eflag = (shell_compatibility_level > 51) ? 0 : EXP_EXPANDED;
#else
eflag = 0;
#endif
expresult = evalexp (exp, eflag, &expok);
line_number = save_line_number;
free (exp);
+8 -2
View File
@@ -79,6 +79,12 @@
# define UINT_MAX ((unsigned int) ~(unsigned int)0)
#endif
#ifndef SHRT_MAX
# define SHRT_MAX TYPE_MAXIMUM(short)
# define SHRT_MIN TYPE_MINIMUM(short)
# define USHRT_MAX ((unsigned short) ~(unsigned short)0)
#endif
#ifndef UCHAR_MAX
# define UCHAR_MAX 255
#endif
@@ -106,11 +112,11 @@ static const unsigned long long int maxquad = ULLONG_MAX;
#endif
#ifndef SSIZE_MAX
# define SSIZE_MAX 32767 /* POSIX minimum max */
# define SSIZE_MAX INT_MAX
#endif
#ifndef SIZE_MAX
# define SIZE_MAX 65535 /* POSIX minimum max */
# define SIZE_MAX ((size_t) ~(size_t)0)
#endif
#ifndef sh_imaxabs
+3 -5
View File
@@ -343,11 +343,7 @@ arithcomp (s, t, op, flags)
{
int eflag;
#if 0 /* TAG:bash-5.2 */
eflag = (shell_compatibility_level > 51) ? 0 : EXP_EXPANDED;
#else
eflag = 0;
#endif
l = evalexp (s, eflag, &expok);
if (expok == 0)
return (FALSE); /* should probably longjmp here */
@@ -642,11 +638,13 @@ unary_test (op, arg, flags)
/* Let's assume that this has already been expanded once. */
/* XXX - TAG:bash-5.2 fix with corresponding fix to execute_cmd.c:
execute_cond_node() that passes TEST_ARRAYEXP in FLAGS */
#if 0
/* TAG:bash-5.2 */
if (shell_compatibility_level > 51)
#endif
/* Allow associative arrays to use `test -v array[@]' to look for
a key named `@'. */
aflags |= AV_ATSTARKEYS;
t = array_value (arg, 0, aflags, &rtype, (arrayind_t *)0);
ret = t ? TRUE : FALSE;