fix crash from compgen in a non-interactive shell; globstar option now works with complete -G; wait -p changes; some int->size_t changes

This commit is contained in:
Chet Ramey
2022-04-19 10:45:39 -04:00
parent 3be2a2ca9a
commit 7a8455e421
45 changed files with 7600 additions and 8195 deletions
+80
View File
@@ -3476,3 +3476,83 @@ builtins/printf.def
supplied, use `double' when in posix mode (as posix specifies) and
long double (if it's available, double if not) in default mode.
From a report from Paul Eggert <eggert@cs.ucla.edu>
4/12
----
lib/sh/oslib.c
- bzero: update function signature to modern BSD version
4/14
----
lib/sh/oslib.c
- bcopy, gethostname, mkfifo: update function signatures to modern
versions
4/15
----
jobs.c,nojobs.c
- wait_for_single_pid: if the pid or job argument is invalid -- isn't
a child of this shell -- return 257, which is out of the range of
valid 8-bit status values
execute_cmd.c
- execute_pipeline: if wait_for_single_pid returns > 256, set it to
127 (invalid process)
jobs.c
- wait_for_background_pids: if wait_for_single_pid returns > 256, set
the status we return in PS to 127 (what it was before)
builtins/wait.def
- wait_builtin: if wait_for_single_pid returns > 256, treat it as an
error and set pstat.pid to NO_PID
- wait_builtin: if -p supplied, and we get to the end of the argument
list with PSTAT.PID != NO_PID (which we assume means that the return
value is set from PSTAT.STATUS), set the variable name to PSTAT.PID.
From a report by Robert Elz <kre@munnari.OZ.AU>
- wait_builtin: for compatibility with the netbsd sh, leave the variable
name specified with `-p' unset if there are no PID arguments.
From a report by Robert Elz <kre@munnari.OZ.AU>
4/17
----
parse.y
- xparse_dolparen: if (flags & SX_NOLONGJMP), don't call
jump_to_top_level() on errors
bashline.c
- bash_quote_filename: don't call quote_word_break_chars() unless we
have word break chars initialized. Fixes bug reported by
Sam James <sam@gentoo.org>
4/18
----
pcomplete.c
- gen_globpat_matches: call glob_filename with the GX_GLOBSTAR flag if
the `globstar' shell option is enabled. From a report by
Steve <bash@lonetwin.net>
lib/malloc/malloc.c
- internal_free: remove the GLIBC21 code (!)
- internal_free: make the code that tests against memtop and calls
lesscore depend on USE_LESSCORE being defined, which it is by
default
lib/malloc/imalloc.h
- USE_LESSCORE: define
parse.y,shell.h
- token_buffer_size and its corresponding saved value in the shell's
parser state are now size_t instead of int
stringlib.c
- strsub,strcreplace: use size_t instead of int for local length and
indexing variables
lib/sh/zmapfd.c
- zmapfd: use size_t instead of int for local length and indexing
variables
lib/sh/zgetline.c
- zgetline: use size_t instead of int for local length and indexing
variables
+1 -1
View File
@@ -4341,7 +4341,7 @@ bash_quote_filename (s, rtype, qcp)
/* We may need to quote additional characters: those that readline treats
as word breaks that are not quoted by backslash_quote. */
/* XXX - test complete_fullquote here? */
if (rtext && cs == COMPLETE_BSQUOTE)
if (rtext && cs == COMPLETE_BSQUOTE && rl_completer_word_break_characters)
{
mtext = quote_word_break_chars (rtext);
free (rtext);
+13 -3
View File
@@ -1,4 +1,4 @@
This file is wait.def, from which is created wait.c.
'This file is wait.def, from which is created wait.c.
It implements the builtin "wait" in Bash.
Copyright (C) 1987-2021 Free Software Foundation, Inc.
@@ -236,8 +236,12 @@ wait_builtin (list)
if (list == 0)
{
opt = wait_for_background_pids (&pstat);
#if 0
/* Compatibility with NetBSD sh: don't set VNAME since it doesn't
correspond to the return status. */
if (vname && opt)
builtin_bind_var_to_int (vname, pstat.pid, bindflags);
#endif
WAIT_RETURN (EXECUTION_SUCCESS);
}
@@ -255,8 +259,11 @@ wait_builtin (list)
{
pid = (pid_t)pid_value;
status = wait_for_single_pid (pid, wflags|JWAIT_PERROR);
pstat.pid = pid;
pstat.status = status;
/* status > 256 means pid error */
pstat.pid = (status > 256) ? NO_PID : pid;
pstat.status = (status > 256) ? 127 : status;
if (status > 256)
status = 127;
}
else
{
@@ -313,6 +320,9 @@ wait_builtin (list)
list = list->next;
}
if (vname && pstat.pid != NO_PID)
builtin_bind_var_to_int (vname, pstat.pid, bindflags);
WAIT_RETURN (status);
}
+3 -1
View File
@@ -3874,7 +3874,9 @@ is a
or a
.B ^
then any character not enclosed is matched.
The sorting order of characters in range expressions is determined by
The sorting order of characters in range expressions,
and the characters included in the range,
are determined by
the current locale and the values of the
.SM
.B LC_COLLATE
+36 -13
View File
@@ -3,7 +3,7 @@
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2022 February 10<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2022 March 11<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
@@ -3503,6 +3503,14 @@ interpreted as relative to one greater than the maximum index of
array, and an index of -1 references the last element.
<P>
The += operator will append to an array variable when assigning
using the compound assignment syntax; see
<FONT SIZE=-1><B>PARAMETERS</B>
</FONT>
above.
<P>
Any element of an array may be referenced using
${<I>name</I>[<I>subscript</I>]}. The braces are required to avoid
conflicts with pathname expansion. If
@@ -3995,7 +4003,7 @@ is substituted.
<B>Substring Expansion</B>.
Expands to up to <I>length</I> characters of the value of <I>parameter</I>
starting at the character specified by <I>offset</I>.
If <I>parameter</I> is <B>@</B>, an indexed array subscripted by
If <I>parameter</I> is <B>@</B> or <B>*</B>, an indexed array subscripted by
<B>@</B> or <B>*</B>, or an associative array name, the results differ as
described below.
If <I>length</I> is omitted, expands to the substring of the value of
@@ -4018,8 +4026,8 @@ a number of characters, and the expansion is the characters between
Note that a negative offset must be separated from the colon by at least
one space to avoid being confused with the <B>:-</B> expansion.
<P>
If <I>parameter</I> is <B>@</B>, the result is <I>length</I> positional
parameters beginning at <I>offset</I>.
If <I>parameter</I> is <B>@</B> or <B>*</B>, the result is <I>length</I>
positional parameters beginning at <I>offset</I>.
A negative <I>offset</I> is taken relative to one greater than the greatest
positional parameter, so an offset of -1 evaluates to the last positional
parameter.
@@ -5693,11 +5701,24 @@ been enabled.
Variables local to the function may be declared with the
<B>local</B>
builtin command. Ordinarily, variables and their values
builtin command (<I>local variables</I>).
Ordinarily, variables and their values
are shared between the function and its caller.
If a variable is declared <B>local</B>, the variable's visible scope
is restricted to that function and its children (including the functions
it calls).
<P>
In the following description, the <I>current scope</I> is a currently-
executing function.
Previous scopes consist of that function's caller and so on,
back to the &quot;global&quot; scope, where the shell is not executing
any shell function.
Consequently, a local variable at the current scope is a variable
declared using the <B>local</B> or <B>declare</B> builtins in the
function that is currently executing.
<P>
Local variables &quot;shadow&quot; variables with the same name declared at
previous scopes.
For instance, a local variable declared in a function
@@ -5731,11 +5752,13 @@ variable is local to the current scope, <B>unset</B> will unset it;
otherwise the unset will refer to the variable found in any calling scope
as described above.
If a variable at the current local scope is unset, it will remain so
(appearing as unset)
until it is reset in that scope or until the function returns.
Once the function returns, any instance of the variable at a previous
scope will become visible.
If the unset acts on a variable at a previous scope, any instance of a
variable with that name that had been shadowed will become visible.
variable with that name that had been shadowed will become visible
(see below how the <B>localvar_unset</B> shell option changes this behavior).
<P>
The <B>FUNCNEST</B> variable, if set to a numeric value greater
@@ -7713,11 +7736,11 @@ matching text found by incremental and non-incremental history searches.
<DT><B>enable-bracketed-paste (On)</B>
<DD>
When set to <B>On</B>, readline will configure the terminal in a way
that will enable it to insert each paste into the editing buffer as a
single string of characters, instead of treating each character as if
it had been read from the keyboard. This can prevent pasted characters
from being interpreted as editing commands.
When set to <B>On</B>, readline configures the terminal to insert each
paste into the editing buffer as a single string of characters, instead
of treating each character as if it had been read from the keyboard.
This prevents readline from executing any editing commands bound to key
sequences appearing in the pasted text.
<DT><B>enable-keypad (Off)</B>
<DD>
@@ -14654,7 +14677,7 @@ There may be only one active coprocess at a time.
<HR>
<TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>GNU Bash 5.2<TH ALIGN=CENTER width=33%>2022 February 10<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>GNU Bash 5.2<TH ALIGN=CENTER width=33%>2022 March 11<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
@@ -14761,6 +14784,6 @@ There may be only one active coprocess at a time.
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
Time: 11 February 2022 09:18:02 EST
Time: 08 April 2022 15:46:17 EDT
</BODY>
</HTML>
BIN
View File
Binary file not shown.
+1853 -1831
View File
File diff suppressed because it is too large Load Diff
+92 -92
View File
@@ -81,12 +81,12 @@
@xrdef{Shell Parameters-pg}{21}
@xrdef{Positional Parameters-title}{Positional Parameters}
@xrdef{Positional Parameters-snt}{Section@tie 3.4.1}
@xrdef{Positional Parameters-pg}{22}
@xrdef{Special Parameters-title}{Special Parameters}
@xrdef{Special Parameters-snt}{Section@tie 3.4.2}
@xrdef{Positional Parameters-pg}{23}
@xrdef{Special Parameters-pg}{23}
@xrdef{Shell Expansions-title}{Shell Expansions}
@xrdef{Shell Expansions-snt}{Section@tie 3.5}
@xrdef{Special Parameters-pg}{23}
@xrdef{Brace Expansion-title}{Brace Expansion}
@xrdef{Brace Expansion-snt}{Section@tie 3.5.1}
@xrdef{Shell Expansions-pg}{24}
@@ -119,125 +119,125 @@
@xrdef{Quote Removal-snt}{Section@tie 3.5.9}
@xrdef{Redirections-title}{Redirections}
@xrdef{Redirections-snt}{Section@tie 3.6}
@xrdef{Quote Removal-pg}{37}
@xrdef{Redirections-pg}{37}
@xrdef{Quote Removal-pg}{38}
@xrdef{Redirections-pg}{38}
@xrdef{Executing Commands-title}{Executing Commands}
@xrdef{Executing Commands-snt}{Section@tie 3.7}
@xrdef{Simple Command Expansion-title}{Simple Command Expansion}
@xrdef{Simple Command Expansion-snt}{Section@tie 3.7.1}
@xrdef{Executing Commands-pg}{41}
@xrdef{Simple Command Expansion-pg}{41}
@xrdef{Command Search and Execution-title}{Command Search and Execution}
@xrdef{Command Search and Execution-snt}{Section@tie 3.7.2}
@xrdef{Executing Commands-pg}{42}
@xrdef{Simple Command Expansion-pg}{42}
@xrdef{Command Search and Execution-pg}{42}
@xrdef{Command Execution Environment-title}{Command Execution Environment}
@xrdef{Command Execution Environment-snt}{Section@tie 3.7.3}
@xrdef{Command Search and Execution-pg}{42}
@xrdef{Command Execution Environment-pg}{42}
@xrdef{Command Execution Environment-pg}{43}
@xrdef{Environment-title}{Environment}
@xrdef{Environment-snt}{Section@tie 3.7.4}
@xrdef{Exit Status-title}{Exit Status}
@xrdef{Exit Status-snt}{Section@tie 3.7.5}
@xrdef{Signals-title}{Signals}
@xrdef{Signals-snt}{Section@tie 3.7.6}
@xrdef{Environment-pg}{44}
@xrdef{Exit Status-pg}{44}
@xrdef{Signals-title}{Signals}
@xrdef{Signals-snt}{Section@tie 3.7.6}
@xrdef{Signals-pg}{45}
@xrdef{Shell Scripts-title}{Shell Scripts}
@xrdef{Shell Scripts-snt}{Section@tie 3.8}
@xrdef{Signals-pg}{45}
@xrdef{Shell Scripts-pg}{46}
@xrdef{Shell Builtin Commands-title}{Shell Builtin Commands}
@xrdef{Shell Builtin Commands-snt}{Chapter@tie 4}
@xrdef{Bourne Shell Builtins-title}{Bourne Shell Builtins}
@xrdef{Bourne Shell Builtins-snt}{Section@tie 4.1}
@xrdef{Shell Builtin Commands-pg}{47}
@xrdef{Bourne Shell Builtins-pg}{47}
@xrdef{Shell Builtin Commands-pg}{48}
@xrdef{Bourne Shell Builtins-pg}{48}
@xrdef{Bash Builtins-title}{Bash Builtin Commands}
@xrdef{Bash Builtins-snt}{Section@tie 4.2}
@xrdef{Bash Builtins-pg}{54}
@xrdef{Bash Builtins-pg}{55}
@xrdef{Modifying Shell Behavior-title}{Modifying Shell Behavior}
@xrdef{Modifying Shell Behavior-snt}{Section@tie 4.3}
@xrdef{The Set Builtin-title}{The Set Builtin}
@xrdef{The Set Builtin-snt}{Section@tie 4.3.1}
@xrdef{Modifying Shell Behavior-pg}{66}
@xrdef{The Set Builtin-pg}{66}
@xrdef{Modifying Shell Behavior-pg}{67}
@xrdef{The Set Builtin-pg}{67}
@xrdef{The Shopt Builtin-title}{The Shopt Builtin}
@xrdef{The Shopt Builtin-snt}{Section@tie 4.3.2}
@xrdef{The Shopt Builtin-pg}{70}
@xrdef{The Shopt Builtin-pg}{71}
@xrdef{Special Builtins-title}{Special Builtins}
@xrdef{Special Builtins-snt}{Section@tie 4.4}
@xrdef{Special Builtins-pg}{76}
@xrdef{Special Builtins-pg}{77}
@xrdef{Shell Variables-title}{Shell Variables}
@xrdef{Shell Variables-snt}{Chapter@tie 5}
@xrdef{Bourne Shell Variables-title}{Bourne Shell Variables}
@xrdef{Bourne Shell Variables-snt}{Section@tie 5.1}
@xrdef{Bash Variables-title}{Bash Variables}
@xrdef{Bash Variables-snt}{Section@tie 5.2}
@xrdef{Shell Variables-pg}{77}
@xrdef{Bourne Shell Variables-pg}{77}
@xrdef{Bash Variables-pg}{77}
@xrdef{Shell Variables-pg}{78}
@xrdef{Bourne Shell Variables-pg}{78}
@xrdef{Bash Variables-pg}{78}
@xrdef{Bash Features-title}{Bash Features}
@xrdef{Bash Features-snt}{Chapter@tie 6}
@xrdef{Invoking Bash-title}{Invoking Bash}
@xrdef{Invoking Bash-snt}{Section@tie 6.1}
@xrdef{Bash Features-pg}{90}
@xrdef{Invoking Bash-pg}{90}
@xrdef{Bash Features-pg}{91}
@xrdef{Invoking Bash-pg}{91}
@xrdef{Bash Startup Files-title}{Bash Startup Files}
@xrdef{Bash Startup Files-snt}{Section@tie 6.2}
@xrdef{Bash Startup Files-pg}{92}
@xrdef{Bash Startup Files-pg}{93}
@xrdef{Interactive Shells-title}{Interactive Shells}
@xrdef{Interactive Shells-snt}{Section@tie 6.3}
@xrdef{What is an Interactive Shell?-title}{What is an Interactive Shell?}
@xrdef{What is an Interactive Shell?-snt}{Section@tie 6.3.1}
@xrdef{Interactive Shells-pg}{93}
@xrdef{Interactive Shells-pg}{94}
@xrdef{Is this Shell Interactive?-title}{Is this Shell Interactive?}
@xrdef{Is this Shell Interactive?-snt}{Section@tie 6.3.2}
@xrdef{Interactive Shell Behavior-title}{Interactive Shell Behavior}
@xrdef{Interactive Shell Behavior-snt}{Section@tie 6.3.3}
@xrdef{What is an Interactive Shell?-pg}{94}
@xrdef{Is this Shell Interactive?-pg}{94}
@xrdef{Interactive Shell Behavior-pg}{94}
@xrdef{What is an Interactive Shell?-pg}{95}
@xrdef{Is this Shell Interactive?-pg}{95}
@xrdef{Interactive Shell Behavior-pg}{95}
@xrdef{Bash Conditional Expressions-title}{Bash Conditional Expressions}
@xrdef{Bash Conditional Expressions-snt}{Section@tie 6.4}
@xrdef{Bash Conditional Expressions-pg}{95}
@xrdef{Bash Conditional Expressions-pg}{96}
@xrdef{Shell Arithmetic-title}{Shell Arithmetic}
@xrdef{Shell Arithmetic-snt}{Section@tie 6.5}
@xrdef{Shell Arithmetic-pg}{97}
@xrdef{Shell Arithmetic-pg}{98}
@xrdef{Aliases-title}{Aliases}
@xrdef{Aliases-snt}{Section@tie 6.6}
@xrdef{Arrays-title}{Arrays}
@xrdef{Arrays-snt}{Section@tie 6.7}
@xrdef{Aliases-pg}{99}
@xrdef{Arrays-pg}{99}
@xrdef{Aliases-pg}{100}
@xrdef{Arrays-pg}{100}
@xrdef{The Directory Stack-title}{The Directory Stack}
@xrdef{The Directory Stack-snt}{Section@tie 6.8}
@xrdef{Directory Stack Builtins-title}{Directory Stack Builtins}
@xrdef{Directory Stack Builtins-snt}{Section@tie 6.8.1}
@xrdef{The Directory Stack-pg}{101}
@xrdef{Directory Stack Builtins-pg}{101}
@xrdef{The Directory Stack-pg}{102}
@xrdef{Directory Stack Builtins-pg}{102}
@xrdef{Controlling the Prompt-title}{Controlling the Prompt}
@xrdef{Controlling the Prompt-snt}{Section@tie 6.9}
@xrdef{Controlling the Prompt-pg}{103}
@xrdef{Controlling the Prompt-pg}{104}
@xrdef{The Restricted Shell-title}{The Restricted Shell}
@xrdef{The Restricted Shell-snt}{Section@tie 6.10}
@xrdef{The Restricted Shell-pg}{104}
@xrdef{The Restricted Shell-pg}{105}
@xrdef{Bash POSIX Mode-title}{Bash POSIX Mode}
@xrdef{Bash POSIX Mode-snt}{Section@tie 6.11}
@xrdef{Bash POSIX Mode-pg}{105}
@xrdef{Bash POSIX Mode-pg}{106}
@xrdef{Shell Compatibility Mode-title}{Shell Compatibility Mode}
@xrdef{Shell Compatibility Mode-snt}{Section@tie 6.12}
@xrdef{Shell Compatibility Mode-pg}{109}
@xrdef{Shell Compatibility Mode-pg}{110}
@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}{112}
@xrdef{Job Control Basics-pg}{112}
@xrdef{Job Control-pg}{113}
@xrdef{Job Control Basics-pg}{113}
@xrdef{Job Control Builtins-title}{Job Control Builtins}
@xrdef{Job Control Builtins-snt}{Section@tie 7.2}
@xrdef{Job Control Builtins-pg}{113}
@xrdef{Job Control Builtins-pg}{114}
@xrdef{Job Control Variables-title}{Job Control Variables}
@xrdef{Job Control Variables-snt}{Section@tie 7.3}
@xrdef{Job Control Variables-pg}{115}
@xrdef{Job Control Variables-pg}{116}
@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}{116}
@xrdef{Introduction and Notation-pg}{116}
@xrdef{Readline Interaction-pg}{116}
@xrdef{Command Line Editing-pg}{117}
@xrdef{Introduction and Notation-pg}{117}
@xrdef{Readline Interaction-pg}{117}
@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}{117}
@xrdef{Readline Movement Commands-pg}{117}
@xrdef{Readline Bare Essentials-pg}{118}
@xrdef{Readline Movement Commands-pg}{118}
@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}{118}
@xrdef{Readline Arguments-pg}{118}
@xrdef{Searching-pg}{118}
@xrdef{Readline Killing Commands-pg}{119}
@xrdef{Readline Arguments-pg}{119}
@xrdef{Searching-pg}{119}
@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}{119}
@xrdef{Readline Init File Syntax-pg}{119}
@xrdef{Readline Init File-pg}{120}
@xrdef{Readline Init File Syntax-pg}{120}
@xrdef{Conditional Init Constructs-title}{Conditional Init Constructs}
@xrdef{Conditional Init Constructs-snt}{Section@tie 8.3.2}
@xrdef{Conditional Init Constructs-pg}{128}
@xrdef{Conditional Init Constructs-pg}{129}
@xrdef{Sample Init File-title}{Sample Init File}
@xrdef{Sample Init File-snt}{Section@tie 8.3.3}
@xrdef{Sample Init File-pg}{129}
@xrdef{Sample Init File-pg}{130}
@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}{132}
@xrdef{Commands For Moving-pg}{132}
@xrdef{Bindable Readline Commands-pg}{133}
@xrdef{Commands For Moving-pg}{133}
@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}{133}
@xrdef{Commands For History-pg}{134}
@xrdef{Commands For Text-title}{Commands For Changing Text}
@xrdef{Commands For Text-snt}{Section@tie 8.4.3}
@xrdef{Commands For Text-pg}{135}
@xrdef{Commands For Text-pg}{136}
@xrdef{Commands For Killing-title}{Killing And Yanking}
@xrdef{Commands For Killing-snt}{Section@tie 8.4.4}
@xrdef{Commands For Killing-pg}{136}
@xrdef{Commands For Killing-pg}{137}
@xrdef{Numeric Arguments-title}{Specifying Numeric Arguments}
@xrdef{Numeric Arguments-snt}{Section@tie 8.4.5}
@xrdef{Numeric Arguments-pg}{137}
@xrdef{Numeric Arguments-pg}{138}
@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}{138}
@xrdef{Commands For Completion-pg}{139}
@xrdef{Keyboard Macros-title}{Keyboard Macros}
@xrdef{Keyboard Macros-snt}{Section@tie 8.4.7}
@xrdef{Keyboard Macros-pg}{139}
@xrdef{Keyboard Macros-pg}{140}
@xrdef{Miscellaneous Commands-title}{Some Miscellaneous Commands}
@xrdef{Miscellaneous Commands-snt}{Section@tie 8.4.8}
@xrdef{Miscellaneous Commands-pg}{140}
@xrdef{Miscellaneous Commands-pg}{141}
@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}{142}
@xrdef{Programmable Completion-pg}{142}
@xrdef{Readline vi Mode-pg}{143}
@xrdef{Programmable Completion-pg}{143}
@xrdef{Programmable Completion Builtins-title}{Programmable Completion Builtins}
@xrdef{Programmable Completion Builtins-snt}{Section@tie 8.7}
@xrdef{Programmable Completion Builtins-pg}{145}
@xrdef{Programmable Completion Builtins-pg}{146}
@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}{149}
@xrdef{A Programmable Completion Example-pg}{150}
@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}{151}
@xrdef{Bash History Facilities-pg}{151}
@xrdef{Bash History Builtins-pg}{151}
@xrdef{Using History Interactively-pg}{152}
@xrdef{Bash History Facilities-pg}{152}
@xrdef{Bash History Builtins-pg}{152}
@xrdef{History Interaction-title}{History Expansion}
@xrdef{History Interaction-snt}{Section@tie 9.3}
@xrdef{History Interaction-pg}{153}
@xrdef{History Interaction-pg}{154}
@xrdef{Event Designators-title}{Event Designators}
@xrdef{Event Designators-snt}{Section@tie 9.3.1}
@xrdef{Event Designators-pg}{154}
@xrdef{Event Designators-pg}{155}
@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}{155}
@xrdef{Modifiers-pg}{155}
@xrdef{Word Designators-pg}{156}
@xrdef{Modifiers-pg}{156}
@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}{157}
@xrdef{Basic Installation-pg}{157}
@xrdef{Installing Bash-pg}{158}
@xrdef{Basic Installation-pg}{158}
@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}{158}
@xrdef{Compiling For Multiple Architectures-pg}{158}
@xrdef{Compilers and Options-pg}{159}
@xrdef{Compiling For Multiple Architectures-pg}{159}
@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}{159}
@xrdef{Specifying the System Type-pg}{159}
@xrdef{Sharing Defaults-pg}{159}
@xrdef{Installation Names-pg}{160}
@xrdef{Specifying the System Type-pg}{160}
@xrdef{Sharing Defaults-pg}{160}
@xrdef{Optional Features-title}{Optional Features}
@xrdef{Optional Features-snt}{Section@tie 10.8}
@xrdef{Operation Controls-pg}{160}
@xrdef{Optional Features-pg}{160}
@xrdef{Operation Controls-pg}{161}
@xrdef{Optional Features-pg}{161}
@xrdef{Reporting Bugs-title}{Reporting Bugs}
@xrdef{Reporting Bugs-snt}{Appendix@tie @char65{}}
@xrdef{Reporting Bugs-pg}{166}
@xrdef{Reporting Bugs-pg}{167}
@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}{167}
@xrdef{Major Differences From The Bourne Shell-pg}{168}
@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}{173}
@xrdef{GNU Free Documentation License-pg}{174}
@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}{181}
@xrdef{Builtin Index-pg}{181}
@xrdef{Indexes-pg}{182}
@xrdef{Builtin Index-pg}{182}
@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}{182}
@xrdef{Variable Index-pg}{183}
@xrdef{Reserved Word Index-pg}{183}
@xrdef{Variable Index-pg}{184}
@xrdef{Function Index-title}{Function Index}
@xrdef{Function Index-snt}{Section@tie @char68.4}
@xrdef{Function Index-pg}{185}
@xrdef{Function Index-pg}{186}
@xrdef{Concept Index-title}{Concept Index}
@xrdef{Concept Index-snt}{Section@tie @char68.5}
@xrdef{Concept Index-pg}{187}
@xrdef{Concept Index-pg}{188}
+59 -59
View File
@@ -1,59 +1,59 @@
\entry{:}{47}{\code {:}}
\entry{.}{47}{\code {.}}
\entry{break}{48}{\code {break}}
\entry{cd}{48}{\code {cd}}
\entry{continue}{48}{\code {continue}}
\entry{eval}{48}{\code {eval}}
\entry{exec}{49}{\code {exec}}
\entry{exit}{49}{\code {exit}}
\entry{export}{49}{\code {export}}
\entry{getopts}{49}{\code {getopts}}
\entry{hash}{50}{\code {hash}}
\entry{pwd}{50}{\code {pwd}}
\entry{readonly}{51}{\code {readonly}}
\entry{return}{51}{\code {return}}
\entry{shift}{51}{\code {shift}}
\entry{test}{51}{\code {test}}
\entry{[}{51}{\code {[}}
\entry{times}{53}{\code {times}}
\entry{trap}{53}{\code {trap}}
\entry{umask}{54}{\code {umask}}
\entry{unset}{54}{\code {unset}}
\entry{alias}{54}{\code {alias}}
\entry{bind}{55}{\code {bind}}
\entry{builtin}{56}{\code {builtin}}
\entry{caller}{56}{\code {caller}}
\entry{command}{56}{\code {command}}
\entry{declare}{57}{\code {declare}}
\entry{echo}{58}{\code {echo}}
\entry{enable}{59}{\code {enable}}
\entry{help}{60}{\code {help}}
\entry{let}{60}{\code {let}}
\entry{local}{60}{\code {local}}
\entry{logout}{60}{\code {logout}}
\entry{mapfile}{60}{\code {mapfile}}
\entry{printf}{61}{\code {printf}}
\entry{read}{62}{\code {read}}
\entry{readarray}{63}{\code {readarray}}
\entry{source}{63}{\code {source}}
\entry{type}{63}{\code {type}}
\entry{typeset}{64}{\code {typeset}}
\entry{ulimit}{64}{\code {ulimit}}
\entry{unalias}{65}{\code {unalias}}
\entry{set}{66}{\code {set}}
\entry{shopt}{70}{\code {shopt}}
\entry{dirs}{101}{\code {dirs}}
\entry{popd}{102}{\code {popd}}
\entry{pushd}{102}{\code {pushd}}
\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}}
\entry{:}{48}{\code {:}}
\entry{.}{48}{\code {.}}
\entry{break}{49}{\code {break}}
\entry{cd}{49}{\code {cd}}
\entry{continue}{49}{\code {continue}}
\entry{eval}{49}{\code {eval}}
\entry{exec}{50}{\code {exec}}
\entry{exit}{50}{\code {exit}}
\entry{export}{50}{\code {export}}
\entry{getopts}{50}{\code {getopts}}
\entry{hash}{51}{\code {hash}}
\entry{pwd}{51}{\code {pwd}}
\entry{readonly}{52}{\code {readonly}}
\entry{return}{52}{\code {return}}
\entry{shift}{52}{\code {shift}}
\entry{test}{52}{\code {test}}
\entry{[}{52}{\code {[}}
\entry{times}{54}{\code {times}}
\entry{trap}{54}{\code {trap}}
\entry{umask}{55}{\code {umask}}
\entry{unset}{55}{\code {unset}}
\entry{alias}{55}{\code {alias}}
\entry{bind}{56}{\code {bind}}
\entry{builtin}{57}{\code {builtin}}
\entry{caller}{57}{\code {caller}}
\entry{command}{57}{\code {command}}
\entry{declare}{58}{\code {declare}}
\entry{echo}{59}{\code {echo}}
\entry{enable}{60}{\code {enable}}
\entry{help}{61}{\code {help}}
\entry{let}{61}{\code {let}}
\entry{local}{61}{\code {local}}
\entry{logout}{61}{\code {logout}}
\entry{mapfile}{61}{\code {mapfile}}
\entry{printf}{62}{\code {printf}}
\entry{read}{63}{\code {read}}
\entry{readarray}{64}{\code {readarray}}
\entry{source}{64}{\code {source}}
\entry{type}{64}{\code {type}}
\entry{typeset}{65}{\code {typeset}}
\entry{ulimit}{65}{\code {ulimit}}
\entry{unalias}{66}{\code {unalias}}
\entry{set}{67}{\code {set}}
\entry{shopt}{71}{\code {shopt}}
\entry{dirs}{102}{\code {dirs}}
\entry{popd}{103}{\code {popd}}
\entry{pushd}{103}{\code {pushd}}
\entry{bg}{114}{\code {bg}}
\entry{fg}{114}{\code {fg}}
\entry{jobs}{114}{\code {jobs}}
\entry{kill}{115}{\code {kill}}
\entry{wait}{115}{\code {wait}}
\entry{disown}{116}{\code {disown}}
\entry{suspend}{116}{\code {suspend}}
\entry{compgen}{146}{\code {compgen}}
\entry{complete}{146}{\code {complete}}
\entry{compopt}{149}{\code {compopt}}
\entry{fc}{153}{\code {fc}}
\entry{history}{153}{\code {history}}
+59 -59
View File
@@ -1,80 +1,80 @@
\initial {.}
\entry{\code {.}}{47}
\entry{\code {.}}{48}
\initial {:}
\entry{\code {:}}{47}
\entry{\code {:}}{48}
\initial {[}
\entry{\code {[}}{51}
\entry{\code {[}}{52}
\initial {A}
\entry{\code {alias}}{54}
\entry{\code {alias}}{55}
\initial {B}
\entry{\code {bg}}{113}
\entry{\code {bind}}{55}
\entry{\code {break}}{48}
\entry{\code {builtin}}{56}
\entry{\code {bg}}{114}
\entry{\code {bind}}{56}
\entry{\code {break}}{49}
\entry{\code {builtin}}{57}
\initial {C}
\entry{\code {caller}}{56}
\entry{\code {cd}}{48}
\entry{\code {command}}{56}
\entry{\code {compgen}}{145}
\entry{\code {complete}}{145}
\entry{\code {compopt}}{148}
\entry{\code {continue}}{48}
\entry{\code {caller}}{57}
\entry{\code {cd}}{49}
\entry{\code {command}}{57}
\entry{\code {compgen}}{146}
\entry{\code {complete}}{146}
\entry{\code {compopt}}{149}
\entry{\code {continue}}{49}
\initial {D}
\entry{\code {declare}}{57}
\entry{\code {dirs}}{101}
\entry{\code {disown}}{115}
\entry{\code {declare}}{58}
\entry{\code {dirs}}{102}
\entry{\code {disown}}{116}
\initial {E}
\entry{\code {echo}}{58}
\entry{\code {enable}}{59}
\entry{\code {eval}}{48}
\entry{\code {exec}}{49}
\entry{\code {exit}}{49}
\entry{\code {export}}{49}
\entry{\code {echo}}{59}
\entry{\code {enable}}{60}
\entry{\code {eval}}{49}
\entry{\code {exec}}{50}
\entry{\code {exit}}{50}
\entry{\code {export}}{50}
\initial {F}
\entry{\code {fc}}{152}
\entry{\code {fg}}{113}
\entry{\code {fc}}{153}
\entry{\code {fg}}{114}
\initial {G}
\entry{\code {getopts}}{49}
\entry{\code {getopts}}{50}
\initial {H}
\entry{\code {hash}}{50}
\entry{\code {help}}{60}
\entry{\code {history}}{152}
\entry{\code {hash}}{51}
\entry{\code {help}}{61}
\entry{\code {history}}{153}
\initial {J}
\entry{\code {jobs}}{113}
\entry{\code {jobs}}{114}
\initial {K}
\entry{\code {kill}}{114}
\entry{\code {kill}}{115}
\initial {L}
\entry{\code {let}}{60}
\entry{\code {local}}{60}
\entry{\code {logout}}{60}
\entry{\code {let}}{61}
\entry{\code {local}}{61}
\entry{\code {logout}}{61}
\initial {M}
\entry{\code {mapfile}}{60}
\entry{\code {mapfile}}{61}
\initial {P}
\entry{\code {popd}}{102}
\entry{\code {printf}}{61}
\entry{\code {pushd}}{102}
\entry{\code {pwd}}{50}
\entry{\code {popd}}{103}
\entry{\code {printf}}{62}
\entry{\code {pushd}}{103}
\entry{\code {pwd}}{51}
\initial {R}
\entry{\code {read}}{62}
\entry{\code {readarray}}{63}
\entry{\code {readonly}}{51}
\entry{\code {return}}{51}
\entry{\code {read}}{63}
\entry{\code {readarray}}{64}
\entry{\code {readonly}}{52}
\entry{\code {return}}{52}
\initial {S}
\entry{\code {set}}{66}
\entry{\code {shift}}{51}
\entry{\code {shopt}}{70}
\entry{\code {source}}{63}
\entry{\code {suspend}}{115}
\entry{\code {set}}{67}
\entry{\code {shift}}{52}
\entry{\code {shopt}}{71}
\entry{\code {source}}{64}
\entry{\code {suspend}}{116}
\initial {T}
\entry{\code {test}}{51}
\entry{\code {times}}{53}
\entry{\code {trap}}{53}
\entry{\code {type}}{63}
\entry{\code {typeset}}{64}
\entry{\code {test}}{52}
\entry{\code {times}}{54}
\entry{\code {trap}}{54}
\entry{\code {type}}{64}
\entry{\code {typeset}}{65}
\initial {U}
\entry{\code {ulimit}}{64}
\entry{\code {umask}}{54}
\entry{\code {unalias}}{65}
\entry{\code {unset}}{54}
\entry{\code {ulimit}}{65}
\entry{\code {umask}}{55}
\entry{\code {unalias}}{66}
\entry{\code {unset}}{55}
\initial {W}
\entry{\code {wait}}{114}
\entry{\code {wait}}{115}
+50 -50
View File
@@ -45,7 +45,7 @@
\entry{parameters}{21}{parameters}
\entry{variable, shell}{21}{variable, shell}
\entry{shell variable}{21}{shell variable}
\entry{parameters, positional}{22}{parameters, positional}
\entry{parameters, positional}{23}{parameters, positional}
\entry{parameters, special}{23}{parameters, special}
\entry{expansion}{24}{expansion}
\entry{brace expansion}{24}{brace expansion}
@@ -65,59 +65,59 @@
\entry{pathname expansion}{35}{pathname expansion}
\entry{pattern matching}{36}{pattern matching}
\entry{matching, pattern}{36}{matching, pattern}
\entry{redirection}{37}{redirection}
\entry{command expansion}{41}{command expansion}
\entry{redirection}{38}{redirection}
\entry{command expansion}{42}{command expansion}
\entry{command execution}{42}{command execution}
\entry{command search}{42}{command search}
\entry{execution environment}{42}{execution environment}
\entry{execution environment}{43}{execution environment}
\entry{environment}{44}{environment}
\entry{exit status}{44}{exit status}
\entry{signal handling}{45}{signal handling}
\entry{shell script}{46}{shell script}
\entry{special builtin}{76}{special builtin}
\entry{login shell}{92}{login shell}
\entry{interactive shell}{92}{interactive shell}
\entry{startup files}{92}{startup files}
\entry{special builtin}{77}{special builtin}
\entry{login shell}{93}{login shell}
\entry{interactive shell}{93}{interactive shell}
\entry{shell, interactive}{93}{shell, interactive}
\entry{expressions, conditional}{95}{expressions, conditional}
\entry{arithmetic, shell}{97}{arithmetic, shell}
\entry{shell arithmetic}{97}{shell arithmetic}
\entry{expressions, arithmetic}{97}{expressions, arithmetic}
\entry{evaluation, arithmetic}{97}{evaluation, arithmetic}
\entry{arithmetic evaluation}{97}{arithmetic evaluation}
\entry{alias expansion}{99}{alias expansion}
\entry{arrays}{99}{arrays}
\entry{directory stack}{101}{directory stack}
\entry{prompting}{103}{prompting}
\entry{restricted shell}{104}{restricted shell}
\entry{POSIX Mode}{105}{POSIX Mode}
\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}
\entry{startup files}{93}{startup files}
\entry{interactive shell}{94}{interactive shell}
\entry{shell, interactive}{94}{shell, interactive}
\entry{expressions, conditional}{96}{expressions, conditional}
\entry{arithmetic, shell}{98}{arithmetic, shell}
\entry{shell arithmetic}{98}{shell arithmetic}
\entry{expressions, arithmetic}{98}{expressions, arithmetic}
\entry{evaluation, arithmetic}{98}{evaluation, arithmetic}
\entry{arithmetic evaluation}{98}{arithmetic evaluation}
\entry{alias expansion}{100}{alias expansion}
\entry{arrays}{100}{arrays}
\entry{directory stack}{102}{directory stack}
\entry{prompting}{104}{prompting}
\entry{restricted shell}{105}{restricted shell}
\entry{POSIX Mode}{106}{POSIX Mode}
\entry{Compatibility Level}{110}{Compatibility Level}
\entry{Compatibility Mode}{110}{Compatibility Mode}
\entry{job control}{113}{job control}
\entry{foreground}{113}{foreground}
\entry{background}{113}{background}
\entry{suspending jobs}{113}{suspending jobs}
\entry{Readline, how to use}{116}{Readline, how to use}
\entry{interaction, readline}{117}{interaction, readline}
\entry{notation, readline}{118}{notation, readline}
\entry{command editing}{118}{command editing}
\entry{editing command lines}{118}{editing command lines}
\entry{killing text}{119}{killing text}
\entry{yanking text}{119}{yanking text}
\entry{kill ring}{119}{kill ring}
\entry{initialization file, readline}{120}{initialization file, readline}
\entry{variables, readline}{121}{variables, readline}
\entry{programmable completion}{143}{programmable completion}
\entry{completion builtins}{146}{completion builtins}
\entry{History, how to use}{151}{History, how to use}
\entry{command history}{152}{command history}
\entry{history list}{152}{history list}
\entry{history builtins}{152}{history builtins}
\entry{history expansion}{154}{history expansion}
\entry{event designators}{155}{event designators}
\entry{history events}{155}{history events}
\entry{installation}{158}{installation}
\entry{configuration}{158}{configuration}
\entry{Bash installation}{158}{Bash installation}
\entry{Bash configuration}{158}{Bash configuration}
+50 -50
View File
@@ -1,21 +1,21 @@
\initial {A}
\entry{alias expansion}{99}
\entry{arithmetic evaluation}{97}
\entry{alias expansion}{100}
\entry{arithmetic evaluation}{98}
\entry{arithmetic expansion}{34}
\entry{arithmetic, shell}{97}
\entry{arrays}{99}
\entry{arithmetic, shell}{98}
\entry{arrays}{100}
\initial {B}
\entry{background}{112}
\entry{Bash configuration}{157}
\entry{Bash installation}{157}
\entry{background}{113}
\entry{Bash configuration}{158}
\entry{Bash installation}{158}
\entry{Bourne shell}{5}
\entry{brace expansion}{24}
\entry{builtin}{3}
\initial {C}
\entry{command editing}{117}
\entry{command editing}{118}
\entry{command execution}{42}
\entry{command expansion}{41}
\entry{command history}{151}
\entry{command expansion}{42}
\entry{command history}{152}
\entry{command search}{42}
\entry{command substitution}{34}
\entry{command timing}{10}
@@ -28,20 +28,20 @@
\entry{commands, shell}{9}
\entry{commands, simple}{9}
\entry{comments, shell}{9}
\entry{Compatibility Level}{109}
\entry{Compatibility Mode}{109}
\entry{completion builtins}{145}
\entry{configuration}{157}
\entry{Compatibility Level}{110}
\entry{Compatibility Mode}{110}
\entry{completion builtins}{146}
\entry{configuration}{158}
\entry{control operator}{3}
\entry{coprocess}{18}
\initial {D}
\entry{directory stack}{101}
\entry{directory stack}{102}
\initial {E}
\entry{editing command lines}{117}
\entry{editing command lines}{118}
\entry{environment}{44}
\entry{evaluation, arithmetic}{97}
\entry{event designators}{154}
\entry{execution environment}{42}
\entry{evaluation, arithmetic}{98}
\entry{event designators}{155}
\entry{execution environment}{43}
\entry{exit status}{3, 44}
\entry{expansion}{24}
\entry{expansion, arithmetic}{34}
@@ -50,92 +50,92 @@
\entry{expansion, parameter}{26}
\entry{expansion, pathname}{35}
\entry{expansion, tilde}{25}
\entry{expressions, arithmetic}{97}
\entry{expressions, conditional}{95}
\entry{expressions, arithmetic}{98}
\entry{expressions, conditional}{96}
\initial {F}
\entry{field}{3}
\entry{filename}{3}
\entry{filename expansion}{35}
\entry{foreground}{112}
\entry{foreground}{113}
\entry{functions, shell}{19}
\initial {H}
\entry{history builtins}{151}
\entry{history events}{154}
\entry{history expansion}{153}
\entry{history list}{151}
\entry{History, how to use}{150}
\entry{history builtins}{152}
\entry{history events}{155}
\entry{history expansion}{154}
\entry{history list}{152}
\entry{History, how to use}{151}
\initial {I}
\entry{identifier}{3}
\entry{initialization file, readline}{119}
\entry{installation}{157}
\entry{interaction, readline}{116}
\entry{interactive shell}{92, 93}
\entry{initialization file, readline}{120}
\entry{installation}{158}
\entry{interaction, readline}{117}
\entry{interactive shell}{93, 94}
\entry{internationalization}{7}
\entry{internationalized scripts}{7}
\initial {J}
\entry{job}{3}
\entry{job control}{3, 112}
\entry{job control}{3, 113}
\initial {K}
\entry{kill ring}{118}
\entry{killing text}{118}
\entry{kill ring}{119}
\entry{killing text}{119}
\initial {L}
\entry{localization}{7}
\entry{login shell}{92}
\entry{login shell}{93}
\initial {M}
\entry{matching, pattern}{36}
\entry{metacharacter}{3}
\initial {N}
\entry{name}{3}
\entry{native languages}{7}
\entry{notation, readline}{117}
\entry{notation, readline}{118}
\initial {O}
\entry{operator, shell}{3}
\initial {P}
\entry{parameter expansion}{26}
\entry{parameters}{21}
\entry{parameters, positional}{22}
\entry{parameters, positional}{23}
\entry{parameters, special}{23}
\entry{pathname expansion}{35}
\entry{pattern matching}{36}
\entry{pipeline}{10}
\entry{POSIX}{3}
\entry{POSIX Mode}{105}
\entry{POSIX Mode}{106}
\entry{process group}{3}
\entry{process group ID}{3}
\entry{process substitution}{34}
\entry{programmable completion}{142}
\entry{prompting}{103}
\entry{programmable completion}{143}
\entry{prompting}{104}
\initial {Q}
\entry{quoting}{6}
\entry{quoting, ANSI}{6}
\initial {R}
\entry{Readline, how to use}{115}
\entry{redirection}{37}
\entry{Readline, how to use}{116}
\entry{redirection}{38}
\entry{reserved word}{3}
\entry{reserved words}{9}
\entry{restricted shell}{104}
\entry{restricted shell}{105}
\entry{return status}{4}
\initial {S}
\entry{shell arithmetic}{97}
\entry{shell arithmetic}{98}
\entry{shell function}{19}
\entry{shell script}{46}
\entry{shell variable}{21}
\entry{shell, interactive}{93}
\entry{shell, interactive}{94}
\entry{signal}{4}
\entry{signal handling}{45}
\entry{special builtin}{4, 76}
\entry{startup files}{92}
\entry{special builtin}{4, 77}
\entry{startup files}{93}
\entry{string translations}{7}
\entry{suspending jobs}{112}
\entry{suspending jobs}{113}
\initial {T}
\entry{tilde expansion}{25}
\entry{token}{4}
\entry{translation, native languages}{7}
\initial {V}
\entry{variable, shell}{21}
\entry{variables, readline}{120}
\entry{variables, readline}{121}
\initial {W}
\entry{word}{4}
\entry{word splitting}{35}
\initial {Y}
\entry{yanking text}{118}
\entry{yanking text}{119}
BIN
View File
Binary file not shown.
+114 -114
View File
@@ -1,114 +1,114 @@
\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)}}
\entry{beginning-of-line (C-a)}{133}{\code {beginning-of-line (C-a)}}
\entry{end-of-line (C-e)}{133}{\code {end-of-line (C-e)}}
\entry{forward-char (C-f)}{133}{\code {forward-char (C-f)}}
\entry{backward-char (C-b)}{133}{\code {backward-char (C-b)}}
\entry{forward-word (M-f)}{133}{\code {forward-word (M-f)}}
\entry{backward-word (M-b)}{133}{\code {backward-word (M-b)}}
\entry{shell-forward-word (M-C-f)}{133}{\code {shell-forward-word (M-C-f)}}
\entry{shell-backward-word (M-C-b)}{133}{\code {shell-backward-word (M-C-b)}}
\entry{previous-screen-line ()}{133}{\code {previous-screen-line ()}}
\entry{next-screen-line ()}{134}{\code {next-screen-line ()}}
\entry{clear-display (M-C-l)}{134}{\code {clear-display (M-C-l)}}
\entry{clear-screen (C-l)}{134}{\code {clear-screen (C-l)}}
\entry{redraw-current-line ()}{134}{\code {redraw-current-line ()}}
\entry{accept-line (Newline or Return)}{134}{\code {accept-line (Newline or Return)}}
\entry{previous-history (C-p)}{134}{\code {previous-history (C-p)}}
\entry{next-history (C-n)}{134}{\code {next-history (C-n)}}
\entry{beginning-of-history (M-<)}{134}{\code {beginning-of-history (M-<)}}
\entry{end-of-history (M->)}{134}{\code {end-of-history (M->)}}
\entry{reverse-search-history (C-r)}{134}{\code {reverse-search-history (C-r)}}
\entry{forward-search-history (C-s)}{134}{\code {forward-search-history (C-s)}}
\entry{non-incremental-reverse-search-history (M-p)}{134}{\code {non-incremental-reverse-search-history (M-p)}}
\entry{non-incremental-forward-search-history (M-n)}{135}{\code {non-incremental-forward-search-history (M-n)}}
\entry{history-search-forward ()}{135}{\code {history-search-forward ()}}
\entry{history-search-backward ()}{135}{\code {history-search-backward ()}}
\entry{history-substring-search-forward ()}{135}{\code {history-substring-search-forward ()}}
\entry{history-substring-search-backward ()}{135}{\code {history-substring-search-backward ()}}
\entry{yank-nth-arg (M-C-y)}{135}{\code {yank-nth-arg (M-C-y)}}
\entry{yank-last-arg (M-. or M-_)}{135}{\code {yank-last-arg (M-. or M-_)}}
\entry{operate-and-get-next (C-o)}{135}{\code {operate-and-get-next (C-o)}}
\entry{fetch-history ()}{136}{\code {fetch-history ()}}
\entry{end-of-file (usually C-d)}{136}{\code {\i {end-of-file} (usually C-d)}}
\entry{delete-char (C-d)}{136}{\code {delete-char (C-d)}}
\entry{backward-delete-char (Rubout)}{136}{\code {backward-delete-char (Rubout)}}
\entry{forward-backward-delete-char ()}{136}{\code {forward-backward-delete-char ()}}
\entry{quoted-insert (C-q or C-v)}{136}{\code {quoted-insert (C-q or C-v)}}
\entry{self-insert (a, b, A, 1, !, ...{})}{136}{\code {self-insert (a, b, A, 1, !, \dots {})}}
\entry{bracketed-paste-begin ()}{136}{\code {bracketed-paste-begin ()}}
\entry{transpose-chars (C-t)}{136}{\code {transpose-chars (C-t)}}
\entry{transpose-words (M-t)}{137}{\code {transpose-words (M-t)}}
\entry{upcase-word (M-u)}{137}{\code {upcase-word (M-u)}}
\entry{downcase-word (M-l)}{137}{\code {downcase-word (M-l)}}
\entry{capitalize-word (M-c)}{137}{\code {capitalize-word (M-c)}}
\entry{overwrite-mode ()}{137}{\code {overwrite-mode ()}}
\entry{kill-line (C-k)}{137}{\code {kill-line (C-k)}}
\entry{backward-kill-line (C-x Rubout)}{137}{\code {backward-kill-line (C-x Rubout)}}
\entry{unix-line-discard (C-u)}{137}{\code {unix-line-discard (C-u)}}
\entry{kill-whole-line ()}{137}{\code {kill-whole-line ()}}
\entry{kill-word (M-d)}{137}{\code {kill-word (M-d)}}
\entry{backward-kill-word (M-DEL)}{137}{\code {backward-kill-word (M-\key {DEL})}}
\entry{shell-kill-word (M-C-d)}{138}{\code {shell-kill-word (M-C-d)}}
\entry{shell-backward-kill-word ()}{138}{\code {shell-backward-kill-word ()}}
\entry{shell-transpose-words (M-C-t)}{138}{\code {shell-transpose-words (M-C-t)}}
\entry{unix-word-rubout (C-w)}{138}{\code {unix-word-rubout (C-w)}}
\entry{unix-filename-rubout ()}{138}{\code {unix-filename-rubout ()}}
\entry{delete-horizontal-space ()}{138}{\code {delete-horizontal-space ()}}
\entry{kill-region ()}{138}{\code {kill-region ()}}
\entry{copy-region-as-kill ()}{138}{\code {copy-region-as-kill ()}}
\entry{copy-backward-word ()}{138}{\code {copy-backward-word ()}}
\entry{copy-forward-word ()}{138}{\code {copy-forward-word ()}}
\entry{yank (C-y)}{138}{\code {yank (C-y)}}
\entry{yank-pop (M-y)}{138}{\code {yank-pop (M-y)}}
\entry{digit-argument (M-0, M-1, ...{} M--)}{138}{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}
\entry{universal-argument ()}{139}{\code {universal-argument ()}}
\entry{complete (TAB)}{139}{\code {complete (\key {TAB})}}
\entry{possible-completions (M-?)}{139}{\code {possible-completions (M-?)}}
\entry{insert-completions (M-*)}{139}{\code {insert-completions (M-*)}}
\entry{menu-complete ()}{139}{\code {menu-complete ()}}
\entry{menu-complete-backward ()}{139}{\code {menu-complete-backward ()}}
\entry{delete-char-or-list ()}{139}{\code {delete-char-or-list ()}}
\entry{complete-filename (M-/)}{139}{\code {complete-filename (M-/)}}
\entry{possible-filename-completions (C-x /)}{140}{\code {possible-filename-completions (C-x /)}}
\entry{complete-username (M-~)}{140}{\code {complete-username (M-~)}}
\entry{possible-username-completions (C-x ~)}{140}{\code {possible-username-completions (C-x ~)}}
\entry{complete-variable (M-$)}{140}{\code {complete-variable (M-$)}}
\entry{possible-variable-completions (C-x $)}{140}{\code {possible-variable-completions (C-x $)}}
\entry{complete-hostname (M-@)}{140}{\code {complete-hostname (M-@)}}
\entry{possible-hostname-completions (C-x @)}{140}{\code {possible-hostname-completions (C-x @)}}
\entry{complete-command (M-!)}{140}{\code {complete-command (M-!)}}
\entry{possible-command-completions (C-x !)}{140}{\code {possible-command-completions (C-x !)}}
\entry{dynamic-complete-history (M-TAB)}{140}{\code {dynamic-complete-history (M-\key {TAB})}}
\entry{dabbrev-expand ()}{140}{\code {dabbrev-expand ()}}
\entry{complete-into-braces (M-{\indexlbrace })}{140}{\code {complete-into-braces (M-{\tt \char 123})}}
\entry{start-kbd-macro (C-x ()}{140}{\code {start-kbd-macro (C-x ()}}
\entry{end-kbd-macro (C-x ))}{140}{\code {end-kbd-macro (C-x ))}}
\entry{call-last-kbd-macro (C-x e)}{141}{\code {call-last-kbd-macro (C-x e)}}
\entry{print-last-kbd-macro ()}{141}{\code {print-last-kbd-macro ()}}
\entry{re-read-init-file (C-x C-r)}{141}{\code {re-read-init-file (C-x C-r)}}
\entry{abort (C-g)}{141}{\code {abort (C-g)}}
\entry{do-lowercase-version (M-A, M-B, M-x, ...{})}{141}{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}
\entry{prefix-meta (ESC)}{141}{\code {prefix-meta (\key {ESC})}}
\entry{undo (C-_ or C-x C-u)}{141}{\code {undo (C-_ or C-x C-u)}}
\entry{revert-line (M-r)}{141}{\code {revert-line (M-r)}}
\entry{tilde-expand (M-&)}{141}{\code {tilde-expand (M-&)}}
\entry{set-mark (C-@)}{141}{\code {set-mark (C-@)}}
\entry{exchange-point-and-mark (C-x C-x)}{141}{\code {exchange-point-and-mark (C-x C-x)}}
\entry{character-search (C-])}{141}{\code {character-search (C-])}}
\entry{character-search-backward (M-C-])}{141}{\code {character-search-backward (M-C-])}}
\entry{skip-csi-sequence ()}{141}{\code {skip-csi-sequence ()}}
\entry{insert-comment (M-#)}{142}{\code {insert-comment (M-#)}}
\entry{dump-functions ()}{142}{\code {dump-functions ()}}
\entry{dump-variables ()}{142}{\code {dump-variables ()}}
\entry{dump-macros ()}{142}{\code {dump-macros ()}}
\entry{spell-correct-word (C-x s)}{142}{\code {spell-correct-word (C-x s)}}
\entry{glob-complete-word (M-g)}{142}{\code {glob-complete-word (M-g)}}
\entry{glob-expand-word (C-x *)}{142}{\code {glob-expand-word (C-x *)}}
\entry{glob-list-expansions (C-x g)}{142}{\code {glob-list-expansions (C-x g)}}
\entry{display-shell-version (C-x C-v)}{143}{\code {display-shell-version (C-x C-v)}}
\entry{shell-expand-line (M-C-e)}{143}{\code {shell-expand-line (M-C-e)}}
\entry{history-expand-line (M-^)}{143}{\code {history-expand-line (M-^)}}
\entry{magic-space ()}{143}{\code {magic-space ()}}
\entry{alias-expand-line ()}{143}{\code {alias-expand-line ()}}
\entry{history-and-alias-expand-line ()}{143}{\code {history-and-alias-expand-line ()}}
\entry{insert-last-argument (M-. or M-_)}{143}{\code {insert-last-argument (M-. or M-_)}}
\entry{edit-and-execute-command (C-x C-e)}{143}{\code {edit-and-execute-command (C-x C-e)}}
+114 -114
View File
@@ -1,134 +1,134 @@
\initial {A}
\entry{\code {abort (C-g)}}{140}
\entry{\code {accept-line (Newline or Return)}}{133}
\entry{\code {alias-expand-line ()}}{142}
\entry{\code {abort (C-g)}}{141}
\entry{\code {accept-line (Newline or Return)}}{134}
\entry{\code {alias-expand-line ()}}{143}
\initial {B}
\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}
\entry{\code {backward-char (C-b)}}{133}
\entry{\code {backward-delete-char (Rubout)}}{136}
\entry{\code {backward-kill-line (C-x Rubout)}}{137}
\entry{\code {backward-kill-word (M-\key {DEL})}}{137}
\entry{\code {backward-word (M-b)}}{133}
\entry{\code {beginning-of-history (M-<)}}{134}
\entry{\code {beginning-of-line (C-a)}}{133}
\entry{\code {bracketed-paste-begin ()}}{136}
\initial {C}
\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}
\entry{\code {call-last-kbd-macro (C-x e)}}{141}
\entry{\code {capitalize-word (M-c)}}{137}
\entry{\code {character-search (C-])}}{141}
\entry{\code {character-search-backward (M-C-])}}{141}
\entry{\code {clear-display (M-C-l)}}{134}
\entry{\code {clear-screen (C-l)}}{134}
\entry{\code {complete (\key {TAB})}}{139}
\entry{\code {complete-command (M-!)}}{140}
\entry{\code {complete-filename (M-/)}}{139}
\entry{\code {complete-hostname (M-@)}}{140}
\entry{\code {complete-into-braces (M-{\tt \char 123})}}{140}
\entry{\code {complete-username (M-~)}}{140}
\entry{\code {complete-variable (M-$)}}{140}
\entry{\code {copy-backward-word ()}}{138}
\entry{\code {copy-forward-word ()}}{138}
\entry{\code {copy-region-as-kill ()}}{138}
\initial {D}
\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}
\entry{\code {dabbrev-expand ()}}{140}
\entry{\code {delete-char (C-d)}}{136}
\entry{\code {delete-char-or-list ()}}{139}
\entry{\code {delete-horizontal-space ()}}{138}
\entry{\code {digit-argument (\kbd {M-0}, \kbd {M-1}, \dots {} \kbd {M--})}}{138}
\entry{\code {display-shell-version (C-x C-v)}}{143}
\entry{\code {do-lowercase-version (M-A, M-B, M-\var {x}, \dots {})}}{141}
\entry{\code {downcase-word (M-l)}}{137}
\entry{\code {dump-functions ()}}{142}
\entry{\code {dump-macros ()}}{142}
\entry{\code {dump-variables ()}}{142}
\entry{\code {dynamic-complete-history (M-\key {TAB})}}{140}
\initial {E}
\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}
\entry{\code {edit-and-execute-command (C-x C-e)}}{143}
\entry{\code {end-kbd-macro (C-x ))}}{140}
\entry{\code {\i {end-of-file} (usually C-d)}}{136}
\entry{\code {end-of-history (M->)}}{134}
\entry{\code {end-of-line (C-e)}}{133}
\entry{\code {exchange-point-and-mark (C-x C-x)}}{141}
\initial {F}
\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}
\entry{\code {fetch-history ()}}{136}
\entry{\code {forward-backward-delete-char ()}}{136}
\entry{\code {forward-char (C-f)}}{133}
\entry{\code {forward-search-history (C-s)}}{134}
\entry{\code {forward-word (M-f)}}{133}
\initial {G}
\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}
\entry{\code {glob-complete-word (M-g)}}{142}
\entry{\code {glob-expand-word (C-x *)}}{142}
\entry{\code {glob-list-expansions (C-x g)}}{142}
\initial {H}
\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}
\entry{\code {history-and-alias-expand-line ()}}{143}
\entry{\code {history-expand-line (M-^)}}{143}
\entry{\code {history-search-backward ()}}{135}
\entry{\code {history-search-forward ()}}{135}
\entry{\code {history-substring-search-backward ()}}{135}
\entry{\code {history-substring-search-forward ()}}{135}
\initial {I}
\entry{\code {insert-comment (M-#)}}{141}
\entry{\code {insert-completions (M-*)}}{138}
\entry{\code {insert-last-argument (M-. or M-_)}}{142}
\entry{\code {insert-comment (M-#)}}{142}
\entry{\code {insert-completions (M-*)}}{139}
\entry{\code {insert-last-argument (M-. or M-_)}}{143}
\initial {K}
\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}
\entry{\code {kill-line (C-k)}}{137}
\entry{\code {kill-region ()}}{138}
\entry{\code {kill-whole-line ()}}{137}
\entry{\code {kill-word (M-d)}}{137}
\initial {M}
\entry{\code {magic-space ()}}{142}
\entry{\code {menu-complete ()}}{138}
\entry{\code {menu-complete-backward ()}}{138}
\entry{\code {magic-space ()}}{143}
\entry{\code {menu-complete ()}}{139}
\entry{\code {menu-complete-backward ()}}{139}
\initial {N}
\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}
\entry{\code {next-history (C-n)}}{134}
\entry{\code {next-screen-line ()}}{134}
\entry{\code {non-incremental-forward-search-history (M-n)}}{135}
\entry{\code {non-incremental-reverse-search-history (M-p)}}{134}
\initial {O}
\entry{\code {operate-and-get-next (C-o)}}{134}
\entry{\code {overwrite-mode ()}}{136}
\entry{\code {operate-and-get-next (C-o)}}{135}
\entry{\code {overwrite-mode ()}}{137}
\initial {P}
\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}
\entry{\code {possible-command-completions (C-x !)}}{140}
\entry{\code {possible-completions (M-?)}}{139}
\entry{\code {possible-filename-completions (C-x /)}}{140}
\entry{\code {possible-hostname-completions (C-x @)}}{140}
\entry{\code {possible-username-completions (C-x ~)}}{140}
\entry{\code {possible-variable-completions (C-x $)}}{140}
\entry{\code {prefix-meta (\key {ESC})}}{141}
\entry{\code {previous-history (C-p)}}{134}
\entry{\code {previous-screen-line ()}}{133}
\entry{\code {print-last-kbd-macro ()}}{141}
\initial {Q}
\entry{\code {quoted-insert (C-q or C-v)}}{135}
\entry{\code {quoted-insert (C-q or C-v)}}{136}
\initial {R}
\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}
\entry{\code {re-read-init-file (C-x C-r)}}{141}
\entry{\code {redraw-current-line ()}}{134}
\entry{\code {reverse-search-history (C-r)}}{134}
\entry{\code {revert-line (M-r)}}{141}
\initial {S}
\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}
\entry{\code {self-insert (a, b, A, 1, !, \dots {})}}{136}
\entry{\code {set-mark (C-@)}}{141}
\entry{\code {shell-backward-kill-word ()}}{138}
\entry{\code {shell-backward-word (M-C-b)}}{133}
\entry{\code {shell-expand-line (M-C-e)}}{143}
\entry{\code {shell-forward-word (M-C-f)}}{133}
\entry{\code {shell-kill-word (M-C-d)}}{138}
\entry{\code {shell-transpose-words (M-C-t)}}{138}
\entry{\code {skip-csi-sequence ()}}{141}
\entry{\code {spell-correct-word (C-x s)}}{142}
\entry{\code {start-kbd-macro (C-x ()}}{140}
\initial {T}
\entry{\code {tilde-expand (M-&)}}{140}
\entry{\code {transpose-chars (C-t)}}{135}
\entry{\code {transpose-words (M-t)}}{136}
\entry{\code {tilde-expand (M-&)}}{141}
\entry{\code {transpose-chars (C-t)}}{136}
\entry{\code {transpose-words (M-t)}}{137}
\initial {U}
\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}
\entry{\code {undo (C-_ or C-x C-u)}}{141}
\entry{\code {universal-argument ()}}{139}
\entry{\code {unix-filename-rubout ()}}{138}
\entry{\code {unix-line-discard (C-u)}}{137}
\entry{\code {unix-word-rubout (C-w)}}{138}
\entry{\code {upcase-word (M-u)}}{137}
\initial {Y}
\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}
\entry{\code {yank (C-y)}}{138}
\entry{\code {yank-last-arg (M-. or M-_)}}{135}
\entry{\code {yank-nth-arg (M-C-y)}}{135}
\entry{\code {yank-pop (M-y)}}{138}
+38 -14
View File
@@ -4,9 +4,9 @@
<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.2, 5 February 2022).
the Bash shell (version 5.2, 11 April 2022).
This is Edition 5.2, last updated 5 February 2022,
This is Edition 5.2, last updated 11 April 2022,
of The GNU Bash Reference Manual,
for Bash, Version 5.2.
@@ -77,10 +77,10 @@ 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.2, 5 February 2022).
the Bash shell (version 5.2, 11 April 2022).
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.2, last updated 5 February 2022,
<p>This is Edition 5.2, last updated 11 April 2022,
of <cite>The GNU Bash Reference Manual</cite>,
for <code>Bash</code>, Version 5.2.
</p>
@@ -1947,10 +1947,22 @@ return status is the exit status of the last command executed
before the <code>return</code>.
</p>
<p>Variables local to the function may be declared with the
<code>local</code> builtin. These variables are visible only to
<code>local</code> builtin (<em>local variables</em>).
Ordinarily, variables and their values
are shared between a function and its caller.
These variables are visible only to
the function and the commands it invokes. This is particularly
important when a shell function calls other functions.
</p>
<p>In the following description, the <em>current scope</em> is a currently-
executing function.
Previous scopes consist of that function&rsquo;s caller and so on,
back to the &quot;global&quot; scope, where the shell is not executing
any shell function.
Consequently, a local variable at the current local scope is a variable
declared using the <code>local</code> or <code>declare</code> builtins in the
function that is currently executing.
</p>
<p>Local variables &quot;shadow&quot; variables with the same name declared at
previous scopes. For instance, a local variable declared in a function
hides a global variable of the same name: references and assignments
@@ -2003,11 +2015,13 @@ variable is local to the current scope, <code>unset</code> will unset it;
otherwise the unset will refer to the variable found in any calling scope
as described above.
If a variable at the current local scope is unset, it will remain so
(appearing as unset)
until it is reset in that scope or until the function returns.
Once the function returns, any instance of the variable at a previous
scope will become visible.
If the unset acts on a variable at a previous scope, any instance of a
variable with that name that had been shadowed will become visible.
variable with that name that had been shadowed will become visible
(see below how <code>localvar_unset</code>shell option changes this behavior).
</p>
<p>Function names and definitions may be listed with the
<samp>-f</samp> option to the <code>declare</code> (<code>typeset</code>)
@@ -2608,7 +2622,7 @@ var is set and not null
<dd><p>This is referred to as Substring Expansion.
It expands to up to <var>length</var> characters of the value of <var>parameter</var>
starting at the character specified by <var>offset</var>.
If <var>parameter</var> is &lsquo;<samp>@</samp>&rsquo;, an indexed array subscripted by
If <var>parameter</var> is &lsquo;<samp>@</samp>&rsquo; or &lsquo;<samp>*</samp>&rsquo;, an indexed array subscripted by
&lsquo;<samp>@</samp>&rsquo; or &lsquo;<samp>*</samp>&rsquo;, or an associative array name, the results differ as
described below.
If <var>length</var> is omitted, it expands to the substring of the value of
@@ -2683,8 +2697,8 @@ bc
$ echo ${array[0]: -7:-2}
bcdef
</pre>
<p>If <var>parameter</var> is &lsquo;<samp>@</samp>&rsquo;, the result is <var>length</var> positional
parameters beginning at <var>offset</var>.
<p>If <var>parameter</var> is &lsquo;<samp>@</samp>&rsquo; or &lsquo;<samp>*</samp>&rsquo;, the result is <var>length</var>
positional parameters beginning at <var>offset</var>.
A negative <var>offset</var> is taken relative to one greater than the greatest
positional parameter, so an offset of -1 evaluates to the last positional
parameter.
@@ -8646,6 +8660,9 @@ interpreted as relative to one greater than the maximum index of
<var>name</var>, so negative indices count back from the end of the
array, and an index of -1 references the last element.
</p>
<p>The &lsquo;<samp>+=</samp>&rsquo; operator will append to an array variable when assigning
using the compound assignment syntax; see <a href="#Shell-Parameters">Shell Parameters</a> above.
</p>
<p>Any element of an array may be referenced using
<code>${<var>name</var>[<var>subscript</var>]}</code>.
The braces are required to avoid
@@ -9330,6 +9347,11 @@ has been set.
If Bash receives a trapped signal while executing <code>read</code>, the trap
handler executes and <code>read</code> returns an exit status greater than 128.
</li><li> The <code>printf</code> builting uses <code>double</code> (via <code>strtod</code>) to convert
arguments corresponding to floating point conversion specifiers, instead of
<code>long double</code> if it&rsquo;s available. The &lsquo;<samp>L</samp>&rsquo; length modifier forces
<code>printf</code> to use <code>long double</code> if it&rsquo;s available.
</li><li> Bash removes an exited background process&rsquo;s status from the list of such
statuses after the <code>wait</code> builtin is used to obtain it.
@@ -10487,11 +10509,13 @@ The default is &lsquo;<samp>On</samp>&rsquo;.
</p>
</dd>
<dt id='index-enable_002dbracketed_002dpaste'><span><code>enable-bracketed-paste</code><a href='#index-enable_002dbracketed_002dpaste' class='copiable-anchor'> &para;</a></span></dt>
<dd><p>When set to &lsquo;<samp>On</samp>&rsquo;, Readline will configure the terminal in a way
that will enable it to insert each paste into the editing buffer as a
single string of characters, instead of treating each character as if
it had been read from the keyboard. This can prevent pasted characters
from being interpreted as editing commands. The default is &lsquo;<samp>On</samp>&rsquo;.
<dd><p>When set to &lsquo;<samp>On</samp>&rsquo;, Readline configures the terminal to insert each
paste into the editing buffer as a single string of characters, instead
of treating each character as if it had been read from the keyboard.
This is called putting the terminal into <em>bracketed paste mode</em>;
it prevents Readline from executing any editing commands bound to key
sequences appearing in the pasted text.
The default is &lsquo;<samp>On</samp>&rsquo;.
</p>
</dd>
<dt id='index-enable_002dkeypad'><span><code>enable-keypad</code><a href='#index-enable_002dkeypad' class='copiable-anchor'> &para;</a></span></dt>
+65 -47
View File
@@ -1,12 +1,9 @@
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/MacPorts 2021.58693_1) (preloaded format=etex 2021.10.21) 11 FEB 2022 09:17
This is pdfTeX, Version 3.141592653-2.6-1.40.22 (TeX Live 2021/MacPorts 2021.58693_2) (preloaded format=pdftex 2021.10.21) 12 APR 2022 10:01
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
%&-line parsing enabled.
**\nonstopmode \input /usr/local/src/chet/src/bash/src/doc/bashref.texi \input
/usr/local/src/chet/src/bash/src/doc/bashref.texi
(/usr/local/src/chet/src/bash/src/doc/bashref.texi
(/Users/chet/src/bash/src/doc/texinfo.tex
**/usr/local/src/chet/src/bash/src/doc/bashref.texi
(/usr/local/src/chet/src/bash/src/doc/bashref.texi (./texinfo.tex
Loading texinfo [version 2015-11-22.14]:
\outerhsize=\dimen16
\outervsize=\dimen17
@@ -162,24 +159,24 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
texinfo.tex: doing @include of version.texi
(/Users/chet/src/bash/src/doc/version.texi) [1] [2]
(/Users/chet/src/bash/src/doc/bashref.toc [-1] [-2] [-3]) [-4] Chapter 1
(./version.texi) [1{/opt/local/var/db/texmf/fonts/map/pdftex/updmap/pdftex.map}
] [2] (./bashref.toc [-1] [-2] [-3]) [-4] (./bashref.toc) (./bashref.toc)
Chapter 1
\openout0 = `bashref.toc'.
(/Users/chet/src/bash/src/doc/bashref.aux)
(./bashref.aux)
\openout1 = `bashref.aux'.
Chapter 2 [1] [2]
@cpindfile=@write2
\openout2 = `bashref.cp'.
[3] Chapter 3
[4] [5] [6] [7]
[3] Chapter 3 [4] [5] [6] [7]
@vrindfile=@write3
\openout3 = `bashref.vr'.
[8]
[8]
Overfull \hbox (3.12749pt too wide) in paragraph at lines 723--724
@texttt coproc[]|
@@ -220,13 +217,13 @@ Overfull \hbox (5.95723pt too wide) in paragraph at lines 724--725
[9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23]
[24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38]
[39] [40] [41] [42] [43] [44] [45] Chapter 4 [46]
[39] [40] [41] [42] [43] [44] [45] [46] Chapter 4 [47]
@btindfile=@write5
\openout5 = `bashref.bt'.
[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 5201--5201
[48] [49] [50] [51]
[52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66]
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5215--5215
[]@texttt set [-abefhkmnptuvxBCEHPT] [-o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
@@ -239,7 +236,7 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5201--5201
.etc.
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5202--5202
Overfull \hbox (38.26585pt too wide) in paragraph at lines 5216--5216
[]@texttt set [+abefhkmnptuvxBCEHPT] [+o @textttsl option-name@texttt ] [--] [
-] [@textttsl ar-gu-ment []@texttt ][]
@@ -251,16 +248,16 @@ Overfull \hbox (38.26585pt too wide) in paragraph at lines 5202--5202
.@texttt t
.etc.
[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] [110] Chapter 7 [111] [112] [113] [114]
[67] [68] [69] [70] [71] [72] [73] [74] [75] [76] Chapter 5 [77] [78] [79]
[80] [81] [82] [83] [84] [85] [86] [87] [88] [89] Chapter 6 [90] [91] [92]
[93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106]
[107] [108] [109] [110] [111] Chapter 7 [112] [113] [114] [115]
texinfo.tex: doing @include of rluser.texi
(/usr/local/src/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8
[115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126]
Underfull \hbox (badness 7540) in paragraph at lines 859--865
[116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127]
Underfull \hbox (badness 7540) in paragraph at lines 861--867
[]@textrm In the ex-am-ple above, @textttsl C-u[] @textrm is bound to the func
-tion
@@ -273,7 +270,7 @@ Underfull \hbox (badness 7540) in paragraph at lines 859--865
.etc.
Underfull \hbox (badness 10000) in paragraph at lines 859--865
Underfull \hbox (badness 10000) in paragraph at lines 861--867
@texttt universal-argument[]@textrm , @textttsl M-DEL[] @textrm is bound to th
e func-tion
@@ -285,8 +282,8 @@ e func-tion
.@texttt v
.etc.
[127] [128] [129]
Overfull \hbox (26.43913pt too wide) in paragraph at lines 1093--1093
[128] [129] [130]
Overfull \hbox (26.43913pt too wide) in paragraph at lines 1095--1095
[]@texttt Meta-Control-h: backward-kill-word Text after the function name is i
gnored[]
@@ -298,13 +295,13 @@ gnored[]
.@texttt t
.etc.
[130] [131]
[131] [132]
@fnindfile=@write6
\openout6 = `bashref.fn'.
[132] [133] [134] [135] [136] [137] [138] [139] [140] [141]
[142] [143] [144]
Overfull \hbox (15.27109pt too wide) in paragraph at lines 2118--2118
[133] [134] [135] [136] [137] [138] [139] [140] [141] [142]
[143] [144] [145]
Overfull \hbox (15.27109pt too wide) in paragraph at lines 2120--2120
[]@texttt complete [-abcdefgjksuv] [-o @textttsl comp-option@texttt ] [-DEI] [
-A @textttsl ac-tion@texttt ] [-
@@ -316,14 +313,14 @@ Overfull \hbox (15.27109pt too wide) in paragraph at lines 2118--2118
.@texttt m
.etc.
[145] [146] [147] [148] [149])
[146] [147] [148] [149] [150])
texinfo.tex: doing @include of hsuser.texi
(/usr/local/src/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 9325--9334
[151] [152] [153] [154] [155] [156]) Chapter 10 [157] [158] [159] [160]
[161]
Underfull \hbox (badness 10000) in paragraph at lines 9348--9357
[]@textrm All of the fol-low-ing op-tions ex-cept for `@texttt alt-array-implem
entation[]@textrm '[],
@@ -336,7 +333,7 @@ entation[]@textrm '[],
.etc.
Underfull \hbox (badness 10000) in paragraph at lines 9325--9334
Underfull \hbox (badness 10000) in paragraph at lines 9348--9357
@textrm `@texttt disabled-builtins[]@textrm '[], `@texttt direxpand-default[]@t
extrm '[], `@texttt strict-posix-default[]@textrm '[], and
@@ -348,20 +345,41 @@ extrm '[], `@texttt strict-posix-default[]@textrm '[], and
.@texttt a
.etc.
[161] [162] [163] [164] Appendix A [165] Appendix B [166] [167] [168] [169]
[170] [171] Appendix C [172]
[162] [163] [164] [165] Appendix A [166] Appendix B [167] [168] [169] [170]
[171] [172] Appendix C [173]
texinfo.tex: doing @include of fdl.texi
(/Users/chet/src/bash/src/doc/fdl.texi [173]
[174] [175] [176] [177] [178] [179]) Appendix D [180] [181] [182] [183]
[184] [185] [186] [187] [188] [189] )
(./fdl.texi [174] [175] [176] [177] [178] [179]
[180]) Appendix D [181] [182] [183] [184] [185] [186] [187] [188] [189]
[190] )
Here is how much of TeX's memory you used:
3531 strings out of 497096
40156 string characters out of 6206922
87691 words of memory out of 5000000
4700 multiletter control sequences out of 15000+600000
4094 strings out of 497086
46987 string characters out of 6206519
140408 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
16i,6n,16p,400b,942s stack positions out of 5000i,500n,10000p,200000b,80000s
16i,6n,16p,323b,978s stack positions out of 5000i,500n,10000p,200000b,80000s
{/opt/local/share/texmf-texlive/fonts/enc/dvips/cm-super/cm-super-t1.enc
}</opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmbx12.pfb></op
t/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmcsc10.pfb></opt/lo
cal/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi10.pfb></opt/local/s
hare/texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi12.pfb></opt/local/share/
texmf-texlive/fonts/type1/public/amsfonts/cm/cmmi9.pfb></opt/local/share/texmf-
texlive/fonts/type1/public/amsfonts/cm/cmr10.pfb></opt/local/share/texmf-texliv
e/fonts/type1/public/amsfonts/cm/cmr9.pfb></opt/local/share/texmf-texlive/fonts
/type1/public/amsfonts/cm/cmsl10.pfb></opt/local/share/texmf-texlive/fonts/type
1/public/amsfonts/cm/cmsltt10.pfb></opt/local/share/texmf-texlive/fonts/type1/p
ublic/amsfonts/cm/cmsy10.pfb></opt/local/share/texmf-texlive/fonts/type1/public
/amsfonts/cm/cmti10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsf
onts/cm/cmtt10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/
cm/cmtt12.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cm
tt9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm-super/sfrm1095.pf
b></opt/local/share/texmf-texlive/fonts/type1/public/cm-super/sfrm1440.pfb>
Output written on bashref.pdf (196 pages, 794079 bytes).
PDF statistics:
2750 PDF objects out of 2984 (max. 8388607)
2507 compressed objects within 26 object streams
324 named destinations out of 1000 (max. 500000)
1141 words of extra memory for PDF output out of 10000 (max. 10000000)
Output written on bashref.dvi (195 pages, 819604 bytes).
BIN
View File
Binary file not shown.
+3565 -3536
View File
File diff suppressed because it is too large Load Diff
+3 -1
View File
@@ -2863,7 +2863,9 @@ then any character not enclosed is matched. A @samp{@minus{}}
may be matched by including it as the first or last character
in the set. A @samp{]} may be matched by including it as the first
character in the set.
The sorting order of characters in range expressions is determined by
The sorting order of characters in range expressions,
and the characters included in the range,
are determined by
the current locale and the values of the
@env{LC_COLLATE} and @env{LC_ALL} shell variables, if set.
+91 -91
View File
@@ -25,7 +25,7 @@
@numsubsecentry{GNU Parallel}{3.2.7}{GNU Parallel}{19}
@numsecentry{Shell Functions}{3.3}{Shell Functions}{19}
@numsecentry{Shell Parameters}{3.4}{Shell Parameters}{21}
@numsubsecentry{Positional Parameters}{3.4.1}{Positional Parameters}{22}
@numsubsecentry{Positional Parameters}{3.4.1}{Positional Parameters}{23}
@numsubsecentry{Special Parameters}{3.4.2}{Special Parameters}{23}
@numsecentry{Shell Expansions}{3.5}{Shell Expansions}{24}
@numsubsecentry{Brace Expansion}{3.5.1}{Brace Expansion}{24}
@@ -37,105 +37,105 @@
@numsubsecentry{Word Splitting}{3.5.7}{Word Splitting}{35}
@numsubsecentry{Filename Expansion}{3.5.8}{Filename Expansion}{35}
@numsubsubsecentry{Pattern Matching}{3.5.8.1}{Pattern Matching}{36}
@numsubsecentry{Quote Removal}{3.5.9}{Quote Removal}{37}
@numsecentry{Redirections}{3.6}{Redirections}{37}
@numsubsecentry{Quote Removal}{3.5.9}{Quote Removal}{38}
@numsecentry{Redirections}{3.6}{Redirections}{38}
@numsubsecentry{Redirecting Input}{3.6.1}{}{39}
@numsubsecentry{Redirecting Output}{3.6.2}{}{39}
@numsubsecentry{Appending Redirected Output}{3.6.3}{}{39}
@numsubsecentry{Redirecting Standard Output and Standard Error}{3.6.4}{}{39}
@numsubsecentry{Redirecting Standard Output and Standard Error}{3.6.4}{}{40}
@numsubsecentry{Appending Standard Output and Standard Error}{3.6.5}{}{40}
@numsubsecentry{Here Documents}{3.6.6}{}{40}
@numsubsecentry{Here Strings}{3.6.7}{}{40}
@numsubsecentry{Duplicating File Descriptors}{3.6.8}{}{40}
@numsubsecentry{Here Strings}{3.6.7}{}{41}
@numsubsecentry{Duplicating File Descriptors}{3.6.8}{}{41}
@numsubsecentry{Moving File Descriptors}{3.6.9}{}{41}
@numsubsecentry{Opening File Descriptors for Reading and Writing}{3.6.10}{}{41}
@numsecentry{Executing Commands}{3.7}{Executing Commands}{41}
@numsubsecentry{Simple Command Expansion}{3.7.1}{Simple Command Expansion}{41}
@numsecentry{Executing Commands}{3.7}{Executing Commands}{42}
@numsubsecentry{Simple Command Expansion}{3.7.1}{Simple Command Expansion}{42}
@numsubsecentry{Command Search and Execution}{3.7.2}{Command Search and Execution}{42}
@numsubsecentry{Command Execution Environment}{3.7.3}{Command Execution Environment}{42}
@numsubsecentry{Command Execution Environment}{3.7.3}{Command Execution Environment}{43}
@numsubsecentry{Environment}{3.7.4}{Environment}{44}
@numsubsecentry{Exit Status}{3.7.5}{Exit Status}{44}
@numsubsecentry{Signals}{3.7.6}{Signals}{45}
@numsecentry{Shell Scripts}{3.8}{Shell Scripts}{46}
@numchapentry{Shell Builtin Commands}{4}{Shell Builtin Commands}{47}
@numsecentry{Bourne Shell Builtins}{4.1}{Bourne Shell Builtins}{47}
@numsecentry{Bash Builtin Commands}{4.2}{Bash Builtins}{54}
@numsecentry{Modifying Shell Behavior}{4.3}{Modifying Shell Behavior}{66}
@numsubsecentry{The Set Builtin}{4.3.1}{The Set Builtin}{66}
@numsubsecentry{The Shopt Builtin}{4.3.2}{The Shopt Builtin}{70}
@numsecentry{Special Builtins}{4.4}{Special Builtins}{76}
@numchapentry{Shell Variables}{5}{Shell Variables}{77}
@numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{77}
@numsecentry{Bash Variables}{5.2}{Bash Variables}{77}
@numchapentry{Bash Features}{6}{Bash Features}{90}
@numsecentry{Invoking Bash}{6.1}{Invoking Bash}{90}
@numsecentry{Bash Startup Files}{6.2}{Bash Startup Files}{92}
@numsecentry{Interactive Shells}{6.3}{Interactive Shells}{93}
@numsubsecentry{What is an Interactive Shell?}{6.3.1}{What is an Interactive Shell?}{94}
@numsubsecentry{Is this Shell Interactive?}{6.3.2}{Is this Shell Interactive?}{94}
@numsubsecentry{Interactive Shell Behavior}{6.3.3}{Interactive Shell Behavior}{94}
@numsecentry{Bash Conditional Expressions}{6.4}{Bash Conditional Expressions}{95}
@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{97}
@numsecentry{Aliases}{6.6}{Aliases}{99}
@numsecentry{Arrays}{6.7}{Arrays}{99}
@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{101}
@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{101}
@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}{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}{128}
@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}{166}
@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{167}
@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{171}
@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{173}
@appentry{Indexes}{D}{Indexes}{181}
@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{181}
@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{182}
@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{183}
@appsecentry{Function Index}{D.4}{Function Index}{185}
@appsecentry{Concept Index}{D.5}{Concept Index}{187}
@numchapentry{Shell Builtin Commands}{4}{Shell Builtin Commands}{48}
@numsecentry{Bourne Shell Builtins}{4.1}{Bourne Shell Builtins}{48}
@numsecentry{Bash Builtin Commands}{4.2}{Bash Builtins}{55}
@numsecentry{Modifying Shell Behavior}{4.3}{Modifying Shell Behavior}{67}
@numsubsecentry{The Set Builtin}{4.3.1}{The Set Builtin}{67}
@numsubsecentry{The Shopt Builtin}{4.3.2}{The Shopt Builtin}{71}
@numsecentry{Special Builtins}{4.4}{Special Builtins}{77}
@numchapentry{Shell Variables}{5}{Shell Variables}{78}
@numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{78}
@numsecentry{Bash Variables}{5.2}{Bash Variables}{78}
@numchapentry{Bash Features}{6}{Bash Features}{91}
@numsecentry{Invoking Bash}{6.1}{Invoking Bash}{91}
@numsecentry{Bash Startup Files}{6.2}{Bash Startup Files}{93}
@numsecentry{Interactive Shells}{6.3}{Interactive Shells}{94}
@numsubsecentry{What is an Interactive Shell?}{6.3.1}{What is an Interactive Shell?}{95}
@numsubsecentry{Is this Shell Interactive?}{6.3.2}{Is this Shell Interactive?}{95}
@numsubsecentry{Interactive Shell Behavior}{6.3.3}{Interactive Shell Behavior}{95}
@numsecentry{Bash Conditional Expressions}{6.4}{Bash Conditional Expressions}{96}
@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{98}
@numsecentry{Aliases}{6.6}{Aliases}{100}
@numsecentry{Arrays}{6.7}{Arrays}{100}
@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{102}
@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{102}
@numsecentry{Controlling the Prompt}{6.9}{Controlling the Prompt}{104}
@numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{105}
@numsecentry{Bash POSIX Mode}{6.11}{Bash POSIX Mode}{106}
@numsecentry{Shell Compatibility Mode}{6.12}{Shell Compatibility Mode}{110}
@numchapentry{Job Control}{7}{Job Control}{113}
@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{113}
@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{114}
@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{116}
@numchapentry{Command Line Editing}{8}{Command Line Editing}{117}
@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{117}
@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{117}
@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{118}
@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{118}
@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{119}
@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{119}
@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{119}
@numsecentry{Readline Init File}{8.3}{Readline Init File}{120}
@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{120}
@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{129}
@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{130}
@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{133}
@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{133}
@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{134}
@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{136}
@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{137}
@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{138}
@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{139}
@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{140}
@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{141}
@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{143}
@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{143}
@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{146}
@numsecentry{A Programmable Completion Example}{8.8}{A Programmable Completion Example}{150}
@numchapentry{Using History Interactively}{9}{Using History Interactively}{152}
@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{152}
@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{152}
@numsecentry{History Expansion}{9.3}{History Interaction}{154}
@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{155}
@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{156}
@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{156}
@numchapentry{Installing Bash}{10}{Installing Bash}{158}
@numsecentry{Basic Installation}{10.1}{Basic Installation}{158}
@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{159}
@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{159}
@numsecentry{Installation Names}{10.4}{Installation Names}{160}
@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{160}
@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{160}
@numsecentry{Operation Controls}{10.7}{Operation Controls}{161}
@numsecentry{Optional Features}{10.8}{Optional Features}{161}
@appentry{Reporting Bugs}{A}{Reporting Bugs}{167}
@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{168}
@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{172}
@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{174}
@appentry{Indexes}{D}{Indexes}{182}
@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{182}
@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{183}
@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{184}
@appsecentry{Function Index}{D.4}{Function Index}{186}
@appsecentry{Concept Index}{D.5}{Concept Index}{188}
+157 -157
View File
@@ -14,160 +14,160 @@
\entry{$-}{23}{\code {$-}}
\entry{$}{23}{\code {$}}
\entry{$$}{23}{\code {$$}}
\entry{!}{23}{\code {!}}
\entry{$!}{23}{\code {$!}}
\entry{0}{23}{\code {0}}
\entry{$0}{23}{\code {$0}}
\entry{CDPATH}{77}{\code {CDPATH}}
\entry{HOME}{77}{\code {HOME}}
\entry{IFS}{77}{\code {IFS}}
\entry{MAIL}{77}{\code {MAIL}}
\entry{MAILPATH}{77}{\code {MAILPATH}}
\entry{OPTARG}{77}{\code {OPTARG}}
\entry{OPTIND}{77}{\code {OPTIND}}
\entry{PATH}{77}{\code {PATH}}
\entry{PS1}{77}{\code {PS1}}
\entry{PS2}{77}{\code {PS2}}
\entry{_}{77}{\code {_}}
\entry{$_}{77}{\code {$_}}
\entry{BASH}{78}{\code {BASH}}
\entry{BASHOPTS}{78}{\code {BASHOPTS}}
\entry{BASHPID}{78}{\code {BASHPID}}
\entry{BASH_ALIASES}{78}{\code {BASH_ALIASES}}
\entry{BASH_ARGC}{78}{\code {BASH_ARGC}}
\entry{BASH_ARGV}{78}{\code {BASH_ARGV}}
\entry{BASH_ARGV0}{79}{\code {BASH_ARGV0}}
\entry{BASH_CMDS}{79}{\code {BASH_CMDS}}
\entry{BASH_COMMAND}{79}{\code {BASH_COMMAND}}
\entry{BASH_COMPAT}{79}{\code {BASH_COMPAT}}
\entry{BASH_ENV}{79}{\code {BASH_ENV}}
\entry{BASH_EXECUTION_STRING}{79}{\code {BASH_EXECUTION_STRING}}
\entry{BASH_LINENO}{79}{\code {BASH_LINENO}}
\entry{BASH_LOADABLES_PATH}{80}{\code {BASH_LOADABLES_PATH}}
\entry{BASH_REMATCH}{80}{\code {BASH_REMATCH}}
\entry{BASH_SOURCE}{80}{\code {BASH_SOURCE}}
\entry{BASH_SUBSHELL}{80}{\code {BASH_SUBSHELL}}
\entry{BASH_VERSINFO}{80}{\code {BASH_VERSINFO}}
\entry{BASH_VERSION}{80}{\code {BASH_VERSION}}
\entry{BASH_XTRACEFD}{80}{\code {BASH_XTRACEFD}}
\entry{CHILD_MAX}{81}{\code {CHILD_MAX}}
\entry{COLUMNS}{81}{\code {COLUMNS}}
\entry{COMP_CWORD}{81}{\code {COMP_CWORD}}
\entry{COMP_LINE}{81}{\code {COMP_LINE}}
\entry{COMP_POINT}{81}{\code {COMP_POINT}}
\entry{COMP_TYPE}{81}{\code {COMP_TYPE}}
\entry{COMP_KEY}{81}{\code {COMP_KEY}}
\entry{COMP_WORDBREAKS}{81}{\code {COMP_WORDBREAKS}}
\entry{COMP_WORDS}{81}{\code {COMP_WORDS}}
\entry{COMPREPLY}{82}{\code {COMPREPLY}}
\entry{COPROC}{82}{\code {COPROC}}
\entry{DIRSTACK}{82}{\code {DIRSTACK}}
\entry{EMACS}{82}{\code {EMACS}}
\entry{ENV}{82}{\code {ENV}}
\entry{EPOCHREALTIME}{82}{\code {EPOCHREALTIME}}
\entry{EPOCHSECONDS}{82}{\code {EPOCHSECONDS}}
\entry{EUID}{82}{\code {EUID}}
\entry{EXECIGNORE}{82}{\code {EXECIGNORE}}
\entry{FCEDIT}{83}{\code {FCEDIT}}
\entry{FIGNORE}{83}{\code {FIGNORE}}
\entry{FUNCNAME}{83}{\code {FUNCNAME}}
\entry{FUNCNEST}{83}{\code {FUNCNEST}}
\entry{GLOBIGNORE}{83}{\code {GLOBIGNORE}}
\entry{GROUPS}{83}{\code {GROUPS}}
\entry{histchars}{83}{\code {histchars}}
\entry{HISTCMD}{83}{\code {HISTCMD}}
\entry{HISTCONTROL}{84}{\code {HISTCONTROL}}
\entry{HISTFILE}{84}{\code {HISTFILE}}
\entry{HISTFILESIZE}{84}{\code {HISTFILESIZE}}
\entry{HISTIGNORE}{84}{\code {HISTIGNORE}}
\entry{HISTSIZE}{84}{\code {HISTSIZE}}
\entry{HISTTIMEFORMAT}{84}{\code {HISTTIMEFORMAT}}
\entry{HOSTFILE}{85}{\code {HOSTFILE}}
\entry{HOSTNAME}{85}{\code {HOSTNAME}}
\entry{HOSTTYPE}{85}{\code {HOSTTYPE}}
\entry{IGNOREEOF}{85}{\code {IGNOREEOF}}
\entry{INPUTRC}{85}{\code {INPUTRC}}
\entry{INSIDE_EMACS}{85}{\code {INSIDE_EMACS}}
\entry{LANG}{85}{\code {LANG}}
\entry{LC_ALL}{85}{\code {LC_ALL}}
\entry{LC_COLLATE}{85}{\code {LC_COLLATE}}
\entry{LC_CTYPE}{85}{\code {LC_CTYPE}}
\entry{LC_MESSAGES}{85}{\code {LC_MESSAGES}}
\entry{LC_NUMERIC}{86}{\code {LC_NUMERIC}}
\entry{LC_TIME}{86}{\code {LC_TIME}}
\entry{LINENO}{86}{\code {LINENO}}
\entry{LINES}{86}{\code {LINES}}
\entry{MACHTYPE}{86}{\code {MACHTYPE}}
\entry{MAILCHECK}{86}{\code {MAILCHECK}}
\entry{MAPFILE}{86}{\code {MAPFILE}}
\entry{OLDPWD}{86}{\code {OLDPWD}}
\entry{OPTERR}{86}{\code {OPTERR}}
\entry{OSTYPE}{86}{\code {OSTYPE}}
\entry{PIPESTATUS}{86}{\code {PIPESTATUS}}
\entry{POSIXLY_CORRECT}{86}{\code {POSIXLY_CORRECT}}
\entry{PPID}{86}{\code {PPID}}
\entry{PROMPT_COMMAND}{86}{\code {PROMPT_COMMAND}}
\entry{PROMPT_DIRTRIM}{87}{\code {PROMPT_DIRTRIM}}
\entry{PS0}{87}{\code {PS0}}
\entry{PS3}{87}{\code {PS3}}
\entry{PS4}{87}{\code {PS4}}
\entry{PWD}{87}{\code {PWD}}
\entry{RANDOM}{87}{\code {RANDOM}}
\entry{READLINE_ARGUMENT}{87}{\code {READLINE_ARGUMENT}}
\entry{READLINE_LINE}{87}{\code {READLINE_LINE}}
\entry{READLINE_MARK}{87}{\code {READLINE_MARK}}
\entry{READLINE_POINT}{87}{\code {READLINE_POINT}}
\entry{REPLY}{87}{\code {REPLY}}
\entry{SECONDS}{87}{\code {SECONDS}}
\entry{SHELL}{87}{\code {SHELL}}
\entry{SHELLOPTS}{88}{\code {SHELLOPTS}}
\entry{SHLVL}{88}{\code {SHLVL}}
\entry{SRANDOM}{88}{\code {SRANDOM}}
\entry{TIMEFORMAT}{88}{\code {TIMEFORMAT}}
\entry{TMOUT}{88}{\code {TMOUT}}
\entry{TMPDIR}{89}{\code {TMPDIR}}
\entry{UID}{89}{\code {UID}}
\entry{auto_resume}{115}{\code {auto_resume}}
\entry{active-region-start-color}{120}{\code {active-region-start-color}}
\entry{active-region-end-color}{120}{\code {active-region-end-color}}
\entry{bell-style}{120}{\code {bell-style}}
\entry{bind-tty-special-chars}{120}{\code {bind-tty-special-chars}}
\entry{blink-matching-paren}{121}{\code {blink-matching-paren}}
\entry{colored-completion-prefix}{121}{\code {colored-completion-prefix}}
\entry{colored-stats}{121}{\code {colored-stats}}
\entry{comment-begin}{121}{\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}{122}{\code {convert-meta}}
\entry{disable-completion}{122}{\code {disable-completion}}
\entry{echo-control-characters}{122}{\code {echo-control-characters}}
\entry{editing-mode}{122}{\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}{123}{\code {enable-bracketed-paste}}
\entry{enable-keypad}{123}{\code {enable-keypad}}
\entry{expand-tilde}{123}{\code {expand-tilde}}
\entry{history-preserve-point}{123}{\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}{124}{\code {isearch-terminators}}
\entry{keymap}{124}{\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}{125}{\code {menu-complete-display-prefix}}
\entry{output-meta}{125}{\code {output-meta}}
\entry{page-completions}{125}{\code {page-completions}}
\entry{revert-all-at-newline}{125}{\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}{126}{\code {vi-cmd-mode-string}}
\entry{vi-ins-mode-string}{126}{\code {vi-ins-mode-string}}
\entry{visible-stats}{126}{\code {visible-stats}}
\entry{!}{24}{\code {!}}
\entry{$!}{24}{\code {$!}}
\entry{0}{24}{\code {0}}
\entry{$0}{24}{\code {$0}}
\entry{CDPATH}{78}{\code {CDPATH}}
\entry{HOME}{78}{\code {HOME}}
\entry{IFS}{78}{\code {IFS}}
\entry{MAIL}{78}{\code {MAIL}}
\entry{MAILPATH}{78}{\code {MAILPATH}}
\entry{OPTARG}{78}{\code {OPTARG}}
\entry{OPTIND}{78}{\code {OPTIND}}
\entry{PATH}{78}{\code {PATH}}
\entry{PS1}{78}{\code {PS1}}
\entry{PS2}{78}{\code {PS2}}
\entry{_}{78}{\code {_}}
\entry{$_}{78}{\code {$_}}
\entry{BASH}{79}{\code {BASH}}
\entry{BASHOPTS}{79}{\code {BASHOPTS}}
\entry{BASHPID}{79}{\code {BASHPID}}
\entry{BASH_ALIASES}{79}{\code {BASH_ALIASES}}
\entry{BASH_ARGC}{79}{\code {BASH_ARGC}}
\entry{BASH_ARGV}{79}{\code {BASH_ARGV}}
\entry{BASH_ARGV0}{80}{\code {BASH_ARGV0}}
\entry{BASH_CMDS}{80}{\code {BASH_CMDS}}
\entry{BASH_COMMAND}{80}{\code {BASH_COMMAND}}
\entry{BASH_COMPAT}{80}{\code {BASH_COMPAT}}
\entry{BASH_ENV}{80}{\code {BASH_ENV}}
\entry{BASH_EXECUTION_STRING}{80}{\code {BASH_EXECUTION_STRING}}
\entry{BASH_LINENO}{80}{\code {BASH_LINENO}}
\entry{BASH_LOADABLES_PATH}{81}{\code {BASH_LOADABLES_PATH}}
\entry{BASH_REMATCH}{81}{\code {BASH_REMATCH}}
\entry{BASH_SOURCE}{81}{\code {BASH_SOURCE}}
\entry{BASH_SUBSHELL}{81}{\code {BASH_SUBSHELL}}
\entry{BASH_VERSINFO}{81}{\code {BASH_VERSINFO}}
\entry{BASH_VERSION}{81}{\code {BASH_VERSION}}
\entry{BASH_XTRACEFD}{81}{\code {BASH_XTRACEFD}}
\entry{CHILD_MAX}{82}{\code {CHILD_MAX}}
\entry{COLUMNS}{82}{\code {COLUMNS}}
\entry{COMP_CWORD}{82}{\code {COMP_CWORD}}
\entry{COMP_LINE}{82}{\code {COMP_LINE}}
\entry{COMP_POINT}{82}{\code {COMP_POINT}}
\entry{COMP_TYPE}{82}{\code {COMP_TYPE}}
\entry{COMP_KEY}{82}{\code {COMP_KEY}}
\entry{COMP_WORDBREAKS}{82}{\code {COMP_WORDBREAKS}}
\entry{COMP_WORDS}{82}{\code {COMP_WORDS}}
\entry{COMPREPLY}{83}{\code {COMPREPLY}}
\entry{COPROC}{83}{\code {COPROC}}
\entry{DIRSTACK}{83}{\code {DIRSTACK}}
\entry{EMACS}{83}{\code {EMACS}}
\entry{ENV}{83}{\code {ENV}}
\entry{EPOCHREALTIME}{83}{\code {EPOCHREALTIME}}
\entry{EPOCHSECONDS}{83}{\code {EPOCHSECONDS}}
\entry{EUID}{83}{\code {EUID}}
\entry{EXECIGNORE}{83}{\code {EXECIGNORE}}
\entry{FCEDIT}{84}{\code {FCEDIT}}
\entry{FIGNORE}{84}{\code {FIGNORE}}
\entry{FUNCNAME}{84}{\code {FUNCNAME}}
\entry{FUNCNEST}{84}{\code {FUNCNEST}}
\entry{GLOBIGNORE}{84}{\code {GLOBIGNORE}}
\entry{GROUPS}{84}{\code {GROUPS}}
\entry{histchars}{84}{\code {histchars}}
\entry{HISTCMD}{84}{\code {HISTCMD}}
\entry{HISTCONTROL}{85}{\code {HISTCONTROL}}
\entry{HISTFILE}{85}{\code {HISTFILE}}
\entry{HISTFILESIZE}{85}{\code {HISTFILESIZE}}
\entry{HISTIGNORE}{85}{\code {HISTIGNORE}}
\entry{HISTSIZE}{85}{\code {HISTSIZE}}
\entry{HISTTIMEFORMAT}{85}{\code {HISTTIMEFORMAT}}
\entry{HOSTFILE}{86}{\code {HOSTFILE}}
\entry{HOSTNAME}{86}{\code {HOSTNAME}}
\entry{HOSTTYPE}{86}{\code {HOSTTYPE}}
\entry{IGNOREEOF}{86}{\code {IGNOREEOF}}
\entry{INPUTRC}{86}{\code {INPUTRC}}
\entry{INSIDE_EMACS}{86}{\code {INSIDE_EMACS}}
\entry{LANG}{86}{\code {LANG}}
\entry{LC_ALL}{86}{\code {LC_ALL}}
\entry{LC_COLLATE}{86}{\code {LC_COLLATE}}
\entry{LC_CTYPE}{86}{\code {LC_CTYPE}}
\entry{LC_MESSAGES}{86}{\code {LC_MESSAGES}}
\entry{LC_NUMERIC}{87}{\code {LC_NUMERIC}}
\entry{LC_TIME}{87}{\code {LC_TIME}}
\entry{LINENO}{87}{\code {LINENO}}
\entry{LINES}{87}{\code {LINES}}
\entry{MACHTYPE}{87}{\code {MACHTYPE}}
\entry{MAILCHECK}{87}{\code {MAILCHECK}}
\entry{MAPFILE}{87}{\code {MAPFILE}}
\entry{OLDPWD}{87}{\code {OLDPWD}}
\entry{OPTERR}{87}{\code {OPTERR}}
\entry{OSTYPE}{87}{\code {OSTYPE}}
\entry{PIPESTATUS}{87}{\code {PIPESTATUS}}
\entry{POSIXLY_CORRECT}{87}{\code {POSIXLY_CORRECT}}
\entry{PPID}{87}{\code {PPID}}
\entry{PROMPT_COMMAND}{87}{\code {PROMPT_COMMAND}}
\entry{PROMPT_DIRTRIM}{88}{\code {PROMPT_DIRTRIM}}
\entry{PS0}{88}{\code {PS0}}
\entry{PS3}{88}{\code {PS3}}
\entry{PS4}{88}{\code {PS4}}
\entry{PWD}{88}{\code {PWD}}
\entry{RANDOM}{88}{\code {RANDOM}}
\entry{READLINE_ARGUMENT}{88}{\code {READLINE_ARGUMENT}}
\entry{READLINE_LINE}{88}{\code {READLINE_LINE}}
\entry{READLINE_MARK}{88}{\code {READLINE_MARK}}
\entry{READLINE_POINT}{88}{\code {READLINE_POINT}}
\entry{REPLY}{88}{\code {REPLY}}
\entry{SECONDS}{88}{\code {SECONDS}}
\entry{SHELL}{88}{\code {SHELL}}
\entry{SHELLOPTS}{89}{\code {SHELLOPTS}}
\entry{SHLVL}{89}{\code {SHLVL}}
\entry{SRANDOM}{89}{\code {SRANDOM}}
\entry{TIMEFORMAT}{89}{\code {TIMEFORMAT}}
\entry{TMOUT}{89}{\code {TMOUT}}
\entry{TMPDIR}{90}{\code {TMPDIR}}
\entry{UID}{90}{\code {UID}}
\entry{auto_resume}{116}{\code {auto_resume}}
\entry{active-region-start-color}{121}{\code {active-region-start-color}}
\entry{active-region-end-color}{121}{\code {active-region-end-color}}
\entry{bell-style}{121}{\code {bell-style}}
\entry{bind-tty-special-chars}{121}{\code {bind-tty-special-chars}}
\entry{blink-matching-paren}{122}{\code {blink-matching-paren}}
\entry{colored-completion-prefix}{122}{\code {colored-completion-prefix}}
\entry{colored-stats}{122}{\code {colored-stats}}
\entry{comment-begin}{122}{\code {comment-begin}}
\entry{completion-display-width}{122}{\code {completion-display-width}}
\entry{completion-ignore-case}{122}{\code {completion-ignore-case}}
\entry{completion-map-case}{122}{\code {completion-map-case}}
\entry{completion-prefix-display-length}{122}{\code {completion-prefix-display-length}}
\entry{completion-query-items}{122}{\code {completion-query-items}}
\entry{convert-meta}{123}{\code {convert-meta}}
\entry{disable-completion}{123}{\code {disable-completion}}
\entry{echo-control-characters}{123}{\code {echo-control-characters}}
\entry{editing-mode}{123}{\code {editing-mode}}
\entry{emacs-mode-string}{123}{\code {emacs-mode-string}}
\entry{enable-active-region}{123}{\code {enable-active-region}}
\entry{enable-bracketed-paste}{124}{\code {enable-bracketed-paste}}
\entry{enable-keypad}{124}{\code {enable-keypad}}
\entry{expand-tilde}{124}{\code {expand-tilde}}
\entry{history-preserve-point}{124}{\code {history-preserve-point}}
\entry{history-size}{124}{\code {history-size}}
\entry{horizontal-scroll-mode}{124}{\code {horizontal-scroll-mode}}
\entry{input-meta}{124}{\code {input-meta}}
\entry{meta-flag}{124}{\code {meta-flag}}
\entry{isearch-terminators}{125}{\code {isearch-terminators}}
\entry{keymap}{125}{\code {keymap}}
\entry{mark-modified-lines}{125}{\code {mark-modified-lines}}
\entry{mark-symlinked-directories}{125}{\code {mark-symlinked-directories}}
\entry{match-hidden-files}{125}{\code {match-hidden-files}}
\entry{menu-complete-display-prefix}{126}{\code {menu-complete-display-prefix}}
\entry{output-meta}{126}{\code {output-meta}}
\entry{page-completions}{126}{\code {page-completions}}
\entry{revert-all-at-newline}{126}{\code {revert-all-at-newline}}
\entry{show-all-if-ambiguous}{126}{\code {show-all-if-ambiguous}}
\entry{show-all-if-unmodified}{126}{\code {show-all-if-unmodified}}
\entry{show-mode-in-prompt}{126}{\code {show-mode-in-prompt}}
\entry{skip-completed-text}{126}{\code {skip-completed-text}}
\entry{vi-cmd-mode-string}{127}{\code {vi-cmd-mode-string}}
\entry{vi-ins-mode-string}{127}{\code {vi-ins-mode-string}}
\entry{visible-stats}{127}{\code {visible-stats}}
+157 -157
View File
@@ -1,18 +1,18 @@
\initial {!}
\entry{\code {!}}{23}
\entry{\code {!}}{24}
\initial {#}
\entry{\code {#}}{23}
\initial {$}
\entry{\code {$}}{23}
\entry{\code {$!}}{23}
\entry{\code {$!}}{24}
\entry{\code {$#}}{23}
\entry{\code {$$}}{23}
\entry{\code {$*}}{23}
\entry{\code {$-}}{23}
\entry{\code {$?}}{23}
\entry{\code {$@}}{23}
\entry{\code {$_}}{77}
\entry{\code {$0}}{23}
\entry{\code {$_}}{78}
\entry{\code {$0}}{24}
\initial {*}
\entry{\code {*}}{23}
\initial {-}
@@ -22,178 +22,178 @@
\initial {@}
\entry{\code {@}}{23}
\initial {_}
\entry{\code {_}}{77}
\entry{\code {_}}{78}
\initial {0}
\entry{\code {0}}{23}
\entry{\code {0}}{24}
\initial {A}
\entry{\code {active-region-end-color}}{120}
\entry{\code {active-region-start-color}}{120}
\entry{\code {auto_resume}}{115}
\entry{\code {active-region-end-color}}{121}
\entry{\code {active-region-start-color}}{121}
\entry{\code {auto_resume}}{116}
\initial {B}
\entry{\code {BASH}}{78}
\entry{\code {BASH_ALIASES}}{78}
\entry{\code {BASH_ARGC}}{78}
\entry{\code {BASH_ARGV}}{78}
\entry{\code {BASH_ARGV0}}{79}
\entry{\code {BASH_CMDS}}{79}
\entry{\code {BASH_COMMAND}}{79}
\entry{\code {BASH_COMPAT}}{79}
\entry{\code {BASH_ENV}}{79}
\entry{\code {BASH_EXECUTION_STRING}}{79}
\entry{\code {BASH_LINENO}}{79}
\entry{\code {BASH_LOADABLES_PATH}}{80}
\entry{\code {BASH_REMATCH}}{80}
\entry{\code {BASH_SOURCE}}{80}
\entry{\code {BASH_SUBSHELL}}{80}
\entry{\code {BASH_VERSINFO}}{80}
\entry{\code {BASH_VERSION}}{80}
\entry{\code {BASH_XTRACEFD}}{80}
\entry{\code {BASHOPTS}}{78}
\entry{\code {BASHPID}}{78}
\entry{\code {bell-style}}{120}
\entry{\code {bind-tty-special-chars}}{120}
\entry{\code {blink-matching-paren}}{121}
\entry{\code {BASH}}{79}
\entry{\code {BASH_ALIASES}}{79}
\entry{\code {BASH_ARGC}}{79}
\entry{\code {BASH_ARGV}}{79}
\entry{\code {BASH_ARGV0}}{80}
\entry{\code {BASH_CMDS}}{80}
\entry{\code {BASH_COMMAND}}{80}
\entry{\code {BASH_COMPAT}}{80}
\entry{\code {BASH_ENV}}{80}
\entry{\code {BASH_EXECUTION_STRING}}{80}
\entry{\code {BASH_LINENO}}{80}
\entry{\code {BASH_LOADABLES_PATH}}{81}
\entry{\code {BASH_REMATCH}}{81}
\entry{\code {BASH_SOURCE}}{81}
\entry{\code {BASH_SUBSHELL}}{81}
\entry{\code {BASH_VERSINFO}}{81}
\entry{\code {BASH_VERSION}}{81}
\entry{\code {BASH_XTRACEFD}}{81}
\entry{\code {BASHOPTS}}{79}
\entry{\code {BASHPID}}{79}
\entry{\code {bell-style}}{121}
\entry{\code {bind-tty-special-chars}}{121}
\entry{\code {blink-matching-paren}}{122}
\initial {C}
\entry{\code {CDPATH}}{77}
\entry{\code {CHILD_MAX}}{81}
\entry{\code {colored-completion-prefix}}{121}
\entry{\code {colored-stats}}{121}
\entry{\code {COLUMNS}}{81}
\entry{\code {comment-begin}}{121}
\entry{\code {COMP_CWORD}}{81}
\entry{\code {COMP_KEY}}{81}
\entry{\code {COMP_LINE}}{81}
\entry{\code {COMP_POINT}}{81}
\entry{\code {COMP_TYPE}}{81}
\entry{\code {COMP_WORDBREAKS}}{81}
\entry{\code {COMP_WORDS}}{81}
\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}}{122}
\entry{\code {COPROC}}{82}
\entry{\code {CDPATH}}{78}
\entry{\code {CHILD_MAX}}{82}
\entry{\code {colored-completion-prefix}}{122}
\entry{\code {colored-stats}}{122}
\entry{\code {COLUMNS}}{82}
\entry{\code {comment-begin}}{122}
\entry{\code {COMP_CWORD}}{82}
\entry{\code {COMP_KEY}}{82}
\entry{\code {COMP_LINE}}{82}
\entry{\code {COMP_POINT}}{82}
\entry{\code {COMP_TYPE}}{82}
\entry{\code {COMP_WORDBREAKS}}{82}
\entry{\code {COMP_WORDS}}{82}
\entry{\code {completion-display-width}}{122}
\entry{\code {completion-ignore-case}}{122}
\entry{\code {completion-map-case}}{122}
\entry{\code {completion-prefix-display-length}}{122}
\entry{\code {completion-query-items}}{122}
\entry{\code {COMPREPLY}}{83}
\entry{\code {convert-meta}}{123}
\entry{\code {COPROC}}{83}
\initial {D}
\entry{\code {DIRSTACK}}{82}
\entry{\code {disable-completion}}{122}
\entry{\code {DIRSTACK}}{83}
\entry{\code {disable-completion}}{123}
\initial {E}
\entry{\code {echo-control-characters}}{122}
\entry{\code {editing-mode}}{122}
\entry{\code {emacs-mode-string}}{122}
\entry{\code {EMACS}}{82}
\entry{\code {enable-active-region}}{122}
\entry{\code {enable-bracketed-paste}}{123}
\entry{\code {enable-keypad}}{123}
\entry{\code {ENV}}{82}
\entry{\code {EPOCHREALTIME}}{82}
\entry{\code {EPOCHSECONDS}}{82}
\entry{\code {EUID}}{82}
\entry{\code {EXECIGNORE}}{82}
\entry{\code {expand-tilde}}{123}
\entry{\code {echo-control-characters}}{123}
\entry{\code {editing-mode}}{123}
\entry{\code {emacs-mode-string}}{123}
\entry{\code {EMACS}}{83}
\entry{\code {enable-active-region}}{123}
\entry{\code {enable-bracketed-paste}}{124}
\entry{\code {enable-keypad}}{124}
\entry{\code {ENV}}{83}
\entry{\code {EPOCHREALTIME}}{83}
\entry{\code {EPOCHSECONDS}}{83}
\entry{\code {EUID}}{83}
\entry{\code {EXECIGNORE}}{83}
\entry{\code {expand-tilde}}{124}
\initial {F}
\entry{\code {FCEDIT}}{83}
\entry{\code {FIGNORE}}{83}
\entry{\code {FUNCNAME}}{83}
\entry{\code {FUNCNEST}}{83}
\entry{\code {FCEDIT}}{84}
\entry{\code {FIGNORE}}{84}
\entry{\code {FUNCNAME}}{84}
\entry{\code {FUNCNEST}}{84}
\initial {G}
\entry{\code {GLOBIGNORE}}{83}
\entry{\code {GROUPS}}{83}
\entry{\code {GLOBIGNORE}}{84}
\entry{\code {GROUPS}}{84}
\initial {H}
\entry{\code {histchars}}{83}
\entry{\code {HISTCMD}}{83}
\entry{\code {HISTCONTROL}}{84}
\entry{\code {HISTFILE}}{84}
\entry{\code {HISTFILESIZE}}{84}
\entry{\code {HISTIGNORE}}{84}
\entry{\code {history-preserve-point}}{123}
\entry{\code {history-size}}{123}
\entry{\code {HISTSIZE}}{84}
\entry{\code {HISTTIMEFORMAT}}{84}
\entry{\code {HOME}}{77}
\entry{\code {horizontal-scroll-mode}}{123}
\entry{\code {HOSTFILE}}{85}
\entry{\code {HOSTNAME}}{85}
\entry{\code {HOSTTYPE}}{85}
\entry{\code {histchars}}{84}
\entry{\code {HISTCMD}}{84}
\entry{\code {HISTCONTROL}}{85}
\entry{\code {HISTFILE}}{85}
\entry{\code {HISTFILESIZE}}{85}
\entry{\code {HISTIGNORE}}{85}
\entry{\code {history-preserve-point}}{124}
\entry{\code {history-size}}{124}
\entry{\code {HISTSIZE}}{85}
\entry{\code {HISTTIMEFORMAT}}{85}
\entry{\code {HOME}}{78}
\entry{\code {horizontal-scroll-mode}}{124}
\entry{\code {HOSTFILE}}{86}
\entry{\code {HOSTNAME}}{86}
\entry{\code {HOSTTYPE}}{86}
\initial {I}
\entry{\code {IFS}}{77}
\entry{\code {IGNOREEOF}}{85}
\entry{\code {input-meta}}{123}
\entry{\code {INPUTRC}}{85}
\entry{\code {INSIDE_EMACS}}{85}
\entry{\code {isearch-terminators}}{124}
\entry{\code {IFS}}{78}
\entry{\code {IGNOREEOF}}{86}
\entry{\code {input-meta}}{124}
\entry{\code {INPUTRC}}{86}
\entry{\code {INSIDE_EMACS}}{86}
\entry{\code {isearch-terminators}}{125}
\initial {K}
\entry{\code {keymap}}{124}
\entry{\code {keymap}}{125}
\initial {L}
\entry{\code {LANG}}{8, 85}
\entry{\code {LC_ALL}}{85}
\entry{\code {LC_COLLATE}}{85}
\entry{\code {LC_CTYPE}}{85}
\entry{\code {LC_MESSAGES}}{8, 85}
\entry{\code {LC_NUMERIC}}{86}
\entry{\code {LC_TIME}}{86}
\entry{\code {LINENO}}{86}
\entry{\code {LINES}}{86}
\entry{\code {LANG}}{8, 86}
\entry{\code {LC_ALL}}{86}
\entry{\code {LC_COLLATE}}{86}
\entry{\code {LC_CTYPE}}{86}
\entry{\code {LC_MESSAGES}}{8, 86}
\entry{\code {LC_NUMERIC}}{87}
\entry{\code {LC_TIME}}{87}
\entry{\code {LINENO}}{87}
\entry{\code {LINES}}{87}
\initial {M}
\entry{\code {MACHTYPE}}{86}
\entry{\code {MAIL}}{77}
\entry{\code {MAILCHECK}}{86}
\entry{\code {MAILPATH}}{77}
\entry{\code {MAPFILE}}{86}
\entry{\code {mark-modified-lines}}{124}
\entry{\code {mark-symlinked-directories}}{124}
\entry{\code {match-hidden-files}}{124}
\entry{\code {menu-complete-display-prefix}}{125}
\entry{\code {meta-flag}}{123}
\entry{\code {MACHTYPE}}{87}
\entry{\code {MAIL}}{78}
\entry{\code {MAILCHECK}}{87}
\entry{\code {MAILPATH}}{78}
\entry{\code {MAPFILE}}{87}
\entry{\code {mark-modified-lines}}{125}
\entry{\code {mark-symlinked-directories}}{125}
\entry{\code {match-hidden-files}}{125}
\entry{\code {menu-complete-display-prefix}}{126}
\entry{\code {meta-flag}}{124}
\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}}{125}
\entry{\code {OLDPWD}}{87}
\entry{\code {OPTARG}}{78}
\entry{\code {OPTERR}}{87}
\entry{\code {OPTIND}}{78}
\entry{\code {OSTYPE}}{87}
\entry{\code {output-meta}}{126}
\initial {P}
\entry{\code {page-completions}}{125}
\entry{\code {PATH}}{77}
\entry{\code {PIPESTATUS}}{86}
\entry{\code {POSIXLY_CORRECT}}{86}
\entry{\code {PPID}}{86}
\entry{\code {PROMPT_COMMAND}}{86}
\entry{\code {PROMPT_DIRTRIM}}{87}
\entry{\code {PS0}}{87}
\entry{\code {PS1}}{77}
\entry{\code {PS2}}{77}
\entry{\code {PS3}}{87}
\entry{\code {PS4}}{87}
\entry{\code {PWD}}{87}
\entry{\code {page-completions}}{126}
\entry{\code {PATH}}{78}
\entry{\code {PIPESTATUS}}{87}
\entry{\code {POSIXLY_CORRECT}}{87}
\entry{\code {PPID}}{87}
\entry{\code {PROMPT_COMMAND}}{87}
\entry{\code {PROMPT_DIRTRIM}}{88}
\entry{\code {PS0}}{88}
\entry{\code {PS1}}{78}
\entry{\code {PS2}}{78}
\entry{\code {PS3}}{88}
\entry{\code {PS4}}{88}
\entry{\code {PWD}}{88}
\initial {R}
\entry{\code {RANDOM}}{87}
\entry{\code {READLINE_ARGUMENT}}{87}
\entry{\code {READLINE_LINE}}{87}
\entry{\code {READLINE_MARK}}{87}
\entry{\code {READLINE_POINT}}{87}
\entry{\code {REPLY}}{87}
\entry{\code {revert-all-at-newline}}{125}
\entry{\code {RANDOM}}{88}
\entry{\code {READLINE_ARGUMENT}}{88}
\entry{\code {READLINE_LINE}}{88}
\entry{\code {READLINE_MARK}}{88}
\entry{\code {READLINE_POINT}}{88}
\entry{\code {REPLY}}{88}
\entry{\code {revert-all-at-newline}}{126}
\initial {S}
\entry{\code {SECONDS}}{87}
\entry{\code {SHELL}}{87}
\entry{\code {SHELLOPTS}}{88}
\entry{\code {SHLVL}}{88}
\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}
\entry{\code {SECONDS}}{88}
\entry{\code {SHELL}}{88}
\entry{\code {SHELLOPTS}}{89}
\entry{\code {SHLVL}}{89}
\entry{\code {show-all-if-ambiguous}}{126}
\entry{\code {show-all-if-unmodified}}{126}
\entry{\code {show-mode-in-prompt}}{126}
\entry{\code {skip-completed-text}}{126}
\entry{\code {SRANDOM}}{89}
\initial {T}
\entry{\code {TEXTDOMAIN}}{8}
\entry{\code {TEXTDOMAINDIR}}{8}
\entry{\code {TIMEFORMAT}}{88}
\entry{\code {TMOUT}}{88}
\entry{\code {TMPDIR}}{89}
\entry{\code {TIMEFORMAT}}{89}
\entry{\code {TMOUT}}{89}
\entry{\code {TMPDIR}}{90}
\initial {U}
\entry{\code {UID}}{89}
\entry{\code {UID}}{90}
\initial {V}
\entry{\code {vi-cmd-mode-string}}{126}
\entry{\code {vi-ins-mode-string}}{126}
\entry{\code {visible-stats}}{126}
\entry{\code {vi-cmd-mode-string}}{127}
\entry{\code {vi-ins-mode-string}}{127}
\entry{\code {visible-stats}}{127}
+1 -1
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.4
%%CreationDate: Fri Feb 11 09:17:45 2022
%%CreationDate: Fri Apr 8 15:46:03 2022
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
+1 -1
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.4
%%CreationDate: Fri Feb 11 09:17:45 2022
%%CreationDate: Fri Apr 8 15:46:03 2022
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.22 4
+138
View File
@@ -0,0 +1,138 @@
/*
* cat replacement
*
* no options - the way cat was intended
*/
/*
Copyright (C) 1999-2009,2022 Free Software Foundation, Inc.
This file is part of GNU Bash.
Bash is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Bash is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
#include <fcntl.h>
#include <errno.h>
#include "builtins.h"
#include "shell.h"
#ifndef errno
extern int errno;
#endif
extern char *strerror ();
extern char **make_builtin_argv ();
static int
fcopy(fd, fn)
int fd;
char *fn;
{
char buf[4096], *s;
int n, w, e;
while (n = read(fd, buf, sizeof (buf))) {
QUIT;
if (n < 0) {
e = errno;
write(2, "cat: read error: ", 18);
write(2, fn, strlen(fn));
write(2, ": ", 2);
s = strerror(e);
write(2, s, strlen(s));
write(2, "\n", 1);
return 1;
}
w = write(1, buf, n);
QUIT;
if (w != n) {
e = errno;
write(2, "cat: write error: ", 18);
s = strerror(e);
write(2, s, strlen(s));
write(2, "\n", 1);
return 1;
}
}
return 0;
}
int
cat_main (argc, argv)
int argc;
char **argv;
{
int i, fd, r;
char *s;
if (argc == 1)
return (fcopy(0, "standard input"));
for (i = r = 1; i < argc; i++) {
QUIT;
if (argv[i][0] == '-' && argv[i][1] == '\0')
fd = 0;
else {
fd = open(argv[i], O_RDONLY, 0666);
if (fd < 0) {
s = strerror(errno);
write(2, "cat: cannot open ", 17);
write(2, argv[i], strlen(argv[i]));
write(2, ": ", 2);
write(2, s, strlen(s));
write(2, "\n", 1);
continue;
}
}
r = fcopy(fd, argv[i]);
if (fd != 0)
close(fd);
}
QUIT;
return (r);
}
int
cat_builtin(list)
WORD_LIST *list;
{
char **v;
int c, r;
v = make_builtin_argv(list, &c);
QUIT;
r = cat_main(c, v);
free(v);
return r;
}
char *cat_doc[] = {
"Display files.",
"",
"Read each FILE and display it on the standard output. If any",
"FILE is `-' or if no FILE argument is given, the standard input",
"is read.",
(char *)0
};
struct builtin cat_struct = {
"cat",
cat_builtin,
BUILTIN_ENABLED,
cat_doc,
"cat [-] [file ...]",
0
};
+2 -2
View File
@@ -5,7 +5,7 @@
*/
/*
Copyright (C) 1999-2009 Free Software Foundation, Inc.
Copyright (C) 1999-2009,2022 Free Software Foundation, Inc.
This file is part of GNU Bash.
Bash is free software: you can redistribute it and/or modify
@@ -40,7 +40,7 @@ fcopy(fd, fn)
int fd;
char *fn;
{
char buf[1024], *s;
char buf[4096], *s;
int n, w, e;
while (n = read(fd, buf, sizeof (buf))) {
+5 -1
View File
@@ -2655,7 +2655,11 @@ execute_pipeline (command, asynchronous, pipe_in, pipe_out, fds_to_close)
lstdin = wait_for (lastpid, 0);
}
else
lstdin = wait_for_single_pid (lastpid, 0); /* checks bgpids list */
{
lstdin = wait_for_single_pid (lastpid, 0); /* checks bgpids list */
if (lstdin > 256) /* error sentinel */
lstdin = 127;
}
#else
lstdin = wait_for (lastpid, 0);
#endif
+2 -2
View File
@@ -2606,7 +2606,7 @@ wait_for_single_pid (pid, flags)
{
if (flags & JWAIT_PERROR)
internal_error (_("wait: pid %ld is not a child of this shell"), (long)pid);
return (127);
return (257);
}
alive = 0;
@@ -2690,7 +2690,7 @@ wait_for_background_pids (ps)
if (ps)
{
ps->pid = pid;
ps->status = (r < 0) ? 127 : r;
ps->status = (r < 0 || r > 256) ? 127 : r;
}
if (r == -1 && errno == ECHILD)
{
+5
View File
@@ -32,6 +32,11 @@
#define MALLOC_WRAPFUNCS
/* If defined, as it is by default, use the lesscore() function to attempt
to reduce the top of the heap when freeing memory blocks larger than a
defined threshold. */
#define USE_LESSCORE
/* Generic pointer type. */
#ifndef PTR_T
# if defined (__STDC__)
+5 -4
View File
@@ -597,6 +597,7 @@ _malloc_unblock_signals (setp, osetp)
#endif
}
#if defined (USE_LESSCORE)
/* Return some memory to the system by reducing the break. This is only
called with NU > pagebucket, so we're always assured of giving back
more than one page of memory. */
@@ -617,6 +618,7 @@ lesscore (nu) /* give system back some memory */
_mstats.nlesscore[nu]++;
#endif
}
#endif /* USE_LESSCORE */
/* Ask system for more memory; add to NEXTF[NU]. BUSY[NU] must be set to 1. */
static void
@@ -1024,11 +1026,9 @@ internal_free (mem, file, line, flags)
}
#endif
#if GLIBC21
if (nunits >= LESSCORE_MIN && ((char *)p + binsize(nunits) == sbrk (0)))
#else
#if defined (USE_LESSCORE)
/* We take care of the mmap case and munmap above */
if (nunits >= LESSCORE_MIN && ((char *)p + binsize(nunits) == memtop))
#endif
{
/* If above LESSCORE_FRC, give back unconditionally. This should be set
high enough to be infrequently encountered. If between LESSCORE_MIN
@@ -1041,6 +1041,7 @@ internal_free (mem, file, line, flags)
goto free_return;
}
}
#endif /* USE_LESSCORE */
#ifdef MEMSCRAMBLE
if (p->mh_nbytes)
+7 -7
View File
@@ -167,8 +167,8 @@ getdtablesize ()
# endif
void
bcopy (s,d,n)
char *d, *s;
int n;
void *d, *s;
size_t n;
{
FASTCOPY (s, d, n);
}
@@ -180,8 +180,8 @@ bcopy (s,d,n)
# endif
void
bzero (s, n)
char *s;
int n;
void *s;
size_t n;
{
register int i;
register char *r;
@@ -197,7 +197,7 @@ bzero (s, n)
int
gethostname (name, namelen)
char *name;
int namelen;
size_t namelen;
{
int i;
struct utsname ut;
@@ -214,7 +214,7 @@ gethostname (name, namelen)
int
gethostname (name, namelen)
char *name;
int namelen;
size_t namelen;
{
strncpy (name, "unknown", namelen);
name[namelen] = '\0';
@@ -237,7 +237,7 @@ killpg (pgrp, sig)
int
mkfifo (path, mode)
char *path;
int mode;
mode_t mode;
{
#if defined (S_IFIFO)
return (mknod (path, (mode | S_IFIFO), 0));
+2 -1
View File
@@ -68,7 +68,8 @@ zgetline (fd, lineptr, n, delim, unbuffered_read)
int delim;
int unbuffered_read;
{
int nr, retval;
int retval;
size_t nr;
char *line, c;
if (lineptr == 0 || n == 0 || (*lineptr == 0 && *n != 0))
+1 -1
View File
@@ -54,7 +54,7 @@ zmapfd (fd, ostr, fn)
int rval;
char lbuf[ZBUFSIZ];
char *result;
int rsize, rind;
size_t rsize, rind;
rval = 0;
result = (char *)xmalloc (rsize = ZBUFSIZ);
+1 -1
View File
@@ -664,7 +664,7 @@ wait_for_single_pid (pid, flags)
if (pstatus == PROC_BAD)
{
internal_error (_("wait: pid %ld is not a child of this shell"), (long)pid);
return (127);
return (257);
}
if (pstatus != PROC_STILL_ALIVE)
+5 -3
View File
@@ -2832,7 +2832,7 @@ push_token (x)
static char *token = (char *)NULL;
/* Current size of the token buffer. */
static int token_buffer_size;
static size_t token_buffer_size;
/* Command to read_token () explaining what we want it to do. */
#define READ 0
@@ -4218,7 +4218,8 @@ xparse_dolparen (base, string, indp, flags)
clear_shell_input_line (); /* XXX */
if (bash_input.type != st_string) /* paranoia */
parser_state &= ~(PST_CMDSUBST|PST_EOFTOKEN);
jump_to_top_level (-nc); /* XXX */
if ((flags & SX_NOLONGJMP) == 0)
jump_to_top_level (-nc); /* XXX */
}
/* Need to find how many characters parse_string() consumed, update
@@ -6382,7 +6383,8 @@ parse_compound_assignment (retlenp)
int *retlenp;
{
WORD_LIST *wl, *rl;
int tok, orig_line_number, orig_token_size, orig_last_token, assignok;
int tok, orig_line_number, orig_last_token, assignok;
size_t orig_token_size;
int orig_parser_state;
char *saved_token, *ret;
+1 -55
View File
@@ -42,12 +42,7 @@ static int glob_name_is_acceptable PARAMS((const char *));
static void ignore_globbed_names PARAMS((char **, sh_ignore_func_t *));
static char *split_ignorespec PARAMS((char *, int *));
#if defined (USE_POSIX_GLOB_LIBRARY)
# include <glob.h>
typedef int posix_glob_errfunc_t PARAMS((const char *, int));
#else
# include <glob/glob.h>
#endif
#include <glob/glob.h>
/* Control whether * matches .files in globbing. */
int glob_dot_filenames;
@@ -413,54 +408,6 @@ shell_glob_filename (pathname, qflags)
const char *pathname;
int qflags;
{
#if defined (USE_POSIX_GLOB_LIBRARY)
register int i;
char *temp, **results;
glob_t filenames;
int glob_flags;
temp = quote_string_for_globbing (pathname, QGLOB_FILENAME|qflags);
filenames.gl_offs = 0;
# if defined (GLOB_PERIOD)
glob_flags = glob_dot_filenames ? GLOB_PERIOD : 0;
# else
glob_flags = 0;
# endif /* !GLOB_PERIOD */
glob_flags |= (GLOB_ERR | GLOB_DOOFFS);
i = glob (temp, glob_flags, (posix_glob_errfunc_t *)NULL, &filenames);
free (temp);
if (i == GLOB_NOSPACE || i == GLOB_ABORTED)
return ((char **)NULL);
else if (i == GLOB_NOMATCH)
filenames.gl_pathv = (char **)NULL;
else if (i != 0) /* other error codes not in POSIX.2 */
filenames.gl_pathv = (char **)NULL;
results = filenames.gl_pathv;
if (results && ((GLOB_FAILED (results)) == 0))
{
if (should_ignore_glob_matches ())
ignore_glob_matches (results);
if (results && results[0])
strvec_sort (results, 1); /* posix sort */
else
{
FREE (results);
results = (char **)NULL;
}
}
return (results);
#else /* !USE_POSIX_GLOB_LIBRARY */
char *temp, **results;
int gflags, quoted_pattern;
@@ -485,7 +432,6 @@ shell_glob_filename (pathname, qflags)
}
return (results);
#endif /* !USE_POSIX_GLOB_LIBRARY */
}
/* Stuff for GLOBIGNORE. */
+2 -5
View File
@@ -21,13 +21,10 @@
#if !defined (_PATHEXP_H_)
#define _PATHEXP_H_
#if defined (USE_POSIX_GLOB_LIBRARY)
# define GLOB_FAILED(glist) !(glist)
#else /* !USE_POSIX_GLOB_LIBRARY */
# define GLOB_FAILED(glist) (glist) == (char **)&glob_error_return
#define GLOB_FAILED(glist) (glist) == (char **)&glob_error_return
extern int noglob_dot_filenames;
extern char *glob_error_return;
#endif /* !USE_POSIX_GLOB_LIBRARY */
/* Flag values for quote_string_for_globbing */
#define QGLOB_CVTNULL 0x01 /* convert QUOTED_NULL strings to '\0' */
+4 -2
View File
@@ -884,16 +884,18 @@ gen_action_completions (cs, text)
TEXT as a match prefix, or just go without? Currently, the code does not
use TEXT, just globs CS->globpat and returns the results. If we do decide
to use TEXT, we should call quote_string_for_globbing before the call to
glob_filename. */
glob_filename (in which case we could use shell_glob_filename). */
static STRINGLIST *
gen_globpat_matches (cs, text)
COMPSPEC *cs;
const char *text;
{
STRINGLIST *sl;
int gflags;
sl = strlist_create (0);
sl->list = glob_filename (cs->globpat, 0);
gflags = glob_star ? GX_GLOBSTAR : 0;
sl->list = glob_filename (cs->globpat, gflags);
if (GLOB_FAILED (sl->list))
sl->list = (char **)NULL;
if (sl->list)
BIN
View File
Binary file not shown.
+806 -1713
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -173,7 +173,7 @@ typedef struct _sh_parser_state_t
int *token_state;
char *token;
int token_buffer_size;
size_t token_buffer_size;
int eof_token;
/* input line state -- line number saved elsewhere */
+3 -2
View File
@@ -146,7 +146,8 @@ strsub (string, pat, rep, global)
char *string, *pat, *rep;
int global;
{
int patlen, replen, templen, tempsize, repl, i;
size_t patlen, replen, templen, tempsize, i;
int repl;
char *temp, *r;
patlen = strlen (pat);
@@ -189,7 +190,7 @@ strcreplace (string, c, text, flags)
int flags;
{
char *ret, *p, *r, *t;
int len, rlen, ind, tlen;
size_t len, rlen, ind, tlen;
int do_glob, escape_backslash;
do_glob = flags & 1;
+1 -1
View File
@@ -62,7 +62,7 @@ ${THIS_SH} ./intl2.sub
# test splitting on characters instead of bytes
${THIS_SH} ./intl3.sub
${THIS_SH} ./unicode1.sub 2>/dev/null
${THIS_SH} ./unicode1.sub # 2>/dev/null
${THIS_SH} ./unicode2.sub
${THIS_SH} ./unicode3.sub 2>&1
+7 -2
View File
@@ -117,7 +117,6 @@ else
echo "unicode1.sub: that will cause some of these tests to be skipped." >&2
fi
zh_TW_BIG5=(
[0x00f6]=$'\366' [0x00f7]=$'\367' [0x00f8]=$'\370' [0x00f9]=$'\371' [0x00fa]=$'\372'
[0x00fb]=$'\373' [0x00fc]=$'\374' [0x00fd]=$'\375' [0x00fe]=$'\376'
@@ -316,8 +315,14 @@ jp_JP_SHIFT_JIS=(
[0xFF9E]=$'\xDE' # HALFWIDTH KATAKANA VOICED SOUND MARK
[0xFF9F]=$'\xDF' # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
)
#TestCodePage ja_JP.SHIFT_JIS jp_JP_SHIFT_JIS
TestCodePage ja_JP.SJIS jp_JP_SHIFT_JIS
if locale -a | grep -i '^ja_JP.SJIS' >/dev/null ; then
TestCodePage ja_JP.SJIS jp_JP_SHIFT_JIS
else
echo "unicode1.sub: warning: you do not have the ja_JP.SJIS locale installed;" >&2
echo "unicode1.sub: that will cause some of these tests to be skipped." >&2
fi
#for ((x=1;x<1000;x++)); do printf ' [0x%04x]=%-11q' "$x" "$(printf "$(printf '\\U%08x' $x)")" ; [ $(($x%5)) = 0 ] && echo; done
C_UTF_8=(