commit bash-20150410 snapshot

This commit is contained in:
Chet Ramey
2015-04-24 16:15:03 -04:00
parent ddece28e53
commit 0385211bb5
34 changed files with 6160 additions and 5935 deletions
+88
View File
@@ -8215,3 +8215,91 @@ doc/{bash.1,bashref.texi}
- INVOCATION: add language to make it clear that non-interactive login
shells execute ~/.bash_logout if they run the `exit' builtin. From a
question from Christoph Anton Mitterer <calestyo@scientia.net>
4/6
---
subst.c
- process_substitute: increment and decrement subshell_level around calls
to parse_and_execute, as in command substitution, so $BASH_SUBSHELL
gets new values in the subshell. Fixes inconsistency pointed out by
Peng Yu <pengyu.ut@gmail.com>
doc/{bash.1,bashref.texi}
- read: add clarifying text to note that the -N option does not split on
$IFS, but does retain backslash as an escape character subject to -r.
Report from isabella parakiss <izaberina@gmail.com>
builtins/declare.def
- declare_internal: unless it's the last statement in a {...} block,
NEXT_VARIABLE must be protected by braces. Bug introduced in patch
from 3/22, reported by Eduardo A. Bustamante López
<dualbus@gmail.com>
4/7
---
parse.y
- shell_getc: if bash is reading input from a string that ends with an
unquoted backslash, add another backslash instead of a newline, since
the backslash and newline will disappear in normal processing. Fixes
bug with `bash -c 'eval \\; echo y' ' skipping the eval command and
setting incorrect exit status, and `bash -ic 'eval \\; echo y' '
seeing EOF on empty line and exiting before the echo. Keep track of
backslash state with last_was_backslash; set in char reading loop.
Fixes bug reported by Eduardo A. Bustamante López <dualbus@gmail.com>
4/8
---
shell.c
- main: check for $INSIDE_EMACS as well as $EMACS when deciding whether
or not bash is being run in a GNU emacs shell window. Don't bother
checking whether $TERM is unset because variable initialization sets
it to `dumb' if unset. Fixes from Paul Eggert <eggert@CS.UCLA.EDU>
parse.y
- push_token: new function, rotates current_token through last_read_token,
saving old values like yylex() does, sets current_token to argument
evalfile.c
- _evalfile: if current_token is yacc_EOF, push a newline as the value
of current_token instead, using push_token(). yacc_EOF can result if
sourced file doesn't end with a newline but does end with an unescaped
backslash. Fixes bug reported by Pedro Gimeno
<pgwr-842@personal.formauri.es>
lib/readline/histfile.c
- use PARAMS(x) instead of __P(x). Bug reported by Evan Gates
<evan.gates@gmail.com>
4/9
---
execute_cmd.c
- execute_simple_command: if we haven't already forked, and we have created
FIFOs, turn off the no-fork optimization in the simple command's flags.
Originally reported to savannah by Kuang-che Wu as
https://savannah.gnu.org/support/index.php?108732
4/10
----
trap.c
- trap_if_untrapped: new function, sets a trap on a signal if that signal
is not already trapped
- maybe_set_debug_trap: new function, sets DEBUG trap to command string
argument only if it's not already trapped
trap.h
- maybe_set_debug_trap: new extern declaration
builtins/source.def
- source_builtin: if the -T option isn't set, use maybe_set_debug_trap in
the unwind-protect instead of unconditionally restoring the old trap
string. That means if the sourced file changes the DEBUG trap, that new
trap will persist instead of being undone when the old value is restored.
Fixes bug reported by Scott Bronson <bronson@rinspin.com>
builtins/evalstring.c
- parse_string: before we jump to top_level, if we are at the `bottom' of
the parse_and_execute stack (parse_and_execute_level == 0), call
top_level_cleanup() before jumping so the right cleanup happens (e.g.,
cleaning up redirections and other state). Fixes bug reported by
Sam Liddicott <sam@liddicott.com>
+4 -1
View File
@@ -526,7 +526,10 @@ declare_internal (list, local_var)
VSETATTR (var, att_invisible);
}
if (var == 0)
NEXT_VARIABLE ();
{
/* Has to appear in brackets */
NEXT_VARIABLE ();
}
}
/* Can't take an existing array variable and make it a nameref */
else if ((array_p (var) || assoc_p (var)) && (flags_on & att_nameref))
+8
View File
@@ -43,6 +43,8 @@
#include "../execute_cmd.h"
#include "../trap.h"
#include <y.tab.h>
#if defined (HISTORY)
# include "../bashhist.h"
#endif
@@ -71,6 +73,7 @@ extern int indirection_level, subshell_environment;
extern int return_catch_flag, return_catch_value;
extern int last_command_exit_value;
extern int executing_command_builtin;
extern int current_token; /* parse.y */
/* How many `levels' of sourced files we have. */
int sourcelevel = 0;
@@ -302,6 +305,11 @@ file_error_and_exit:
# endif
#endif
/* If we end up with EOF after sourcing a file, which can happen when the file
doesn't end with a newline, pretend that it did. */
if (current_token == yacc_EOF)
push_token ('\n'); /* XXX */
return ((flags & FEVAL_BUILTIN) ? result : 1);
}
+5 -1
View File
@@ -558,7 +558,11 @@ itrace("parse_string: longjmp executed: code = %d", code);
run_unwind_frame (PS_TAG);
if (should_jump_to_top_level)
jump_to_top_level (code);
{
if (parse_and_execute_level == 0)
top_level_cleanup ();
jump_to_top_level (code);
}
return (nc);
}
+1 -1
View File
@@ -189,7 +189,7 @@ source_builtin (list)
{
debug_trap = savestring (debug_trap);
add_unwind_protect (xfree, debug_trap);
add_unwind_protect (set_debug_trap, debug_trap);
add_unwind_protect (maybe_set_debug_trap, debug_trap);
restore_default_signal (DEBUG_TRAP);
}
+100 -94
View File
@@ -130,27 +130,29 @@ IINNVVOOCCAATTIIOONN
A _l_o_g_i_n _s_h_e_l_l is one whose first character of argument zero is a --, or
one started with the ----llooggiinn option.
An _i_n_t_e_r_a_c_t_i_v_e shell is one started without non-option arguments and
without the --cc option whose standard input and error are both connected
to terminals (as determined by _i_s_a_t_t_y(3)), or one started with the --ii
option. PPSS11 is set and $$-- includes ii if bbaasshh is interactive, allowing
a shell script or a startup file to test this state.
An _i_n_t_e_r_a_c_t_i_v_e shell is one started without non-option arguments
(unless --ss is specified) and without the --cc option whose standard input
and error are both connected to terminals (as determined by _i_s_a_t_t_y(3)),
or one started with the --ii option. PPSS11 is set and $$-- includes ii if
bbaasshh is interactive, allowing a shell script or a startup file to test
this state.
The following paragraphs describe how bbaasshh executes its startup files.
If any of the files exist but cannot be read, bbaasshh reports an error.
Tildes are expanded in filenames as described below under TTiillddee EExxppaann--
The following paragraphs describe how bbaasshh executes its startup files.
If any of the files exist but cannot be read, bbaasshh reports an error.
Tildes are expanded in filenames as described below under TTiillddee EExxppaann--
ssiioonn in the EEXXPPAANNSSIIOONN section.
When bbaasshh is invoked as an interactive login shell, or as a non-inter-
active shell with the ----llooggiinn option, it first reads and executes com-
mands from the file _/_e_t_c_/_p_r_o_f_i_l_e, if that file exists. After reading
When bbaasshh is invoked as an interactive login shell, or as a non-inter-
active shell with the ----llooggiinn option, it first reads and executes com-
mands from the file _/_e_t_c_/_p_r_o_f_i_l_e, if that file exists. After reading
that file, it looks for _~_/_._b_a_s_h___p_r_o_f_i_l_e, _~_/_._b_a_s_h___l_o_g_i_n, and _~_/_._p_r_o_f_i_l_e,
in that order, and reads and executes commands from the first one that
exists and is readable. The ----nnoopprrooffiillee option may be used when the
in that order, and reads and executes commands from the first one that
exists and is readable. The ----nnoopprrooffiillee option may be used when the
shell is started to inhibit this behavior.
When a login shell exits, bbaasshh reads and executes commands from the
file _~_/_._b_a_s_h___l_o_g_o_u_t, if it exists.
When an interactive login shell exits, or a non-interactive login shell
executes the eexxiitt builtin command, bbaasshh reads and executes commands
from the file _~_/_._b_a_s_h___l_o_g_o_u_t, if it exists.
When an interactive shell that is not a login shell is started, bbaasshh
reads and executes commands from _~_/_._b_a_s_h_r_c, if that file exists. This
@@ -4761,138 +4763,139 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
--OO Begin assigning to _a_r_r_a_y at index _o_r_i_g_i_n. The default
index is 0.
--ss Discard the first _c_o_u_n_t lines read.
--tt Remove a trailing newline from each line read.
--uu Read lines from file descriptor _f_d instead of the stan-
--tt Remove a trailing _d_e_l_i_m (default newline) from each line
read.
--uu Read lines from file descriptor _f_d instead of the stan-
dard input.
--CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The
--CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The
--cc option specifies _q_u_a_n_t_u_m.
--cc Specify the number of lines read between each call to
--cc Specify the number of lines read between each call to
_c_a_l_l_b_a_c_k.
If --CC is specified without --cc, the default quantum is 5000.
If --CC is specified without --cc, the default quantum is 5000.
When _c_a_l_l_b_a_c_k is evaluated, it is supplied the index of the next
array element to be assigned and the line to be assigned to that
element as additional arguments. _c_a_l_l_b_a_c_k is evaluated after
element as additional arguments. _c_a_l_l_b_a_c_k is evaluated after
the line is read but before the array element is assigned.
If not supplied with an explicit origin, mmaappffiillee will clear
If not supplied with an explicit origin, mmaappffiillee will clear
_a_r_r_a_y before assigning to it.
mmaappffiillee returns successfully unless an invalid option or option
argument is supplied, _a_r_r_a_y is invalid or unassignable, or if
mmaappffiillee returns successfully unless an invalid option or option
argument is supplied, _a_r_r_a_y is invalid or unassignable, or if
_a_r_r_a_y is not an indexed array.
ppooppdd [-nn] [+_n] [-_n]
Removes entries from the directory stack. With no arguments,
removes the top directory from the stack, and performs a ccdd to
Removes entries from the directory stack. With no arguments,
removes the top directory from the stack, and performs a ccdd to
the new top directory. Arguments, if supplied, have the follow-
ing meanings:
--nn Suppresses the normal change of directory when removing
directories from the stack, so that only the stack is
--nn Suppresses the normal change of directory when removing
directories from the stack, so that only the stack is
manipulated.
++_n Removes the _nth entry counting from the left of the list
shown by ddiirrss, starting with zero. For example: ``popd
++_n Removes the _nth entry counting from the left of the list
shown by ddiirrss, starting with zero. For example: ``popd
+0'' removes the first directory, ``popd +1'' the second.
--_n Removes the _nth entry counting from the right of the list
shown by ddiirrss, starting with zero. For example: ``popd
-0'' removes the last directory, ``popd -1'' the next to
shown by ddiirrss, starting with zero. For example: ``popd
-0'' removes the last directory, ``popd -1'' the next to
last.
If the ppooppdd command is successful, a ddiirrss is performed as well,
and the return status is 0. ppooppdd returns false if an invalid
If the ppooppdd command is successful, a ddiirrss is performed as well,
and the return status is 0. ppooppdd returns false if an invalid
option is encountered, the directory stack is empty, a non-exis-
tent directory stack entry is specified, or the directory change
fails.
pprriinnttff [--vv _v_a_r] _f_o_r_m_a_t [_a_r_g_u_m_e_n_t_s]
Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the
control of the _f_o_r_m_a_t. The --vv option causes the output to be
assigned to the variable _v_a_r rather than being printed to the
Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the
control of the _f_o_r_m_a_t. The --vv option causes the output to be
assigned to the variable _v_a_r rather than being printed to the
standard output.
The _f_o_r_m_a_t is a character string which contains three types of
objects: plain characters, which are simply copied to standard
output, character escape sequences, which are converted and
copied to the standard output, and format specifications, each
of which causes printing of the next successive _a_r_g_u_m_e_n_t. In
The _f_o_r_m_a_t is a character string which contains three types of
objects: plain characters, which are simply copied to standard
output, character escape sequences, which are converted and
copied to the standard output, and format specifications, each
of which causes printing of the next successive _a_r_g_u_m_e_n_t. In
addition to the standard _p_r_i_n_t_f(1) format specifications, pprriinnttff
interprets the following extensions:
%%bb causes pprriinnttff to expand backslash escape sequences in the
corresponding _a_r_g_u_m_e_n_t (except that \\cc terminates output,
backslashes in \\'', \\"", and \\?? are not removed, and octal
backslashes in \\'', \\"", and \\?? are not removed, and octal
escapes beginning with \\00 may contain up to four digits).
%%qq causes pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a
%%qq causes pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a
format that can be reused as shell input.
%%((_d_a_t_e_f_m_t))TT
causes pprriinnttff to output the date-time string resulting
from using _d_a_t_e_f_m_t as a format string for _s_t_r_f_t_i_m_e(3).
causes pprriinnttff to output the date-time string resulting
from using _d_a_t_e_f_m_t as a format string for _s_t_r_f_t_i_m_e(3).
The corresponding _a_r_g_u_m_e_n_t is an integer representing the
number of seconds since the epoch. Two special argument
values may be used: -1 represents the current time, and
-2 represents the time the shell was invoked. If no
argument is specified, conversion behaves as if -1 had
been given. This is an exception to the usual pprriinnttff
number of seconds since the epoch. Two special argument
values may be used: -1 represents the current time, and
-2 represents the time the shell was invoked. If no
argument is specified, conversion behaves as if -1 had
been given. This is an exception to the usual pprriinnttff
behavior.
Arguments to non-string format specifiers are treated as C con-
Arguments to non-string format specifiers are treated as C con-
stants, except that a leading plus or minus sign is allowed, and
if the leading character is a single or double quote, the value
if the leading character is a single or double quote, the value
is the ASCII value of the following character.
The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_-
The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_-
_m_e_n_t_s. If the _f_o_r_m_a_t requires more _a_r_g_u_m_e_n_t_s than are supplied,
the extra format specifications behave as if a zero value or
null string, as appropriate, had been supplied. The return
the extra format specifications behave as if a zero value or
null string, as appropriate, had been supplied. The return
value is zero on success, non-zero on failure.
ppuusshhdd [--nn] [+_n] [-_n]
ppuusshhdd [--nn] [_d_i_r]
Adds a directory to the top of the directory stack, or rotates
the stack, making the new top of the stack the current working
Adds a directory to the top of the directory stack, or rotates
the stack, making the new top of the stack the current working
directory. With no arguments, exchanges the top two directories
and returns 0, unless the directory stack is empty. Arguments,
and returns 0, unless the directory stack is empty. Arguments,
if supplied, have the following meanings:
--nn Suppresses the normal change of directory when adding
directories to the stack, so that only the stack is
--nn Suppresses the normal change of directory when adding
directories to the stack, so that only the stack is
manipulated.
++_n Rotates the stack so that the _nth directory (counting
from the left of the list shown by ddiirrss, starting with
++_n Rotates the stack so that the _nth directory (counting
from the left of the list shown by ddiirrss, starting with
zero) is at the top.
--_n Rotates the stack so that the _nth directory (counting
from the right of the list shown by ddiirrss, starting with
--_n Rotates the stack so that the _nth directory (counting
from the right of the list shown by ddiirrss, starting with
zero) is at the top.
_d_i_r Adds _d_i_r to the directory stack at the top, making it the
new current working directory as if it had been supplied
new current working directory as if it had been supplied
as the argument to the ccdd builtin.
If the ppuusshhdd command is successful, a ddiirrss is performed as well.
If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r
fails. With the second form, ppuusshhdd returns 0 unless the direc-
tory stack is empty, a non-existent directory stack element is
specified, or the directory change to the specified new current
If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r
fails. With the second form, ppuusshhdd returns 0 unless the direc-
tory stack is empty, a non-existent directory stack element is
specified, or the directory change to the specified new current
directory fails.
ppwwdd [--LLPP]
Print the absolute pathname of the current working directory.
Print the absolute pathname of the current working directory.
The pathname printed contains no symbolic links if the --PP option
is supplied or the --oo pphhyyssiiccaall option to the sseett builtin command
is enabled. If the --LL option is used, the pathname printed may
contain symbolic links. The return status is 0 unless an error
occurs while reading the name of the current directory or an
is enabled. If the --LL option is used, the pathname printed may
contain symbolic links. The return status is 0 unless an error
occurs while reading the name of the current directory or an
invalid option is supplied.
rreeaadd [--eerrss] [--aa _a_n_a_m_e] [--dd _d_e_l_i_m] [--ii _t_e_x_t] [--nn _n_c_h_a_r_s] [--NN _n_c_h_a_r_s] [--pp
_p_r_o_m_p_t] [--tt _t_i_m_e_o_u_t] [--uu _f_d] [_n_a_m_e ...]
One line is read from the standard input, or from the file
descriptor _f_d supplied as an argument to the --uu option, and the
One line is read from the standard input, or from the file
descriptor _f_d supplied as an argument to the --uu option, and the
first word is assigned to the first _n_a_m_e, the second word to the
second _n_a_m_e, and so on, with leftover words and their interven-
ing separators assigned to the last _n_a_m_e. If there are fewer
second _n_a_m_e, and so on, with leftover words and their interven-
ing separators assigned to the last _n_a_m_e. If there are fewer
words read from the input stream than names, the remaining names
are assigned empty values. The characters in IIFFSS are used to
split the line into words using the same rules the shell uses
are assigned empty values. The characters in IIFFSS are used to
split the line into words using the same rules the shell uses
for expansion (described above under WWoorrdd SSpplliittttiinngg). The back-
slash character (\\) may be used to remove any special meaning
slash character (\\) may be used to remove any special meaning
for the next character read and for line continuation. Options,
if supplied, have the following meanings:
--aa _a_n_a_m_e
@@ -4901,27 +4904,30 @@ SSHHEELLLL BBUUIILLTTIINN CCOOMMMMAANNDDSS
new values are assigned. Other _n_a_m_e arguments are
ignored.
--dd _d_e_l_i_m
The first character of _d_e_l_i_m is used to terminate the
The first character of _d_e_l_i_m is used to terminate the
input line, rather than newline.
--ee If the standard input is coming from a terminal, rreeaaddlliinnee
(see RREEAADDLLIINNEE above) is used to obtain the line. Read-
line uses the current (or default, if line editing was
(see RREEAADDLLIINNEE above) is used to obtain the line. Read-
line uses the current (or default, if line editing was
not previously active) editing settings.
--ii _t_e_x_t
If rreeaaddlliinnee is being used to read the line, _t_e_x_t is
If rreeaaddlliinnee is being used to read the line, _t_e_x_t is
placed into the editing buffer before editing begins.
--nn _n_c_h_a_r_s
rreeaadd returns after reading _n_c_h_a_r_s characters rather than
rreeaadd returns after reading _n_c_h_a_r_s characters rather than
waiting for a complete line of input, but honors a delim-
iter if fewer than _n_c_h_a_r_s characters are read before the
iter if fewer than _n_c_h_a_r_s characters are read before the
delimiter.
--NN _n_c_h_a_r_s
rreeaadd returns after reading exactly _n_c_h_a_r_s characters
rather than waiting for a complete line of input, unless
EOF is encountered or rreeaadd times out. Delimiter charac-
ters encountered in the input are not treated specially
and do not cause rreeaadd to return until _n_c_h_a_r_s characters
are read.
rreeaadd returns after reading exactly _n_c_h_a_r_s characters
rather than waiting for a complete line of input, unless
EOF is encountered or rreeaadd times out. Delimiter charac-
ters encountered in the input are not treated specially
and do not cause rreeaadd to return until _n_c_h_a_r_s characters
are read. The result is not split on the characters in
IIFFSS; the intent is that the variable is assigned exactly
the characters read (with the exception of backslash; see
the --rr option below).
--pp _p_r_o_m_p_t
Display _p_r_o_m_p_t on standard error, without a trailing new-
line, before attempting to read any input. The prompt is
@@ -5826,4 +5832,4 @@ BBUUGGSS
GNU Bash 4.4 2015 January 19 BASH(1)
GNU Bash 4.4 2015 April 6 BASH(1)
+11 -2
View File
@@ -5,12 +5,12 @@
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
.\" Last Change: Mon Mar 23 11:25:25 EDT 2015
.\" Last Change: Fri Apr 10 15:04:46 EDT 2015
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
.TH BASH 1 "2015 March 23" "GNU Bash 4.4"
.TH BASH 1 "2015 April 10" "GNU Bash 4.4"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
@@ -6987,6 +6987,12 @@ is not searched.
If any \fIarguments\fP are supplied, they become the positional
parameters when \fIfilename\fP is executed. Otherwise the positional
parameters are unchanged.
If the \fB\-T\fP option is enabled, \fBsource\fP inherits any trap on
\fBDEBUG\fP; if it is not, any \fBDEBUG\fP trap string is saved and
restored around the call to \fBsource\fP, and \fBsource\fP unsets the
\fBDEBUG\fP trap while it executes.
If \fB\-T\fP is not set, and the sourced file changes
the \fBDEBUG\fP trap, the new value is retained when \fBsource\fP completes.
The return status is the status of the last command exited within
the script (0 if no commands are executed), and false if
.I filename
@@ -8766,6 +8772,9 @@ than waiting for a complete line of input, unless EOF is encountered or
Delimiter characters encountered in the input are
not treated specially and do not cause \fBread\fP to return until
\fInchars\fP characters are read.
The result is not split on the characters in \fBIFS\fP; the intent is
that the variable is assigned exactly the characters read
(with the exception of backslash; see the \fB\-r\fP option below).
.TP
.B \-p \fIprompt\fP
Display \fIprompt\fP on standard error, without a
+10 -5
View File
@@ -3,7 +3,7 @@
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2015 January 19<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2015 April 6<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
@@ -351,6 +351,7 @@ option.
<P>
An <I>interactive</I> shell is one started without non-option arguments
(unless <B>-s</B> is specified)
and without the
<B>-c</B>
@@ -413,7 +414,8 @@ The
option may be used when the shell is started to inhibit this behavior.
<P>
When a login shell exits,
When an interactive login shell exits,
or a non-interactive login shell executes the <B>exit</B> builtin command,
<B>bash</B>
reads and executes commands from the file <A HREF="file:~/.bash_logout"><I>~/.bash_logout</I></A>, if it
@@ -10813,7 +10815,7 @@ Discard the first <I>count</I> lines read.
<DT><B>-t</B>
<DD>
Remove a trailing newline from each line read.
Remove a trailing <I>delim</I> (default newline) from each line read.
<DT><B>-u</B>
<DD>
@@ -11139,6 +11141,9 @@ than waiting for a complete line of input, unless EOF is encountered or
Delimiter characters encountered in the input are
not treated specially and do not cause <B>read</B> to return until
<I>nchars</I> characters are read.
The result is not split on the characters in <B>IFS</B>; the intent is
that the variable is assigned exactly the characters read
(with the exception of backslash; see the <B>-r</B> option below).
<DT><B>-p </B><I>prompt</I>
<DD>
@@ -13347,7 +13352,7 @@ There may be only one active coprocess at a time.
<HR>
<TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>GNU Bash 4.4<TH ALIGN=CENTER width=33%>2015 January 19<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>GNU Bash 4.4<TH ALIGN=CENTER width=33%>2015 April 6<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
@@ -13453,6 +13458,6 @@ There may be only one active coprocess at a time.
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
Time: 23 February 2015 09:20:49 EST
Time: 06 April 2015 13:59:15 EDT
</BODY>
</HTML>
BIN
View File
Binary file not shown.
+4742 -4740
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+13 -8
View File
@@ -1,6 +1,6 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on February, 23 2015 by texi2html 1.64 -->
<!-- Created on April, 6 2015 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -33,11 +33,11 @@ Send bugs and suggestions to <texi2html@mathematik.uni-kl.de>
<H1>Bash Reference Manual</H1></P><P>
This text is a brief description of the features that are present in
the Bash shell (version 4.4, 19 January 2015).
the Bash shell (version 4.4, 6 April 2015).
The Bash home page is <A HREF="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</A>.
</P><P>
This is Edition 4.4, last updated 19 January 2015,
This is Edition 4.4, last updated 6 April 2015,
of <CITE>The GNU Bash Reference Manual</CITE>,
for <CODE>Bash</CODE>, Version 4.4.
</P><P>
@@ -5423,7 +5423,7 @@ The default index is 0.
<DT><CODE>-s</CODE>
<DD>Discard the first <VAR>count</VAR> lines read.
<DT><CODE>-t</CODE>
<DD>Remove a trailing newline from each line read.
<DD>Remove a trailing <VAR>delim</VAR> (default newline) from each line read.
<DT><CODE>-u</CODE>
<DD>Read lines from file descriptor <VAR>fd</VAR> instead of the standard input.
<DT><CODE>-C</CODE>
@@ -5573,6 +5573,9 @@ than waiting for a complete line of input, unless EOF is encountered or
Delimiter characters encountered in the input are
not treated specially and do not cause <CODE>read</CODE> to return until
<VAR>nchars</VAR> characters are read.
The result is not split on the characters in <CODE>IFS</CODE>; the intent is
that the variable is assigned exactly the characters read
(with the exception of backslash; see the <SAMP>`-r'</SAMP> option below).
<P>
<DT><CODE>-p <VAR>prompt</VAR></CODE>
@@ -8078,7 +8081,9 @@ The <SAMP>`--noprofile'</SAMP> option may be used when the shell is started to
inhibit this behavior.
</P><P>
When a login shell exits, Bash reads and executes commands from
When an interactive login shell exits,
or a non-interactive login shell executes the <CODE>exit</CODE> builtin command,
Bash reads and executes commands from
the file <TT>`~/.bash_logout'</TT>, if it exists.
</P><P>
@@ -10624,7 +10629,7 @@ Readline equivalents.
<DT><CODE>blink-matching-paren</CODE>
<DD><A NAME="IDX334"></A>
If set to <SAMP>`on'</SAMP>, Readline attempts to briefly move the cursor to an
opening parenthesis when a closing parenthsis is inserted. The default
opening parenthesis when a closing parenthesis is inserted. The default
is <SAMP>`off'</SAMP>.
<P>
@@ -17505,7 +17510,7 @@ to permit their use in free software.
<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="bashref.html#SEC_About"> ? </A>]</TD>
</TR></TABLE>
<H1>About this document</H1>
This document was generated by <I>Chet Ramey</I> on <I>February, 23 2015</I>
This document was generated by <I>Chet Ramey</I> on <I>April, 6 2015</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
@@ -17667,7 +17672,7 @@ the following structure:
<BR>
<FONT SIZE="-1">
This document was generated
by <I>Chet Ramey</I> on <I>February, 23 2015</I>
by <I>Chet Ramey</I> on <I>April, 6 2015</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
+148 -144
View File
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 5.2 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 4.4, 19 January 2015).
Bash shell (version 4.4, 6 April 2015).
This is Edition 4.4, last updated 19 January 2015, of 'The GNU Bash
This is Edition 4.4, last updated 6 April 2015, of 'The GNU Bash
Reference Manual', for 'Bash', Version 4.4.
Copyright (C) 1988-2014 Free Software Foundation, Inc.
@@ -27,10 +27,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 4.4, 19 January 2015). The Bash home page is
Bash shell (version 4.4, 6 April 2015). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 4.4, last updated 19 January 2015, of 'The GNU Bash
This is Edition 4.4, last updated 6 April 2015, of 'The GNU Bash
Reference Manual', for 'Bash', Version 4.4.
Bash contains features that appear in other popular shells, and some
@@ -3585,7 +3585,7 @@ standard.
'-s'
Discard the first COUNT lines read.
'-t'
Remove a trailing newline from each line read.
Remove a trailing DELIM (default newline) from each line read.
'-u'
Read lines from file descriptor FD instead of the standard
input.
@@ -3707,7 +3707,10 @@ standard.
than waiting for a complete line of input, unless EOF is
encountered or 'read' times out. Delimiter characters
encountered in the input are not treated specially and do not
cause 'read' to return until NCHARS characters are read.
cause 'read' to return until NCHARS characters are read. The
result is not split on the characters in 'IFS'; the intent is
that the variable is assigned exactly the characters read
(with the exception of backslash; see the '-r' option below).
'-p PROMPT'
Display PROMPT, without a trailing newline, before attempting
@@ -5435,8 +5438,9 @@ commands from the first one that exists and is readable. The
'--noprofile' option may be used when the shell is started to inhibit
this behavior.
When a login shell exits, Bash reads and executes commands from the
file '~/.bash_logout', if it exists.
When an interactive login shell exits, or a non-interactive login
shell executes the 'exit' builtin command, Bash reads and executes
commands from the file '~/.bash_logout', if it exists.
Invoked as an interactive non-login shell
.........................................
@@ -7085,7 +7089,7 @@ Variable Settings
'blink-matching-paren'
If set to 'on', Readline attempts to briefly move the cursor
to an opening parenthesis when a closing parenthsis is
to an opening parenthesis when a closing parenthesis is
inserted. The default is 'off'.
'colored-completion-prefix'
@@ -10579,7 +10583,7 @@ D.1 Index of Shell Builtin Commands
* pwd: Bourne Shell Builtins.
(line 200)
* read: Bash Builtins. (line 458)
* readarray: Bash Builtins. (line 545)
* readarray: Bash Builtins. (line 548)
* readonly: Bourne Shell Builtins.
(line 210)
* return: Bourne Shell Builtins.
@@ -10588,7 +10592,7 @@ D.1 Index of Shell Builtin Commands
* shift: Bourne Shell Builtins.
(line 250)
* shopt: The Shopt Builtin. (line 9)
* source: Bash Builtins. (line 554)
* source: Bash Builtins. (line 557)
* suspend: Job Control Builtins.
(line 100)
* test: Bourne Shell Builtins.
@@ -10597,12 +10601,12 @@ D.1 Index of Shell Builtin Commands
(line 338)
* trap: Bourne Shell Builtins.
(line 344)
* type: Bash Builtins. (line 559)
* typeset: Bash Builtins. (line 591)
* ulimit: Bash Builtins. (line 597)
* type: Bash Builtins. (line 562)
* typeset: Bash Builtins. (line 594)
* ulimit: Bash Builtins. (line 600)
* umask: Bourne Shell Builtins.
(line 393)
* unalias: Bash Builtins. (line 694)
* unalias: Bash Builtins. (line 697)
* unset: Bourne Shell Builtins.
(line 411)
* wait: Job Control Builtins.
@@ -11229,134 +11233,134 @@ D.5 Concept Index

Tag Table:
Node: Top895
Node: Introduction2813
Node: What is Bash?3029
Node: What is a shell?4143
Node: Definitions6681
Node: Basic Shell Features9600
Node: Shell Syntax10819
Node: Shell Operation11845
Node: Quoting13138
Node: Escape Character14438
Node: Single Quotes14923
Node: Double Quotes15271
Node: ANSI-C Quoting16396
Node: Locale Translation17625
Node: Comments18521
Node: Shell Commands19139
Node: Simple Commands20011
Node: Pipelines20642
Node: Lists23385
Node: Compound Commands25114
Node: Looping Constructs26117
Node: Conditional Constructs28580
Node: Command Grouping39501
Node: Coprocesses40980
Node: GNU Parallel42812
Node: Shell Functions46785
Node: Shell Parameters51991
Node: Positional Parameters56393
Node: Special Parameters57293
Node: Shell Expansions60630
Node: Brace Expansion62567
Node: Tilde Expansion65348
Node: Shell Parameter Expansion67696
Node: Command Substitution81803
Node: Arithmetic Expansion83133
Node: Process Substitution84065
Node: Word Splitting85109
Node: Filename Expansion86757
Node: Pattern Matching89041
Node: Quote Removal92739
Node: Redirections93034
Node: Executing Commands102257
Node: Simple Command Expansion102927
Node: Command Search and Execution104857
Node: Command Execution Environment107193
Node: Environment110177
Node: Exit Status111836
Node: Signals113506
Node: Shell Scripts115473
Node: Shell Builtin Commands117988
Node: Bourne Shell Builtins120012
Node: Bash Builtins140254
Node: Modifying Shell Behavior168514
Node: The Set Builtin168859
Node: The Shopt Builtin179272
Node: Special Builtins193901
Node: Shell Variables194880
Node: Bourne Shell Variables195317
Node: Bash Variables197348
Node: Bash Features224220
Node: Invoking Bash225119
Node: Bash Startup Files231068
Node: Interactive Shells236088
Node: What is an Interactive Shell?236498
Node: Is this Shell Interactive?237147
Node: Interactive Shell Behavior237962
Node: Bash Conditional Expressions241261
Node: Shell Arithmetic245262
Node: Aliases248039
Node: Arrays250587
Node: The Directory Stack255671
Node: Directory Stack Builtins256388
Node: Controlling the Prompt259347
Node: The Restricted Shell262093
Node: Bash POSIX Mode263918
Node: Job Control273512
Node: Job Control Basics273972
Node: Job Control Builtins278691
Node: Job Control Variables283162
Node: Command Line Editing284318
Node: Introduction and Notation285989
Node: Readline Interaction287612
Node: Readline Bare Essentials288803
Node: Readline Movement Commands290586
Node: Readline Killing Commands291546
Node: Readline Arguments293464
Node: Searching294508
Node: Readline Init File296694
Node: Readline Init File Syntax297841
Node: Conditional Init Constructs317565
Node: Sample Init File320090
Node: Bindable Readline Commands323207
Node: Commands For Moving324411
Node: Commands For History325554
Node: Commands For Text329843
Node: Commands For Killing333232
Node: Numeric Arguments335713
Node: Commands For Completion336852
Node: Keyboard Macros341043
Node: Miscellaneous Commands341730
Node: Readline vi Mode347534
Node: Programmable Completion348441
Node: Programmable Completion Builtins355902
Node: A Programmable Completion Example365788
Node: Using History Interactively371040
Node: Bash History Facilities371724
Node: Bash History Builtins374723
Node: History Interaction378654
Node: Event Designators381360
Node: Word Designators382579
Node: Modifiers384216
Node: Installing Bash385618
Node: Basic Installation386755
Node: Compilers and Options389446
Node: Compiling For Multiple Architectures390187
Node: Installation Names391850
Node: Specifying the System Type392668
Node: Sharing Defaults393384
Node: Operation Controls394057
Node: Optional Features395015
Node: Reporting Bugs405272
Node: Major Differences From The Bourne Shell406466
Node: GNU Free Documentation License423318
Node: Indexes448495
Node: Builtin Index448949
Node: Reserved Word Index455776
Node: Variable Index458224
Node: Function Index473391
Node: Concept Index486611
Node: Top889
Node: Introduction2801
Node: What is Bash?3017
Node: What is a shell?4131
Node: Definitions6669
Node: Basic Shell Features9588
Node: Shell Syntax10807
Node: Shell Operation11833
Node: Quoting13126
Node: Escape Character14426
Node: Single Quotes14911
Node: Double Quotes15259
Node: ANSI-C Quoting16384
Node: Locale Translation17613
Node: Comments18509
Node: Shell Commands19127
Node: Simple Commands19999
Node: Pipelines20630
Node: Lists23373
Node: Compound Commands25102
Node: Looping Constructs26105
Node: Conditional Constructs28568
Node: Command Grouping39489
Node: Coprocesses40968
Node: GNU Parallel42800
Node: Shell Functions46773
Node: Shell Parameters51979
Node: Positional Parameters56381
Node: Special Parameters57281
Node: Shell Expansions60618
Node: Brace Expansion62555
Node: Tilde Expansion65336
Node: Shell Parameter Expansion67684
Node: Command Substitution81791
Node: Arithmetic Expansion83121
Node: Process Substitution84053
Node: Word Splitting85097
Node: Filename Expansion86745
Node: Pattern Matching89029
Node: Quote Removal92727
Node: Redirections93022
Node: Executing Commands102245
Node: Simple Command Expansion102915
Node: Command Search and Execution104845
Node: Command Execution Environment107181
Node: Environment110165
Node: Exit Status111824
Node: Signals113494
Node: Shell Scripts115461
Node: Shell Builtin Commands117976
Node: Bourne Shell Builtins120000
Node: Bash Builtins140242
Node: Modifying Shell Behavior168735
Node: The Set Builtin169080
Node: The Shopt Builtin179493
Node: Special Builtins194122
Node: Shell Variables195101
Node: Bourne Shell Variables195538
Node: Bash Variables197569
Node: Bash Features224441
Node: Invoking Bash225340
Node: Bash Startup Files231289
Node: Interactive Shells236392
Node: What is an Interactive Shell?236802
Node: Is this Shell Interactive?237451
Node: Interactive Shell Behavior238266
Node: Bash Conditional Expressions241565
Node: Shell Arithmetic245566
Node: Aliases248343
Node: Arrays250891
Node: The Directory Stack255975
Node: Directory Stack Builtins256692
Node: Controlling the Prompt259651
Node: The Restricted Shell262397
Node: Bash POSIX Mode264222
Node: Job Control273816
Node: Job Control Basics274276
Node: Job Control Builtins278995
Node: Job Control Variables283466
Node: Command Line Editing284622
Node: Introduction and Notation286293
Node: Readline Interaction287916
Node: Readline Bare Essentials289107
Node: Readline Movement Commands290890
Node: Readline Killing Commands291850
Node: Readline Arguments293768
Node: Searching294812
Node: Readline Init File296998
Node: Readline Init File Syntax298145
Node: Conditional Init Constructs317870
Node: Sample Init File320395
Node: Bindable Readline Commands323512
Node: Commands For Moving324716
Node: Commands For History325859
Node: Commands For Text330148
Node: Commands For Killing333537
Node: Numeric Arguments336018
Node: Commands For Completion337157
Node: Keyboard Macros341348
Node: Miscellaneous Commands342035
Node: Readline vi Mode347839
Node: Programmable Completion348746
Node: Programmable Completion Builtins356207
Node: A Programmable Completion Example366093
Node: Using History Interactively371345
Node: Bash History Facilities372029
Node: Bash History Builtins375028
Node: History Interaction378959
Node: Event Designators381665
Node: Word Designators382884
Node: Modifiers384521
Node: Installing Bash385923
Node: Basic Installation387060
Node: Compilers and Options389751
Node: Compiling For Multiple Architectures390492
Node: Installation Names392155
Node: Specifying the System Type392973
Node: Sharing Defaults393689
Node: Operation Controls394362
Node: Optional Features395320
Node: Reporting Bugs405577
Node: Major Differences From The Bourne Shell406771
Node: GNU Free Documentation License423623
Node: Indexes448800
Node: Builtin Index449254
Node: Reserved Word Index456081
Node: Variable Index458529
Node: Function Index473696
Node: Concept Index486916

End Tag Table
+12 -10
View File
@@ -1,8 +1,10 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014/MacPorts 2014_5) (preloaded format=pdftex 2014.11.4) 23 FEB 2015 09:20
This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014/MacPorts 2014_7) (preloaded format=pdfetex 2014.11.4) 6 APR 2015 13:59
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
%&-line parsing enabled.
**/usr/homes/chet/src/bash/src/doc/bashref.texi
**\catcode126=12 \def\normaltilde{~}\catcode126=13 \let~\normaltilde \input /u
sr/homes/chet/src/bash/src/doc/bashref.texi
(/usr/homes/chet/src/bash/src/doc/bashref.texi (./texinfo.tex
Loading texinfo [version 2013-09-11.11]:
\bindingoffset=\dimen16
@@ -254,7 +256,7 @@ d@texttt ][]
.etc.
[54] [55]
Overfull \hbox (38.26584pt too wide) in paragraph at lines 4433--4433
Overfull \hbox (38.26584pt too wide) in paragraph at lines 4436--4436
[]@texttt readarray [-d @textttsl de-lim@texttt ] [-n @textttsl count@texttt ]
[-O @textttsl ori-gin@texttt ] [-s @textttsl count@texttt ] [-t] [-u @textttsl
fd@texttt ][]
@@ -269,7 +271,7 @@ Overfull \hbox (38.26584pt too wide) in paragraph at lines 4433--4433
[56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] Chapter 5 [68]
[69] [70] [71] [72] [73] [74] [75] [76] [77] [78] Chapter 6 [79]
Overfull \hbox (49.43388pt too wide) in paragraph at lines 6078--6078
Overfull \hbox (49.43388pt too wide) in paragraph at lines 6081--6081
[]@texttt bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@t
exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
@@ -282,7 +284,7 @@ exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
.etc.
Overfull \hbox (72.42863pt too wide) in paragraph at lines 6079--6079
Overfull \hbox (72.42863pt too wide) in paragraph at lines 6082--6082
[]@texttt bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@texttt
] [-O @textttsl shopt_option@texttt ] -c @textttsl string @texttt [@textttsl ar
-
@@ -296,7 +298,7 @@ Overfull \hbox (72.42863pt too wide) in paragraph at lines 6079--6079
.etc.
Overfull \hbox (32.18782pt too wide) in paragraph at lines 6080--6080
Overfull \hbox (32.18782pt too wide) in paragraph at lines 6083--6083
[]@texttt bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@text
tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
@@ -381,12 +383,12 @@ Appendix D [160] (./bashref.bts) [161] (./bashref.rws) (./bashref.vrs [162]
[163]) (./bashref.fns [164] [165]) (./bashref.cps [166] [167]) [168] )
Here is how much of TeX's memory you used:
2745 strings out of 497110
37296 string characters out of 6206875
151210 words of memory out of 5000000
37296 string characters out of 6206872
151204 words of memory out of 5000000
3523 multiletter control sequences out of 15000+600000
32896 words of font info for 113 fonts, out of 8000000 for 9000
51 hyphenation exceptions out of 8191
16i,6n,16p,319b,967s stack positions out of 5000i,500n,10000p,200000b,80000s
16i,6n,16p,394b,967s stack positions out of 5000i,500n,10000p,200000b,80000s
{/opt/loc
al/share/texmf-texlive/fonts/enc/dvips/cm-super/cm-super-t1.enc}</opt/local/sha
re/texmf-texlive/fonts/type1/public/amsfonts/cm/cmbx12.pfb></opt/local/share/te
@@ -403,7 +405,7 @@ i10.pfb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmtt10.p
fb></opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmtt12.pfb></
opt/local/share/texmf-texlive/fonts/type1/public/amsfonts/cm/cmtt9.pfb></opt/lo
cal/share/texmf-texlive/fonts/type1/public/cm-super/sfrm1095.pfb>
Output written on bashref.pdf (174 pages, 727093 bytes).
Output written on bashref.pdf (174 pages, 727272 bytes).
PDF statistics:
2542 PDF objects out of 2984 (max. 8388607)
2324 compressed objects within 24 object streams
BIN
View File
Binary file not shown.
+172 -165
View File
@@ -1,7 +1,7 @@
%!PS-Adobe-2.0
%%Creator: dvips(k) 5.994 Copyright 2014 Radical Eye Software
%%Title: bashref.dvi
%%CreationDate: Mon Feb 23 09:20:47 2015
%%CreationDate: Mon Apr 6 13:59:13 2015
%%Pages: 174
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
@@ -12,7 +12,7 @@
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -D 600 -t letter -o bashref.ps bashref.dvi
%DVIPSParameters: dpi=600
%DVIPSSource: TeX output 2015.02.23:0920
%DVIPSSource: TeX output 2015.04.06:1359
%%BeginProcSet: tex.pro 0 0
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
@@ -7514,7 +7514,7 @@ ifelse
TeXDict begin 1 0 bop 150 1318 a Fv(Bash)64 b(Reference)j(Man)-5
b(ual)p 150 1385 3600 34 v 2361 1481 a Fu(Reference)31
b(Do)s(cumen)m(tation)i(for)d(Bash)2428 1589 y(Edition)h(4.4,)g(for)f
Ft(Bash)g Fu(V)-8 b(ersion)31 b(4.4.)3218 1697 y(Jan)m(uary)f(2015)150
Ft(Bash)g Fu(V)-8 b(ersion)31 b(4.4.)3333 1697 y(April)f(2015)150
4935 y Fs(Chet)45 b(Ramey)-11 b(,)46 b(Case)g(W)-11 b(estern)46
b(Reserv)l(e)g(Univ)l(ersit)l(y)150 5068 y(Brian)f(F)-11
b(o)l(x,)45 b(F)-11 b(ree)45 b(Soft)l(w)l(are)h(F)-11
@@ -7522,16 +7522,15 @@ b(oundation)p 150 5141 3600 17 v eop end
%%Page: 2 2
TeXDict begin 2 1 bop 150 4279 a Fu(This)35 b(text)h(is)g(a)g(brief)f
(description)h(of)f(the)h(features)g(that)g(are)g(presen)m(t)g(in)f
(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(4.4,)c(19)f(Jan)m(uary)f
(2015\).)150 4523 y(This)35 b(is)h(Edition)f(4.4,)k(last)d(up)s(dated)f
(19)h(Jan)m(uary)f(2015,)k(of)d Fr(The)f(GNU)i(Bash)e(Reference)i(Man)m
(ual)p Fu(,)150 4633 y(for)30 b Ft(Bash)p Fu(,)g(V)-8
b(ersion)31 b(4.4.)150 4767 y(Cop)m(yrigh)m(t)602 4764
y(c)577 4767 y Fq(\015)f Fu(1988{2014)35 b(F)-8 b(ree)31
b(Soft)m(w)m(are)h(F)-8 b(oundation,)31 b(Inc.)390 4902
y(P)m(ermission)21 b(is)f(gran)m(ted)h(to)g(cop)m(y)-8
b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s(cumen)m(t)f
(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
(the)h(Bash)f(shell)h(\(v)m(ersion)150 4389 y(4.4,)c(6)e(April)h
(2015\).)150 4523 y(This)36 b(is)g(Edition)h(4.4,)j(last)d(up)s(dated)e
(6)i(April)g(2015,)j(of)c Fr(The)h(GNU)g(Bash)g(Reference)g(Man)m(ual)p
Fu(,)i(for)150 4633 y Ft(Bash)p Fu(,)29 b(V)-8 b(ersion)31
b(4.4.)150 4767 y(Cop)m(yrigh)m(t)602 4764 y(c)577 4767
y Fq(\015)f Fu(1988{2014)35 b(F)-8 b(ree)31 b(Soft)m(w)m(are)h(F)-8
b(oundation,)31 b(Inc.)390 4902 y(P)m(ermission)21 b(is)f(gran)m(ted)h
(to)g(cop)m(y)-8 b(,)24 b(distribute)c(and/or)h(mo)s(dify)e(this)i(do)s
(cumen)m(t)f(under)f(the)390 5011 y(terms)25 b(of)h(the)f(GNU)h(F)-8
b(ree)27 b(Do)s(cumen)m(tation)g(License,)g(V)-8 b(ersion)26
b(1.3)g(or)f(an)m(y)h(later)g(v)m(ersion)390 5121 y(published)43
b(b)m(y)h(the)h(F)-8 b(ree)46 b(Soft)m(w)m(are)g(F)-8
@@ -12006,9 +12005,10 @@ b(If)30 b Fr(coun)m(t)j Fu(is)d(0,)h(all)h(lines)e(are)h(copied.)630
b Fu(at)31 b(index)f Fr(origin)p Fu(.)41 b(The)30 b(default)h(index)f
(is)g(0.)630 2534 y Ft(-s)384 b Fu(Discard)31 b(the)f(\014rst)g
Fr(coun)m(t)j Fu(lines)e(read.)630 2690 y Ft(-t)384 b
Fu(Remo)m(v)m(e)32 b(a)f(trailing)g(newline)g(from)f(eac)m(h)h(line)g
(read.)630 2846 y Ft(-u)384 b Fu(Read)31 b(lines)f(from)g(\014le)h
(descriptor)f Fr(fd)j Fu(instead)e(of)f(the)h(standard)e(input.)630
Fu(Remo)m(v)m(e)32 b(a)f(trailing)g Fr(delim)g Fu(\(default)g
(newline\))f(from)g(eac)m(h)i(line)f(read.)630 2846 y
Ft(-u)384 b Fu(Read)31 b(lines)f(from)g(\014le)h(descriptor)f
Fr(fd)j Fu(instead)e(of)f(the)h(standard)e(input.)630
3002 y Ft(-C)384 b Fu(Ev)-5 b(aluate)33 b Fr(callbac)m(k)39
b Fu(eac)m(h)33 b(time)f Fr(quan)m(tum)p Fu(P)f(lines)h(are)g(read.)45
b(The)31 b Ft(-c)g Fu(op-)1110 3112 y(tion)g(sp)s(eci\014es)f
@@ -12142,194 +12142,199 @@ TeXDict begin 56 61 bop 150 -116 a Fu(Chapter)30 b(4:)41
b(Shell)30 b(Builtin)h(Commands)2069 b(56)630 299 y Ft(-d)30
b Fj(delim)114 b Fu(The)41 b(\014rst)h(c)m(haracter)h(of)f
Fr(delim)g Fu(is)g(used)g(to)g(terminate)h(the)f(input)f(line,)1110
408 y(rather)30 b(than)g(newline.)630 568 y Ft(-e)384
408 y(rather)30 b(than)g(newline.)630 560 y Ft(-e)384
b Fu(Readline)46 b(\(see)g(Chapter)e(8)h([Command)f(Line)h(Editing],)50
b(page)45 b(101\))i(is)1110 677 y(used)37 b(to)i(obtain)g(the)f(line.)
b(page)45 b(101\))i(is)1110 669 y(used)37 b(to)i(obtain)g(the)f(line.)
65 b(Readline)39 b(uses)e(the)i(curren)m(t)f(\(or)g(default,)j(if)1110
787 y(line)31 b(editing)g(w)m(as)f(not)h(previously)f(activ)m(e\))j
(editing)e(settings.)630 946 y Ft(-i)f Fj(text)162 b
779 y(line)31 b(editing)g(w)m(as)f(not)h(previously)f(activ)m(e\))j
(editing)e(settings.)630 930 y Ft(-i)f Fj(text)162 b
Fu(If)36 b(Readline)i(is)f(b)s(eing)g(used)f(to)h(read)g(the)g(line,)j
Fr(text)f Fu(is)e(placed)h(in)m(to)g(the)1110 1056 y(editing)31
b(bu\013er)e(b)s(efore)h(editing)h(b)s(egins.)630 1215
Fr(text)f Fu(is)e(placed)h(in)m(to)g(the)1110 1040 y(editing)31
b(bu\013er)e(b)s(efore)h(editing)h(b)s(egins.)630 1191
y Ft(-n)f Fj(nchars)66 b Ft(read)38 b Fu(returns)f(after)j(reading)f
Fr(nc)m(hars)j Fu(c)m(haracters)e(rather)f(than)g(w)m(aiting)1110
1325 y(for)d(a)h(complete)h(line)f(of)g(input,)g(but)f(honors)g(a)h
(delimiter)g(if)f(few)m(er)h(than)1110 1435 y Fr(nc)m(hars)d
1301 y(for)d(a)h(complete)h(line)f(of)g(input,)g(but)f(honors)g(a)h
(delimiter)g(if)f(few)m(er)h(than)1110 1410 y Fr(nc)m(hars)d
Fu(c)m(haracters)e(are)e(read)h(b)s(efore)f(the)g(delimiter.)630
1594 y Ft(-N)g Fj(nchars)66 b Ft(read)39 b Fu(returns)f(after)j
1562 y Ft(-N)g Fj(nchars)66 b Ft(read)39 b Fu(returns)f(after)j
(reading)e(exactly)j Fr(nc)m(hars)h Fu(c)m(haracters)f(rather)d(than)
1110 1704 y(w)m(aiting)32 b(for)f(a)g(complete)i(line)e(of)g(input,)g
(unless)f(EOF)h(is)g(encoun)m(tered)g(or)1110 1813 y
1110 1671 y(w)m(aiting)32 b(for)f(a)g(complete)i(line)e(of)g(input,)g
(unless)f(EOF)h(is)g(encoun)m(tered)g(or)1110 1781 y
Ft(read)f Fu(times)i(out.)43 b(Delimiter)33 b(c)m(haracters)f(encoun)m
(tered)g(in)f(the)g(input)g(are)1110 1923 y(not)g(treated)h(sp)s
(tered)g(in)f(the)g(input)g(are)1110 1891 y(not)g(treated)h(sp)s
(ecially)f(and)f(do)h(not)g(cause)g Ft(read)e Fu(to)j(return)d(un)m
(til)i Fr(nc)m(hars)1110 2032 y Fu(c)m(haracters)h(are)f(read.)630
2192 y Ft(-p)f Fj(prompt)66 b Fu(Displa)m(y)38 b Fr(prompt)p
(til)i Fr(nc)m(hars)1110 2000 y Fu(c)m(haracters)26 b(are)f(read.)38
b(The)24 b(result)g(is)h(not)f(split)h(on)f(the)h(c)m(haracters)h(in)e
Ft(IFS)p Fu(;)1110 2110 y(the)e(in)m(ten)m(t)i(is)e(that)h(the)f(v)-5
b(ariable)23 b(is)f(assigned)g(exactly)i(the)e(c)m(haracters)i(read)
1110 2219 y(\(with)30 b(the)h(exception)h(of)e(bac)m(kslash;)h(see)g
(the)g Ft(-r)f Fu(option)h(b)s(elo)m(w\).)630 2371 y
Ft(-p)f Fj(prompt)66 b Fu(Displa)m(y)38 b Fr(prompt)p
Fu(,)g(without)e(a)h(trailing)h(newline,)h(b)s(efore)d(attempting)i(to)
1110 2301 y(read)f(an)m(y)h(input.)60 b(The)37 b(prompt)g(is)g(displa)m
(y)m(ed)h(only)f(if)g(input)g(is)g(coming)1110 2411 y(from)30
b(a)h(terminal.)630 2570 y Ft(-r)384 b Fu(If)21 b(this)h(option)g(is)f
1110 2480 y(read)f(an)m(y)h(input.)60 b(The)37 b(prompt)g(is)g(displa)m
(y)m(ed)h(only)f(if)g(input)g(is)g(coming)1110 2590 y(from)30
b(a)h(terminal.)630 2741 y Ft(-r)384 b Fu(If)21 b(this)h(option)g(is)f
(giv)m(en,)k(bac)m(kslash)d(do)s(es)f(not)h(act)h(as)f(an)f(escap)s(e)h
(c)m(haracter.)1110 2680 y(The)30 b(bac)m(kslash)i(is)f(considered)g
(c)m(haracter.)1110 2851 y(The)30 b(bac)m(kslash)i(is)f(considered)g
(to)h(b)s(e)e(part)h(of)g(the)g(line.)43 b(In)30 b(particular,)i(a)1110
2790 y(bac)m(kslash-newline)f(pair)f(ma)m(y)h(not)g(b)s(e)f(used)f(as)i
(a)g(line)f(con)m(tin)m(uation.)630 2949 y Ft(-s)384
2960 y(bac)m(kslash-newline)f(pair)f(ma)m(y)h(not)g(b)s(e)f(used)f(as)i
(a)g(line)f(con)m(tin)m(uation.)630 3112 y Ft(-s)384
b Fu(Silen)m(t)28 b(mo)s(de.)40 b(If)27 b(input)f(is)i(coming)g(from)f
(a)h(terminal,)h(c)m(haracters)g(are)f(not)1110 3059
y(ec)m(ho)s(ed.)630 3218 y Ft(-t)i Fj(timeout)1110 3328
(a)h(terminal,)h(c)m(haracters)g(are)f(not)1110 3221
y(ec)m(ho)s(ed.)630 3373 y Ft(-t)i Fj(timeout)1110 3482
y Fu(Cause)42 b Ft(read)g Fu(to)h(time)h(out)f(and)f(return)f(failure)i
(if)g(a)g(complete)h(line)f(of)1110 3437 y(input)26 b(\(or)h(a)g(sp)s
(if)g(a)g(complete)h(line)f(of)1110 3592 y(input)26 b(\(or)h(a)g(sp)s
(eci\014ed)f(n)m(um)m(b)s(er)g(of)h(c)m(haracters\))h(is)f(not)g(read)g
(within)f Fr(time-)1110 3547 y(out)37 b Fu(seconds.)53
(within)f Fr(time-)1110 3701 y(out)37 b Fu(seconds.)53
b Fr(timeout)38 b Fu(ma)m(y)d(b)s(e)f(a)h(decimal)h(n)m(um)m(b)s(er)d
(with)h(a)h(fractional)1110 3656 y(p)s(ortion)29 b(follo)m(wing)h(the)f
(with)h(a)h(fractional)1110 3811 y(p)s(ortion)29 b(follo)m(wing)h(the)f
(decimal)h(p)s(oin)m(t.)40 b(This)29 b(option)g(is)g(only)g(e\013ectiv)
m(e)j(if)1110 3766 y Ft(read)j Fu(is)i(reading)g(input)e(from)h(a)h
m(e)j(if)1110 3921 y Ft(read)j Fu(is)i(reading)g(input)e(from)h(a)h
(terminal,)i(pip)s(e,)e(or)g(other)f(sp)s(ecial)i(\014le;)1110
3875 y(it)31 b(has)g(no)g(e\013ect)h(when)e(reading)h(from)g(regular)g
4030 y(it)31 b(has)g(no)g(e\013ect)h(when)e(reading)h(from)g(regular)g
(\014les.)42 b(If)30 b Ft(read)g Fu(times)h(out,)1110
3985 y Ft(read)d Fu(sa)m(v)m(es)j(an)m(y)f(partial)h(input)d(read)i(in)
4140 y Ft(read)d Fu(sa)m(v)m(es)j(an)m(y)f(partial)h(input)d(read)i(in)
m(to)h(the)e(sp)s(eci\014ed)g(v)-5 b(ariable)31 b Fr(name)p
Fu(.)1110 4095 y(If)k Fr(timeout)j Fu(is)e(0,)h Ft(read)e
Fu(.)1110 4249 y(If)k Fr(timeout)j Fu(is)e(0,)h Ft(read)e
Fu(returns)f(immediately)-8 b(,)39 b(without)c(trying)h(to)g(read)1110
4204 y(and)30 b(data.)44 b(The)30 b(exit)i(status)f(is)g(0)g(if)g
4359 y(and)30 b(data.)44 b(The)30 b(exit)i(status)f(is)g(0)g(if)g
(input)f(is)h(a)m(v)-5 b(ailable)34 b(on)c(the)i(sp)s(eci\014ed)1110
4314 y(\014le)g(descriptor,)g(non-zero)h(otherwise.)46
b(The)31 b(exit)i(status)f(is)g(greater)h(than)1110 4423
y(128)f(if)e(the)h(timeout)g(is)f(exceeded.)630 4583
4468 y(\014le)g(descriptor,)g(non-zero)h(otherwise.)46
b(The)31 b(exit)i(status)f(is)g(greater)h(than)1110 4578
y(128)f(if)e(the)h(timeout)g(is)f(exceeded.)630 4729
y Ft(-u)g Fj(fd)258 b Fu(Read)31 b(input)e(from)h(\014le)g(descriptor)h
Fr(fd)p Fu(.)150 4742 y Ft(readarray)870 4852 y(readarray)45
Fr(fd)p Fu(.)150 4881 y Ft(readarray)870 4990 y(readarray)45
b([-d)i Fj(delim)p Ft(])f([-n)h Fj(count)p Ft(])f([-O)h
Fj(origin)p Ft(])f([-s)h Fj(count)p Ft(])f([-t])h([-u)g
Fj(fd)p Ft(])1061 4961 y([-C)g Fj(callback)p Ft(])e([-c)i
Fj(quantum)p Ft(])f([)p Fj(array)p Ft(])630 5096 y Fu(Read)38
Fj(fd)p Ft(])1061 5100 y([-C)g Fj(callback)p Ft(])e([-c)i
Fj(quantum)p Ft(])f([)p Fj(array)p Ft(])630 5230 y Fu(Read)38
b(lines)f(from)g(the)h(standard)e(input)g(in)m(to)j(the)e(indexed)g
(arra)m(y)h(v)-5 b(ariable)38 b Fr(arra)m(y)p Fu(,)i(or)630
5205 y(from)30 b(\014le)g(descriptor)h Fr(fd)i Fu(if)d(the)h
Ft(-u)e Fu(option)i(is)g(supplied.)630 5340 y(A)f(synon)m(ym)g(for)g
Ft(mapfile)p Fu(.)p eop end
5340 y(from)30 b(\014le)g(descriptor)h Fr(fd)i Fu(if)d(the)h
Ft(-u)e Fu(option)i(is)g(supplied.)p eop end
%%Page: 57 63
TeXDict begin 57 62 bop 150 -116 a Fu(Chapter)30 b(4:)41
b(Shell)30 b(Builtin)h(Commands)2069 b(57)150 299 y Ft(source)870
435 y(source)46 b Fj(filename)630 571 y Fu(A)30 b(synon)m(ym)g(for)g
b(Shell)30 b(Builtin)h(Commands)2069 b(57)630 299 y(A)30
b(synon)m(ym)g(for)g Ft(mapfile)p Fu(.)150 462 y Ft(source)870
598 y(source)46 b Fj(filename)630 734 y Fu(A)30 b(synon)m(ym)g(for)g
Ft(.)g Fu(\(see)i(Section)f(4.1)g([Bourne)g(Shell)f(Builtins],)h(page)g
(41\).)150 734 y Ft(type)870 870 y(type)47 b([-afptP])e([)p
Fj(name)i Ft(...)o(])630 1006 y Fu(F)-8 b(or)42 b(eac)m(h)g
(41\).)150 897 y Ft(type)870 1033 y(type)47 b([-afptP])e([)p
Fj(name)i Ft(...)o(])630 1169 y Fu(F)-8 b(or)42 b(eac)m(h)g
Fr(name)p Fu(,)i(indicate)e(ho)m(w)g(it)f(w)m(ould)g(b)s(e)g(in)m
(terpreted)g(if)g(used)f(as)i(a)f(command)630 1116 y(name.)630
1252 y(If)g(the)g Ft(-t)g Fu(option)h(is)f(used,)j Ft(type)c
(terpreted)g(if)g(used)f(as)i(a)f(command)630 1279 y(name.)630
1415 y(If)g(the)g Ft(-t)g Fu(option)h(is)f(used,)j Ft(type)c
Fu(prin)m(ts)h(a)h(single)g(w)m(ord)f(whic)m(h)g(is)g(one)h(of)g(`)p
Ft(alias)p Fu(',)630 1362 y(`)p Ft(function)p Fu(',)32
Ft(alias)p Fu(',)630 1524 y(`)p Ft(function)p Fu(',)32
b(`)p Ft(builtin)p Fu(',)g(`)p Ft(file)p Fu(')g(or)h(`)p
Ft(keyword)p Fu(',)f(if)h Fr(name)38 b Fu(is)33 b(an)f(alias,)j(shell)e
(function,)630 1471 y(shell)i(builtin,)g(disk)g(\014le,)h(or)e(shell)h
(function,)630 1634 y(shell)i(builtin,)g(disk)g(\014le,)h(or)e(shell)h
(reserv)m(ed)g(w)m(ord,)h(resp)s(ectiv)m(ely)-8 b(.)55
b(If)34 b(the)h Fr(name)40 b Fu(is)35 b(not)630 1581
b(If)34 b(the)h Fr(name)40 b Fu(is)35 b(not)630 1743
y(found,)29 b(then)h(nothing)h(is)f(prin)m(ted,)g(and)g
Ft(type)f Fu(returns)g(a)i(failure)g(status.)630 1717
Ft(type)f Fu(returns)g(a)i(failure)g(status.)630 1880
y(If)25 b(the)g Ft(-p)g Fu(option)h(is)f(used,)h Ft(type)e
Fu(either)h(returns)g(the)g(name)g(of)h(the)f(disk)g(\014le)g(that)h(w)
m(ould)630 1826 y(b)s(e)k(executed,)h(or)g(nothing)f(if)g
m(ould)630 1989 y(b)s(e)k(executed,)h(or)g(nothing)f(if)g
Ft(-t)g Fu(w)m(ould)g(not)h(return)e(`)p Ft(file)p Fu('.)630
1963 y(The)h Ft(-P)g Fu(option)h(forces)g(a)g(path)f(searc)m(h)h(for)g
2125 y(The)h Ft(-P)g Fu(option)h(forces)g(a)g(path)f(searc)m(h)h(for)g
(eac)m(h)g Fr(name)p Fu(,)g(ev)m(en)g(if)g Ft(-t)f Fu(w)m(ould)g(not)h
(return)630 2072 y(`)p Ft(file)p Fu('.)630 2208 y(If)f(a)g(command)g
(return)630 2235 y(`)p Ft(file)p Fu('.)630 2371 y(If)f(a)g(command)g
(is)g(hashed,)f Ft(-p)h Fu(and)f Ft(-P)g Fu(prin)m(t)h(the)g(hashed)f
(v)-5 b(alue,)31 b(whic)m(h)f(is)g(not)g(neces-)630 2318
(v)-5 b(alue,)31 b(whic)m(h)f(is)g(not)g(neces-)630 2481
y(sarily)h(the)f(\014le)h(that)g(app)s(ears)e(\014rst)h(in)g
Ft($PATH)p Fu(.)630 2454 y(If)22 b(the)i Ft(-a)e Fu(option)h(is)g
Ft($PATH)p Fu(.)630 2617 y(If)22 b(the)i Ft(-a)e Fu(option)h(is)g
(used,)h Ft(type)e Fu(returns)f(all)j(of)f(the)g(places)h(that)f(con)m
(tain)i(an)d(executable)630 2564 y(named)32 b Fr(\014le)p
(tain)i(an)d(executable)630 2726 y(named)32 b Fr(\014le)p
Fu(.)49 b(This)32 b(includes)h(aliases)h(and)e(functions,)i(if)f(and)f
(only)h(if)g(the)g Ft(-p)f Fu(option)i(is)630 2673 y(not)d(also)g
(used.)630 2809 y(If)f(the)g Ft(-f)g Fu(option)g(is)h(used,)e
(only)h(if)g(the)g Ft(-p)f Fu(option)i(is)630 2836 y(not)d(also)g
(used.)630 2972 y(If)f(the)g Ft(-f)g Fu(option)g(is)h(used,)e
Ft(type)g Fu(do)s(es)h(not)h(attempt)g(to)g(\014nd)d(shell)j
(functions,)f(as)g(with)630 2919 y(the)h Ft(command)d
Fu(builtin.)630 3055 y(The)j(return)f(status)h(is)g(zero)h(if)f(all)h
(functions,)f(as)g(with)630 3082 y(the)h Ft(command)d
Fu(builtin.)630 3218 y(The)j(return)f(status)h(is)g(zero)h(if)f(all)h
(of)f(the)h Fr(names)i Fu(are)e(found,)e(non-zero)i(if)f(an)m(y)g(are)h
(not)630 3165 y(found.)150 3328 y Ft(typeset)870 3464
(not)630 3328 y(found.)150 3490 y Ft(typeset)870 3626
y(typeset)46 b([-afFgrxilnrtux])d([-p])k([)p Fj(name)p
Ft([=)p Fj(value)p Ft(])d(...)o(])630 3600 y Fu(The)31
Ft([=)p Fj(value)p Ft(])d(...)o(])630 3763 y Fu(The)31
b Ft(typeset)e Fu(command)i(is)g(supplied)f(for)h(compatibilit)m(y)i
(with)e(the)g(Korn)f(shell.)44 b(It)31 b(is)630 3709
(with)e(the)g(Korn)f(shell.)44 b(It)31 b(is)630 3872
y(a)g(synon)m(ym)f(for)g(the)g Ft(declare)f Fu(builtin)h(command.)150
3872 y Ft(ulimit)870 4008 y(ulimit)46 b([-HSabcdefiklmnpqrstuvxPT)o(])c
([)p Fj(limit)p Ft(])630 4144 y(ulimit)25 b Fu(pro)m(vides)h(con)m
4035 y Ft(ulimit)870 4171 y(ulimit)46 b([-HSabcdefiklmnpqrstuvxPT)o(])c
([)p Fj(limit)p Ft(])630 4307 y(ulimit)25 b Fu(pro)m(vides)h(con)m
(trol)i(o)m(v)m(er)g(the)f(resources)f(a)m(v)-5 b(ailable)29
b(to)e(pro)s(cesses)f(started)h(b)m(y)g(the)630 4254
b(to)e(pro)s(cesses)f(started)h(b)m(y)g(the)630 4417
y(shell,)i(on)f(systems)g(that)h(allo)m(w)h(suc)m(h)e(con)m(trol.)41
b(If)28 b(an)g(option)h(is)f(giv)m(en,)i(it)e(is)h(in)m(terpreted)630
4364 y(as)i(follo)m(ws:)630 4526 y Ft(-S)384 b Fu(Change)30
4526 y(as)i(follo)m(ws:)630 4689 y Ft(-S)384 b Fu(Change)30
b(and)g(rep)s(ort)g(the)g(soft)h(limit)g(asso)s(ciated)h(with)e(a)h
(resource.)630 4689 y Ft(-H)384 b Fu(Change)30 b(and)g(rep)s(ort)g(the)
(resource.)630 4852 y Ft(-H)384 b Fu(Change)30 b(and)g(rep)s(ort)g(the)
g(hard)g(limit)h(asso)s(ciated)h(with)e(a)h(resource.)630
4852 y Ft(-a)384 b Fu(All)31 b(curren)m(t)f(limits)h(are)g(rep)s
(orted.)630 5015 y Ft(-b)384 b Fu(The)30 b(maxim)m(um)g(so)s(c)m(k)m
(et)i(bu\013er)e(size.)630 5177 y Ft(-c)384 b Fu(The)30
b(maxim)m(um)g(size)h(of)g(core)g(\014les)f(created.)630
5340 y Ft(-d)384 b Fu(The)30 b(maxim)m(um)g(size)h(of)g(a)g(pro)s
(cess's)f(data)h(segmen)m(t.)p eop end
5015 y Ft(-a)384 b Fu(All)31 b(curren)m(t)f(limits)h(are)g(rep)s
(orted.)630 5177 y Ft(-b)384 b Fu(The)30 b(maxim)m(um)g(so)s(c)m(k)m
(et)i(bu\013er)e(size.)630 5340 y Ft(-c)384 b Fu(The)30
b(maxim)m(um)g(size)h(of)g(core)g(\014les)f(created.)p
eop end
%%Page: 58 64
TeXDict begin 58 63 bop 150 -116 a Fu(Chapter)30 b(4:)41
b(Shell)30 b(Builtin)h(Commands)2069 b(58)630 299 y Ft(-e)384
b Fu(The)30 b(maxim)m(um)g(sc)m(heduling)h(priorit)m(y)f(\()p
Ft(")p Fu(nice)p Ft(")p Fu(\).)630 464 y Ft(-f)384 b
Fu(The)30 b(maxim)m(um)g(size)h(of)g(\014les)f(written)h(b)m(y)f(the)g
(shell)h(and)f(its)h(c)m(hildren.)630 628 y Ft(-i)384
b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(p)s(ending)e
(signals.)630 793 y Ft(-k)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s
(er)f(of)i(kqueues)f(that)h(ma)m(y)g(b)s(e)e(allo)s(cated.)630
957 y Ft(-l)384 b Fu(The)30 b(maxim)m(um)g(size)h(that)g(ma)m(y)g(b)s
(e)f(lo)s(c)m(k)m(ed)i(in)m(to)f(memory)-8 b(.)630 1122
b(Shell)30 b(Builtin)h(Commands)2069 b(58)630 299 y Ft(-d)384
b Fu(The)30 b(maxim)m(um)g(size)h(of)g(a)g(pro)s(cess's)f(data)h
(segmen)m(t.)630 455 y Ft(-e)384 b Fu(The)30 b(maxim)m(um)g(sc)m
(heduling)h(priorit)m(y)f(\()p Ft(")p Fu(nice)p Ft(")p
Fu(\).)630 612 y Ft(-f)384 b Fu(The)30 b(maxim)m(um)g(size)h(of)g
(\014les)f(written)h(b)m(y)f(the)g(shell)h(and)f(its)h(c)m(hildren.)630
769 y Ft(-i)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(p)s
(ending)e(signals.)630 925 y Ft(-k)384 b Fu(The)30 b(maxim)m(um)g(n)m
(um)m(b)s(er)f(of)i(kqueues)f(that)h(ma)m(y)g(b)s(e)e(allo)s(cated.)630
1082 y Ft(-l)384 b Fu(The)30 b(maxim)m(um)g(size)h(that)g(ma)m(y)g(b)s
(e)f(lo)s(c)m(k)m(ed)i(in)m(to)f(memory)-8 b(.)630 1238
y Ft(-m)384 b Fu(The)36 b(maxim)m(um)g(residen)m(t)h(set)g(size)g
(\(man)m(y)g(systems)f(do)h(not)f(honor)g(this)1110 1232
y(limit\).)630 1396 y Ft(-n)384 b Fu(The)38 b(maxim)m(um)h(n)m(um)m(b)s
(\(man)m(y)g(systems)f(do)h(not)f(honor)g(this)1110 1348
y(limit\).)630 1505 y Ft(-n)384 b Fu(The)38 b(maxim)m(um)h(n)m(um)m(b)s
(er)e(of)i(op)s(en)f(\014le)h(descriptors)g(\(most)g(systems)g(do)1110
1506 y(not)31 b(allo)m(w)g(this)g(v)-5 b(alue)31 b(to)g(b)s(e)e(set\).)
630 1670 y Ft(-p)384 b Fu(The)30 b(pip)s(e)f(bu\013er)h(size.)630
1835 y Ft(-q)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(b)m
(ytes)g(in)f(POSIX)f(message)j(queues.)630 2000 y Ft(-r)384
1614 y(not)31 b(allo)m(w)g(this)g(v)-5 b(alue)31 b(to)g(b)s(e)e(set\).)
630 1771 y Ft(-p)384 b Fu(The)30 b(pip)s(e)f(bu\013er)h(size.)630
1927 y Ft(-q)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(b)m
(ytes)g(in)f(POSIX)f(message)j(queues.)630 2084 y Ft(-r)384
b Fu(The)30 b(maxim)m(um)g(real-time)i(sc)m(heduling)f(priorit)m(y)-8
b(.)630 2164 y Ft(-s)384 b Fu(The)30 b(maxim)m(um)g(stac)m(k)i(size.)
630 2329 y Ft(-t)384 b Fu(The)30 b(maxim)m(um)g(amoun)m(t)h(of)f(cpu)g
(time)h(in)f(seconds.)630 2494 y Ft(-u)384 b Fu(The)30
b(.)630 2241 y Ft(-s)384 b Fu(The)30 b(maxim)m(um)g(stac)m(k)i(size.)
630 2397 y Ft(-t)384 b Fu(The)30 b(maxim)m(um)g(amoun)m(t)h(of)f(cpu)g
(time)h(in)f(seconds.)630 2554 y Ft(-u)384 b Fu(The)30
b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(pro)s(cesses)f(a)m(v)-5
b(ailable)33 b(to)e(a)f(single)i(user.)630 2658 y Ft(-v)384
b(ailable)33 b(to)e(a)f(single)i(user.)630 2710 y Ft(-v)384
b Fu(The)41 b(maxim)m(um)h(amoun)m(t)g(of)h(virtual)f(memory)g(a)m(v)-5
b(ailable)44 b(to)e(the)g(shell,)1110 2768 y(and,)30
b(ailable)44 b(to)e(the)g(shell,)1110 2820 y(and,)30
b(on)g(some)h(systems,)g(to)g(its)g(c)m(hildren.)630
2932 y Ft(-x)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
(\014le)f(lo)s(c)m(ks.)630 3097 y Ft(-P)384 b Fu(The)30
2977 y Ft(-x)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
(\014le)f(lo)s(c)m(ks.)630 3133 y Ft(-P)384 b Fu(The)30
b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i(pseudoterminals.)630
3262 y Ft(-T)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
(threads.)630 3426 y(If)36 b Fr(limit)k Fu(is)c(giv)m(en,)k(and)c(the)h
3290 y Ft(-T)384 b Fu(The)30 b(maxim)m(um)g(n)m(um)m(b)s(er)f(of)i
(threads.)630 3446 y(If)36 b Fr(limit)k Fu(is)c(giv)m(en,)k(and)c(the)h
Ft(-a)f Fu(option)h(is)f(not)h(used,)h Fr(limit)h Fu(is)e(the)g(new)f
(v)-5 b(alue)37 b(of)g(the)630 3536 y(sp)s(eci\014ed)c(resource.)51
(v)-5 b(alue)37 b(of)g(the)630 3556 y(sp)s(eci\014ed)c(resource.)51
b(The)34 b(sp)s(ecial)g Fr(limit)j Fu(v)-5 b(alues)34
b Ft(hard)p Fu(,)g Ft(soft)p Fu(,)g(and)f Ft(unlimited)e
Fu(stand)630 3645 y(for)h(the)g(curren)m(t)g(hard)f(limit,)i(the)g
Fu(stand)630 3665 y(for)h(the)g(curren)m(t)g(hard)f(limit,)i(the)g
(curren)m(t)f(soft)g(limit,)h(and)f(no)g(limit,)h(resp)s(ectiv)m(ely)-8
b(.)48 b(A)630 3755 y(hard)37 b(limit)h(cannot)h(b)s(e)e(increased)h(b)
b(.)48 b(A)630 3775 y(hard)37 b(limit)h(cannot)h(b)s(e)e(increased)h(b)
m(y)f(a)h(non-ro)s(ot)g(user)f(once)i(it)f(is)g(set;)k(a)c(soft)g
(limit)630 3865 y(ma)m(y)j(b)s(e)e(increased)i(up)e(to)h(the)h(v)-5
(limit)630 3885 y(ma)m(y)j(b)s(e)e(increased)i(up)e(to)h(the)h(v)-5
b(alue)40 b(of)g(the)h(hard)e(limit.)70 b(Otherwise,)43
b(the)d(curren)m(t)630 3974 y(v)-5 b(alue)29 b(of)h(the)f(soft)g(limit)
b(the)d(curren)m(t)630 3994 y(v)-5 b(alue)29 b(of)h(the)f(soft)g(limit)
h(for)e(the)h(sp)s(eci\014ed)g(resource)g(is)g(prin)m(ted,)g(unless)f
(the)h Ft(-H)f Fu(option)630 4084 y(is)h(supplied.)39
(the)h Ft(-H)f Fu(option)630 4104 y(is)h(supplied.)39
b(When)29 b(setting)h(new)f(limits,)h(if)f(neither)g
Ft(-H)g Fu(nor)f Ft(-S)h Fu(is)g(supplied,)f(b)s(oth)h(the)630
4193 y(hard)i(and)h(soft)h(limits)g(are)f(set.)48 b(If)31
4213 y(hard)i(and)h(soft)h(limits)g(are)f(set.)48 b(If)31
b(no)i(option)f(is)h(giv)m(en,)h(then)e Ft(-f)g Fu(is)g(assumed.)46
b(V)-8 b(alues)630 4303 y(are)38 b(in)g(1024-b)m(yte)i(incremen)m(ts,)g
b(V)-8 b(alues)630 4323 y(are)38 b(in)g(1024-b)m(yte)i(incremen)m(ts,)g
(except)f(for)f Ft(-t)p Fu(,)h(whic)m(h)e(is)h(in)g(seconds;)j
Ft(-p)p Fu(,)e(whic)m(h)f(is)630 4413 y(in)32 b(units)f(of)h(512-b)m
Ft(-p)p Fu(,)e(whic)m(h)f(is)630 4433 y(in)32 b(units)f(of)h(512-b)m
(yte)j(blo)s(c)m(ks;)e(and)f Ft(-P)p Fu(,)g Ft(-T)p Fu(,)g
Ft(-b)p Fu(,)g Ft(-k)p Fu(,)g Ft(-n)f Fu(and)h Ft(-u)p
Fu(,)g(whic)m(h)g(are)g(unscaled)630 4522 y(v)-5 b(alues.)630
4659 y(The)34 b(return)g(status)h(is)f(zero)i(unless)e(an)g(in)m(v)-5
Fu(,)g(whic)m(h)g(are)g(unscaled)630 4542 y(v)-5 b(alues.)630
4675 y(The)34 b(return)g(status)h(is)f(zero)i(unless)e(an)g(in)m(v)-5
b(alid)36 b(option)f(or)f(argumen)m(t)i(is)e(supplied,)h(or)630
4769 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f(limit.)
150 4933 y Ft(unalias)870 5071 y(unalias)46 b([-a])g([)p
4785 y(an)30 b(error)g(o)s(ccurs)g(while)h(setting)g(a)g(new)f(limit.)
150 4941 y Ft(unalias)870 5075 y(unalias)46 b([-a])g([)p
Fj(name)h Ft(...)g(])630 5208 y Fu(Remo)m(v)m(e)42 b(eac)m(h)f
Fr(name)k Fu(from)39 b(the)i(list)f(of)g(aliases.)71
b(If)40 b Ft(-a)f Fu(is)h(supplied,)h(all)g(aliases)h(are)630
@@ -13902,66 +13907,68 @@ b(Bash)30 b(F)-8 b(eatures)2484 b(82)275 299 y(A)27 b
Fl(lo)-5 b(gin)35 b Fu(shell)27 b(is)g(one)h(whose)f(\014rst)f(c)m
(haracter)j(of)e(argumen)m(t)h(zero)f(is)h(`)p Ft(-)p
Fu(',)g(or)f(one)g(in)m(v)m(ok)m(ed)i(with)e(the)150
408 y Ft(--login)h Fu(option.)275 546 y(An)g Fl(inter)-5
408 y Ft(--login)h Fu(option.)275 538 y(An)g Fl(inter)-5
b(active)37 b Fu(shell)30 b(is)f(one)g(started)h(without)f(non-option)h
(argumen)m(ts,)g(unless)e Ft(-s)h Fu(is)g(sp)s(eci\014ed,)150
656 y(without)k(sp)s(ecifying)h(the)f Ft(-c)g Fu(option,)i(and)e(whose)
648 y(without)k(sp)s(ecifying)h(the)f Ft(-c)g Fu(option,)i(and)e(whose)
g(input)g(and)f(output)h(are)h(b)s(oth)f(connected)h(to)g(ter-)150
766 y(minals)g(\(as)g(determined)f(b)m(y)h Ft(isatty\(3\))p
757 y(minals)g(\(as)g(determined)f(b)m(y)h Ft(isatty\(3\))p
Fu(\),)e(or)i(one)g(started)g(with)f(the)h Ft(-i)f Fu(option.)51
b(See)33 b(Section)i(6.3)150 875 y([In)m(teractiv)m(e)e(Shells],)e
(page)g(83,)g(for)f(more)h(information.)275 1013 y(If)i(argumen)m(ts)h
b(See)33 b(Section)i(6.3)150 867 y([In)m(teractiv)m(e)e(Shells],)e
(page)g(83,)g(for)f(more)h(information.)275 997 y(If)i(argumen)m(ts)h
(remain)g(after)h(option)f(pro)s(cessing,)h(and)e(neither)h(the)g
Ft(-c)g Fu(nor)f(the)h Ft(-s)g Fu(option)g(has)150 1123
Ft(-c)g Fu(nor)f(the)h Ft(-s)g Fu(option)g(has)150 1106
y(b)s(een)44 b(supplied,)j(the)d(\014rst)g(argumen)m(t)h(is)g(assumed)e
(to)j(b)s(e)d(the)i(name)g(of)f(a)h(\014le)g(con)m(taining)h(shell)150
1232 y(commands)30 b(\(see)g(Section)h(3.8)g([Shell)f(Scripts],)g(page)
1216 y(commands)30 b(\(see)g(Section)h(3.8)g([Shell)f(Scripts],)g(page)
h(40\).)41 b(When)30 b(Bash)g(is)g(in)m(v)m(ok)m(ed)i(in)d(this)h
(fashion,)150 1342 y Ft($0)37 b Fu(is)g(set)h(to)h(the)e(name)h(of)f
(fashion,)150 1326 y Ft($0)37 b Fu(is)g(set)h(to)h(the)e(name)h(of)f
(the)h(\014le,)i(and)c(the)i(p)s(ositional)g(parameters)g(are)g(set)g
(to)g(the)g(remaining)150 1451 y(argumen)m(ts.)h(Bash)26
(to)g(the)g(remaining)150 1435 y(argumen)m(ts.)h(Bash)26
b(reads)f(and)g(executes)h(commands)f(from)g(this)g(\014le,)i(then)e
(exits.)40 b(Bash's)25 b(exit)i(status)150 1561 y(is)f(the)h(exit)h
(exits.)40 b(Bash's)25 b(exit)i(status)150 1545 y(is)f(the)h(exit)h
(status)e(of)h(the)g(last)g(command)f(executed)h(in)g(the)f(script.)40
b(If)26 b(no)g(commands)g(are)h(executed,)150 1671 y(the)k(exit)g
(status)g(is)f(0.)150 1908 y Fs(6.2)68 b(Bash)45 b(Startup)g(Files)150
2068 y Fu(This)23 b(section)j(describ)s(es)d(ho)m(w)i(Bash)f(executes)h
b(If)26 b(no)g(commands)g(are)h(executed,)150 1654 y(the)k(exit)g
(status)g(is)f(0.)150 1877 y Fs(6.2)68 b(Bash)45 b(Startup)g(Files)150
2037 y Fu(This)23 b(section)j(describ)s(es)d(ho)m(w)i(Bash)f(executes)h
(its)g(startup)f(\014les.)38 b(If)24 b(an)m(y)h(of)f(the)h(\014les)f
(exist)h(but)e(cannot)150 2177 y(b)s(e)29 b(read,)i(Bash)f(rep)s(orts)f
(exist)h(but)e(cannot)150 2146 y(b)s(e)29 b(read,)i(Bash)f(rep)s(orts)f
(an)h(error.)40 b(Tildes)30 b(are)g(expanded)f(in)h(\014lenames)g(as)g
(describ)s(ed)f(ab)s(o)m(v)m(e)i(under)150 2287 y(Tilde)f(Expansion)g
(describ)s(ed)f(ab)s(o)m(v)m(e)i(under)150 2256 y(Tilde)f(Expansion)g
(\(see)h(Section)h(3.5.2)g([Tilde)e(Expansion],)h(page)g(22\).)275
2425 y(In)m(teractiv)m(e)h(shells)f(are)g(describ)s(ed)e(in)h(Section)h
2386 y(In)m(teractiv)m(e)h(shells)f(are)g(describ)s(ed)e(in)h(Section)h
(6.3)h([In)m(teractiv)m(e)h(Shells],)d(page)h(83.)150
2627 y Fk(In)m(v)m(ok)m(ed)40 b(as)h(an)f(in)m(teractiv)m(e)f(login)j
(shell,)g(or)g(with)e Fh(--login)150 2774 y Fu(When)c(Bash)f(is)h(in)m
2576 y Fk(In)m(v)m(ok)m(ed)40 b(as)h(an)f(in)m(teractiv)m(e)f(login)j
(shell,)g(or)g(with)e Fh(--login)150 2723 y Fu(When)c(Bash)f(is)h(in)m
(v)m(ok)m(ed)h(as)f(an)g(in)m(teractiv)m(e)j(login)d(shell,)i(or)e(as)g
(a)g(non-in)m(teractiv)m(e)i(shell)e(with)g(the)150 2884
(a)g(non-in)m(teractiv)m(e)i(shell)e(with)g(the)150 2832
y Ft(--login)30 b Fu(option,)k(it)f(\014rst)e(reads)h(and)g(executes)i
(commands)e(from)f(the)i(\014le)f Ft(/etc/profile)p Fu(,)e(if)i(that)
150 2993 y(\014le)44 b(exists.)80 b(After)44 b(reading)g(that)g
150 2942 y(\014le)44 b(exists.)80 b(After)44 b(reading)g(that)g
(\014le,)j(it)d(lo)s(oks)g(for)f Ft(~/.bash_profile)p
Fu(,)g Ft(~/.bash_login)p Fu(,)h(and)150 3103 y Ft(~/.profile)p
Fu(,)g Ft(~/.bash_login)p Fu(,)h(and)150 3051 y Ft(~/.profile)p
Fu(,)25 b(in)i(that)g(order,)h(and)e(reads)h(and)f(executes)j(commands)
d(from)h(the)g(\014rst)f(one)i(that)f(exists)150 3213
d(from)h(the)g(\014rst)f(one)i(that)f(exists)150 3161
y(and)j(is)h(readable.)42 b(The)30 b Ft(--noprofile)d
Fu(option)k(ma)m(y)g(b)s(e)f(used)g(when)g(the)h(shell)f(is)h(started)g
(to)g(inhibit)150 3322 y(this)f(b)s(eha)m(vior.)275 3460
y(When)38 b(a)h(login)h(shell)f(exits,)j(Bash)d(reads)f(and)h(executes)
h(commands)e(from)g(the)h(\014le)g Ft(~/.bash_)150 3570
y(logout)p Fu(,)29 b(if)h(it)h(exists.)150 3772 y Fk(In)m(v)m(ok)m(ed)
40 b(as)h(an)f(in)m(teractiv)m(e)f(non-login)k(shell)150
3919 y Fu(When)g(an)h(in)m(teractiv)m(e)i(shell)e(that)g(is)f(not)h(a)g
(to)g(inhibit)150 3271 y(this)f(b)s(eha)m(vior.)275 3400
y(When)h(an)g(in)m(teractiv)m(e)k(login)d(shell)g(exits,)h(or)f(a)g
(non-in)m(teractiv)m(e)i(login)f(shell)e(executes)i(the)f
Ft(exit)150 3510 y Fu(builtin)g(command,)i(Bash)e(reads)h(and)f
(executes)i(commands)e(from)g(the)h(\014le)g Ft(~/.bash_logout)p
Fu(,)d(if)i(it)150 3619 y(exists.)150 3809 y Fk(In)m(v)m(ok)m(ed)40
b(as)h(an)f(in)m(teractiv)m(e)f(non-login)k(shell)150
3956 y Fu(When)g(an)h(in)m(teractiv)m(e)i(shell)e(that)g(is)f(not)h(a)g
(login)g(shell)g(is)f(started,)48 b(Bash)c(reads)f(and)g(executes)150
4029 y(commands)31 b(from)g Ft(~/.bashrc)p Fu(,)f(if)h(that)h(\014le)g
4066 y(commands)31 b(from)g Ft(~/.bashrc)p Fu(,)f(if)h(that)h(\014le)g
(exists.)44 b(This)31 b(ma)m(y)h(b)s(e)f(inhibited)g(b)m(y)g(using)g
(the)h Ft(--norc)150 4138 y Fu(option.)40 b(The)27 b
(the)h Ft(--norc)150 4175 y Fu(option.)40 b(The)27 b
Ft(--rcfile)h Fj(file)e Fu(option)h(will)g(force)h(Bash)f(to)h(read)f
(and)f(execute)j(commands)d(from)h Fr(\014le)150 4248
y Fu(instead)k(of)f Ft(~/.bashrc)p Fu(.)275 4386 y(So,)g(t)m(ypically)
(and)f(execute)j(commands)d(from)h Fr(\014le)150 4285
y Fu(instead)k(of)f Ft(~/.bashrc)p Fu(.)275 4415 y(So,)g(t)m(ypically)
-8 b(,)33 b(y)m(our)d Ft(~/.bash_profile)c Fu(con)m(tains)32
b(the)f(line)390 4524 y Ft(if)47 b([)h(-f)f(~/.bashrc)e(];)i(then)g(.)g
(~/.bashrc;)e(fi)150 4662 y Fu(after)31 b(\(or)g(b)s(efore\))f(an)m(y)h
b(the)f(line)390 4545 y Ft(if)47 b([)h(-f)f(~/.bashrc)e(];)i(then)g(.)g
(~/.bashrc;)e(fi)150 4674 y Fu(after)31 b(\(or)g(b)s(efore\))f(an)m(y)h
(login-sp)s(eci\014c)g(initializations.)150 4864 y Fk(In)m(v)m(ok)m(ed)
40 b(non-in)m(teractiv)m(ely)150 5011 y Fu(When)33 b(Bash)g(is)g
(started)h(non-in)m(teractiv)m(ely)-8 b(,)37 b(to)d(run)e(a)h(shell)h
@@ -15708,10 +15715,10 @@ Fu(')j(\(the)i(default\),)i(Readline)e(attempts)g(to)h(ring)e(the)g
y(Readline)h(equiv)-5 b(alen)m(ts.)630 3039 y Ft(blink-matching-paren)
1110 3148 y Fu(If)36 b(set)g(to)h(`)p Ft(on)p Fu(',)h(Readline)f
(attempts)g(to)g(brie\015y)e(mo)m(v)m(e)j(the)f(cursor)e(to)i(an)1110
3258 y(op)s(ening)30 b(paren)m(thesis)h(when)e(a)i(closing)h(paren)m
(thsis)e(is)h(inserted.)41 b(The)30 b(de-)1110 3367 y(fault)h(is)f(`)p
Ft(off)p Fu('.)630 3532 y Ft(colored-completion-prefi)o(x)1110
3641 y Fu(If)f(set)h(to)g(`)p Ft(on)p Fu(',)g(when)e(listing)i
3258 y(op)s(ening)k(paren)m(thesis)h(when)f(a)h(closing)h(paren)m
(thesis)e(is)h(inserted.)74 b(The)1110 3367 y(default)31
b(is)f(`)p Ft(off)p Fu('.)630 3532 y Ft(colored-completion-prefi)o(x)
1110 3641 y Fu(If)f(set)h(to)g(`)p Ft(on)p Fu(',)g(when)e(listing)i
(completions,)h(Readline)f(displa)m(ys)g(the)f(com-)1110
3751 y(mon)c(pre\014x)f(of)i(the)f(set)h(of)g(p)s(ossible)f
(completions)h(using)f(a)h(di\013eren)m(t)g(color.)1110
+9
View File
@@ -3273,6 +3273,12 @@ if @var{filename} is not found in @env{$PATH}.
If any @var{arguments} are supplied, they become the positional
parameters when @var{filename} is executed. Otherwise the positional
parameters are unchanged.
If the @option{-T} option is enabled, @code{source} inherits any trap on
@code{DEBUG}; if it is not, any @code{DEBUG} trap string is saved and
restored around the call to @code{source}, and @code{source} unsets the
@code{DEBUG} trap while it executes.
If @option{-T} is not set, and the sourced file changes
the @code{DEBUG} trap, the new value is retained when @code{source} completes.
The return status is the exit status of the last command executed, or
zero if no commands are executed. If @var{filename} is not found, or
cannot be read, the return status is non-zero.
@@ -4391,6 +4397,9 @@ than waiting for a complete line of input, unless EOF is encountered or
Delimiter characters encountered in the input are
not treated specially and do not cause @code{read} to return until
@var{nchars} characters are read.
The result is not split on the characters in @code{IFS}; the intent is
that the variable is assigned exactly the characters read
(with the exception of backslash; see the @option{-r} option below).
@item -p @var{prompt}
Display @var{prompt}, without a trailing newline, before attempting
+82 -78
View File
@@ -808,138 +808,139 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
--OO Begin assigning to _a_r_r_a_y at index _o_r_i_g_i_n. The default
index is 0.
--ss Discard the first _c_o_u_n_t lines read.
--tt Remove a trailing newline from each line read.
--uu Read lines from file descriptor _f_d instead of the stan-
--tt Remove a trailing _d_e_l_i_m (default newline) from each line
read.
--uu Read lines from file descriptor _f_d instead of the stan-
dard input.
--CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The
--CC Evaluate _c_a_l_l_b_a_c_k each time _q_u_a_n_t_u_m lines are read. The
--cc option specifies _q_u_a_n_t_u_m.
--cc Specify the number of lines read between each call to
--cc Specify the number of lines read between each call to
_c_a_l_l_b_a_c_k.
If --CC is specified without --cc, the default quantum is 5000.
If --CC is specified without --cc, the default quantum is 5000.
When _c_a_l_l_b_a_c_k is evaluated, it is supplied the index of the next
array element to be assigned and the line to be assigned to that
element as additional arguments. _c_a_l_l_b_a_c_k is evaluated after
element as additional arguments. _c_a_l_l_b_a_c_k is evaluated after
the line is read but before the array element is assigned.
If not supplied with an explicit origin, mmaappffiillee will clear
If not supplied with an explicit origin, mmaappffiillee will clear
_a_r_r_a_y before assigning to it.
mmaappffiillee returns successfully unless an invalid option or option
argument is supplied, _a_r_r_a_y is invalid or unassignable, or if
mmaappffiillee returns successfully unless an invalid option or option
argument is supplied, _a_r_r_a_y is invalid or unassignable, or if
_a_r_r_a_y is not an indexed array.
ppooppdd [-nn] [+_n] [-_n]
Removes entries from the directory stack. With no arguments,
removes the top directory from the stack, and performs a ccdd to
Removes entries from the directory stack. With no arguments,
removes the top directory from the stack, and performs a ccdd to
the new top directory. Arguments, if supplied, have the follow-
ing meanings:
--nn Suppresses the normal change of directory when removing
directories from the stack, so that only the stack is
--nn Suppresses the normal change of directory when removing
directories from the stack, so that only the stack is
manipulated.
++_n Removes the _nth entry counting from the left of the list
shown by ddiirrss, starting with zero. For example: ``popd
++_n Removes the _nth entry counting from the left of the list
shown by ddiirrss, starting with zero. For example: ``popd
+0'' removes the first directory, ``popd +1'' the second.
--_n Removes the _nth entry counting from the right of the list
shown by ddiirrss, starting with zero. For example: ``popd
-0'' removes the last directory, ``popd -1'' the next to
shown by ddiirrss, starting with zero. For example: ``popd
-0'' removes the last directory, ``popd -1'' the next to
last.
If the ppooppdd command is successful, a ddiirrss is performed as well,
and the return status is 0. ppooppdd returns false if an invalid
If the ppooppdd command is successful, a ddiirrss is performed as well,
and the return status is 0. ppooppdd returns false if an invalid
option is encountered, the directory stack is empty, a non-exis-
tent directory stack entry is specified, or the directory change
fails.
pprriinnttff [--vv _v_a_r] _f_o_r_m_a_t [_a_r_g_u_m_e_n_t_s]
Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the
control of the _f_o_r_m_a_t. The --vv option causes the output to be
assigned to the variable _v_a_r rather than being printed to the
Write the formatted _a_r_g_u_m_e_n_t_s to the standard output under the
control of the _f_o_r_m_a_t. The --vv option causes the output to be
assigned to the variable _v_a_r rather than being printed to the
standard output.
The _f_o_r_m_a_t is a character string which contains three types of
objects: plain characters, which are simply copied to standard
output, character escape sequences, which are converted and
copied to the standard output, and format specifications, each
of which causes printing of the next successive _a_r_g_u_m_e_n_t. In
The _f_o_r_m_a_t is a character string which contains three types of
objects: plain characters, which are simply copied to standard
output, character escape sequences, which are converted and
copied to the standard output, and format specifications, each
of which causes printing of the next successive _a_r_g_u_m_e_n_t. In
addition to the standard _p_r_i_n_t_f(1) format specifications, pprriinnttff
interprets the following extensions:
%%bb causes pprriinnttff to expand backslash escape sequences in the
corresponding _a_r_g_u_m_e_n_t (except that \\cc terminates output,
backslashes in \\'', \\"", and \\?? are not removed, and octal
backslashes in \\'', \\"", and \\?? are not removed, and octal
escapes beginning with \\00 may contain up to four digits).
%%qq causes pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a
%%qq causes pprriinnttff to output the corresponding _a_r_g_u_m_e_n_t in a
format that can be reused as shell input.
%%((_d_a_t_e_f_m_t))TT
causes pprriinnttff to output the date-time string resulting
from using _d_a_t_e_f_m_t as a format string for _s_t_r_f_t_i_m_e(3).
causes pprriinnttff to output the date-time string resulting
from using _d_a_t_e_f_m_t as a format string for _s_t_r_f_t_i_m_e(3).
The corresponding _a_r_g_u_m_e_n_t is an integer representing the
number of seconds since the epoch. Two special argument
values may be used: -1 represents the current time, and
-2 represents the time the shell was invoked. If no
argument is specified, conversion behaves as if -1 had
been given. This is an exception to the usual pprriinnttff
number of seconds since the epoch. Two special argument
values may be used: -1 represents the current time, and
-2 represents the time the shell was invoked. If no
argument is specified, conversion behaves as if -1 had
been given. This is an exception to the usual pprriinnttff
behavior.
Arguments to non-string format specifiers are treated as C con-
Arguments to non-string format specifiers are treated as C con-
stants, except that a leading plus or minus sign is allowed, and
if the leading character is a single or double quote, the value
if the leading character is a single or double quote, the value
is the ASCII value of the following character.
The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_-
The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_-
_m_e_n_t_s. If the _f_o_r_m_a_t requires more _a_r_g_u_m_e_n_t_s than are supplied,
the extra format specifications behave as if a zero value or
null string, as appropriate, had been supplied. The return
the extra format specifications behave as if a zero value or
null string, as appropriate, had been supplied. The return
value is zero on success, non-zero on failure.
ppuusshhdd [--nn] [+_n] [-_n]
ppuusshhdd [--nn] [_d_i_r]
Adds a directory to the top of the directory stack, or rotates
the stack, making the new top of the stack the current working
Adds a directory to the top of the directory stack, or rotates
the stack, making the new top of the stack the current working
directory. With no arguments, exchanges the top two directories
and returns 0, unless the directory stack is empty. Arguments,
and returns 0, unless the directory stack is empty. Arguments,
if supplied, have the following meanings:
--nn Suppresses the normal change of directory when adding
directories to the stack, so that only the stack is
--nn Suppresses the normal change of directory when adding
directories to the stack, so that only the stack is
manipulated.
++_n Rotates the stack so that the _nth directory (counting
from the left of the list shown by ddiirrss, starting with
++_n Rotates the stack so that the _nth directory (counting
from the left of the list shown by ddiirrss, starting with
zero) is at the top.
--_n Rotates the stack so that the _nth directory (counting
from the right of the list shown by ddiirrss, starting with
--_n Rotates the stack so that the _nth directory (counting
from the right of the list shown by ddiirrss, starting with
zero) is at the top.
_d_i_r Adds _d_i_r to the directory stack at the top, making it the
new current working directory as if it had been supplied
new current working directory as if it had been supplied
as the argument to the ccdd builtin.
If the ppuusshhdd command is successful, a ddiirrss is performed as well.
If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r
fails. With the second form, ppuusshhdd returns 0 unless the direc-
tory stack is empty, a non-existent directory stack element is
specified, or the directory change to the specified new current
If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r
fails. With the second form, ppuusshhdd returns 0 unless the direc-
tory stack is empty, a non-existent directory stack element is
specified, or the directory change to the specified new current
directory fails.
ppwwdd [--LLPP]
Print the absolute pathname of the current working directory.
Print the absolute pathname of the current working directory.
The pathname printed contains no symbolic links if the --PP option
is supplied or the --oo pphhyyssiiccaall option to the sseett builtin command
is enabled. If the --LL option is used, the pathname printed may
contain symbolic links. The return status is 0 unless an error
occurs while reading the name of the current directory or an
is enabled. If the --LL option is used, the pathname printed may
contain symbolic links. The return status is 0 unless an error
occurs while reading the name of the current directory or an
invalid option is supplied.
rreeaadd [--eerrss] [--aa _a_n_a_m_e] [--dd _d_e_l_i_m] [--ii _t_e_x_t] [--nn _n_c_h_a_r_s] [--NN _n_c_h_a_r_s] [--pp
_p_r_o_m_p_t] [--tt _t_i_m_e_o_u_t] [--uu _f_d] [_n_a_m_e ...]
One line is read from the standard input, or from the file
descriptor _f_d supplied as an argument to the --uu option, and the
One line is read from the standard input, or from the file
descriptor _f_d supplied as an argument to the --uu option, and the
first word is assigned to the first _n_a_m_e, the second word to the
second _n_a_m_e, and so on, with leftover words and their interven-
ing separators assigned to the last _n_a_m_e. If there are fewer
second _n_a_m_e, and so on, with leftover words and their interven-
ing separators assigned to the last _n_a_m_e. If there are fewer
words read from the input stream than names, the remaining names
are assigned empty values. The characters in IIFFSS are used to
split the line into words using the same rules the shell uses
are assigned empty values. The characters in IIFFSS are used to
split the line into words using the same rules the shell uses
for expansion (described above under WWoorrdd SSpplliittttiinngg). The back-
slash character (\\) may be used to remove any special meaning
slash character (\\) may be used to remove any special meaning
for the next character read and for line continuation. Options,
if supplied, have the following meanings:
--aa _a_n_a_m_e
@@ -948,27 +949,30 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
new values are assigned. Other _n_a_m_e arguments are
ignored.
--dd _d_e_l_i_m
The first character of _d_e_l_i_m is used to terminate the
The first character of _d_e_l_i_m is used to terminate the
input line, rather than newline.
--ee If the standard input is coming from a terminal, rreeaaddlliinnee
(see RREEAADDLLIINNEE above) is used to obtain the line. Read-
line uses the current (or default, if line editing was
(see RREEAADDLLIINNEE above) is used to obtain the line. Read-
line uses the current (or default, if line editing was
not previously active) editing settings.
--ii _t_e_x_t
If rreeaaddlliinnee is being used to read the line, _t_e_x_t is
If rreeaaddlliinnee is being used to read the line, _t_e_x_t is
placed into the editing buffer before editing begins.
--nn _n_c_h_a_r_s
rreeaadd returns after reading _n_c_h_a_r_s characters rather than
rreeaadd returns after reading _n_c_h_a_r_s characters rather than
waiting for a complete line of input, but honors a delim-
iter if fewer than _n_c_h_a_r_s characters are read before the
iter if fewer than _n_c_h_a_r_s characters are read before the
delimiter.
--NN _n_c_h_a_r_s
rreeaadd returns after reading exactly _n_c_h_a_r_s characters
rather than waiting for a complete line of input, unless
EOF is encountered or rreeaadd times out. Delimiter charac-
ters encountered in the input are not treated specially
and do not cause rreeaadd to return until _n_c_h_a_r_s characters
are read.
rreeaadd returns after reading exactly _n_c_h_a_r_s characters
rather than waiting for a complete line of input, unless
EOF is encountered or rreeaadd times out. Delimiter charac-
ters encountered in the input are not treated specially
and do not cause rreeaadd to return until _n_c_h_a_r_s characters
are read. The result is not split on the characters in
IIFFSS; the intent is that the variable is assigned exactly
the characters read (with the exception of backslash; see
the --rr option below).
--pp _p_r_o_m_p_t
Display _p_r_o_m_p_t on standard error, without a trailing new-
line, before attempting to read any input. The prompt is
+660 -652
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.2
%%CreationDate: Mon Feb 23 09:20:39 2015
%%CreationDate: Mon Apr 6 13:59:04 2015
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.22 2
+3 -3
View File
@@ -2,10 +2,10 @@
Copyright (C) 1988-2015 Free Software Foundation, Inc.
@end ignore
@set LASTCHANGE Mon Mar 23 11:25:10 EDT 2015
@set LASTCHANGE Fri Apr 10 15:04:14 EDT 2015
@set EDITION 4.4
@set VERSION 4.4
@set UPDATED 23 March 2015
@set UPDATED-MONTH March 2015
@set UPDATED 10 April 2015
@set UPDATED-MONTH April 2015
+4 -2
View File
@@ -4292,10 +4292,12 @@ run_builtin:
command_line = savestring (the_printed_command_except_trap ? the_printed_command_except_trap : "");
#if defined (PROCESS_SUBSTITUTION)
if ((subshell_environment & SUBSHELL_COMSUB) && (simple_command->flags & CMD_NO_FORK) && fifos_pending() > 0)
/* The old code did not test already_forked and only did this if
subshell_environment&SUBSHELL_COMSUB != 0 (comsubs and procsubs). Other
uses of the no-fork optimization left FIFOs in $TMPDIR */
if (already_forked == 0 && (simple_command->flags & CMD_NO_FORK) && fifos_pending() > 0)
simple_command->flags &= ~CMD_NO_FORK;
#endif
result = execute_disk_command (words, simple_command->redirects, command_line,
pipe_in, pipe_out, async, fds_to_close,
simple_command->flags);
+1
View File
@@ -103,6 +103,7 @@ extern char **brace_expand __P((char *));
/* Miscellaneous functions from parse.y */
extern int yyparse __P((void));
extern int return_EOF __P((void));
extern void push_token __P((int));
extern char *xparse_dolparen __P((char *, char *, int *, int));
extern void reset_parser __P((void));
extern WORD_LIST *parse_string_to_word_list __P((char *, int, const char *));
+8 -5
View File
@@ -6,9 +6,9 @@
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
.\" Last Change: Tue Jul 1 16:38:38 PDT 2014
.\" Last Change: Mon Apr 6 14:13:28 EDT 2015
.\"
.TH HISTORY 3 "2014 July 1" "GNU History 6.3"
.TH HISTORY 3 "2014 April 6" "GNU History 6.3"
.\"
.\" File Name macro. This used to be `.PN', for Path Name,
.\" but Sun doesn't seem to like that very much.
@@ -441,9 +441,12 @@ return a pointer to that entry. If there is no previous entry, return
a \fBNULL\fP pointer.
.Fn1 "HIST_ENTRY *" next_history "void"
Move the current history offset forward to the next history entry, and
return the a pointer to that entry. If there is no next entry, return
a \fBNULL\fP pointer.
If the current history offset is not already at the end of the history
list, move the current history offset forward to the next history entry,
and return the a pointer to that entry.
If there is no next entry, return a \fBNULL\fP pointer.
If this function returns \fBNULL\fP, the current history offset is at the
end of the history list.
.SS Searching the History List
+6 -3
View File
@@ -270,9 +270,12 @@ a @code{NULL} pointer.
@end deftypefun
@deftypefun {HIST_ENTRY *} next_history (void)
Move the current history offset forward to the next history entry, and
return the a pointer to that entry. If there is no next entry, return
a @code{NULL} pointer.
If the current history offset is not already at the end of the history
list, move the current history offset forward to the next history entry,
and return the a pointer to that entry.
If there is no next entry, return a @code{NULL} pointer.
If this function returns @code{NULL}, the current history offset is at the
end of the history list.
@end deftypefun
@node Searching the History List
+3 -3
View File
@@ -4,7 +4,7 @@ Copyright (C) 1988-2015 Free Software Foundation, Inc.
@set EDITION 6.4
@set VERSION 6.4
@set UPDATED 22 February 2015
@set UPDATED-MONTH February 2015
@set UPDATED 6 April 2015
@set UPDATED-MONTH April 2015
@set LASTCHANGE Sun Feb 22 20:32:36 EST 2015
@set LASTCHANGE Mon Apr 6 14:13:14 EDT 2015
+3 -3
View File
@@ -124,9 +124,9 @@ int history_lines_written_to_file = 0;
for more extensive tests. */
#define HIST_TIMESTAMP_START(s) (*(s) == history_comment_char && isdigit ((unsigned char)(s)[1]) )
static char *history_backupfile __P((const char *));
static int histfile_backup __P((const char *, const char *));
static int histfile_restore __P((const char *, const char *));
static char *history_backupfile PARAMS((const char *));
static int histfile_backup PARAMS((const char *, const char *));
static int histfile_restore PARAMS((const char *, const char *));
/* Return the string that should be used in the place of this
filename. This only matters when you don't specify the
+23 -2
View File
@@ -2208,11 +2208,12 @@ shell_getc (remove_quoted_newline)
int remove_quoted_newline;
{
register int i;
int c, truncating;
int c, truncating, last_was_backslash;
unsigned char uc;
QUIT;
last_was_backslash = 0;
if (sigwinch_received)
{
sigwinch_received = 0;
@@ -2343,6 +2344,8 @@ shell_getc (remove_quoted_newline)
current_command_line_count++;
break;
}
last_was_backslash = last_was_backslash == 0 && c == '\\';
}
shell_input_line_index = 0;
@@ -2437,7 +2440,14 @@ shell_getc (remove_quoted_newline)
shell_input_line = (char *)xrealloc (shell_input_line,
1 + (shell_input_line_size += 2));
shell_input_line[shell_input_line_len] = '\n';
/* Don't add a newline to a string that ends with a backslash if we're
going to be removing quoted newlines, since that will eat the
backslash. Add another backslash instead (will be removed by
word expansion). */
if (bash_input.type == st_string && expanding_alias() == 0 && last_was_backslash && c == EOF && remove_quoted_newline)
shell_input_line[shell_input_line_len] = '\\';
else
shell_input_line[shell_input_line_len] = '\n';
shell_input_line[shell_input_line_len + 1] = '\0';
set_line_mbstate ();
@@ -2599,6 +2609,17 @@ execute_variable_command (command, vname)
token_to_read = 0;
}
void
push_token (x)
int x;
{
two_tokens_ago = token_before_that;
token_before_that = last_read_token;
last_read_token = current_token;
current_token = x;
}
/* Place to remember the token. We try to keep the buffer
at a reasonable size, but it can grow. */
static char *token = (char *)NULL;
+4 -3
View File
@@ -581,12 +581,13 @@ main (argc, argv, env)
emacs = get_string_value ("EMACS");
/* Not sure any emacs terminal emulator sets TERM=emacs any more */
no_line_editing |= term && (STREQ (term, "emacs"));
no_line_editing |= STREQ (term, "emacs");
no_line_editing |= emacs && emacs[0] == 't' && emacs[1] == '\0' && STREQ (term, "dumb");
no_line_editing |= get_string_value ("INSIDE_EMACS") != 0;
/* running_under_emacs == 2 for `eterm' */
running_under_emacs = (emacs != 0) || (term && STREQN (term, "emacs", 5));
running_under_emacs += term && STREQN (term, "eterm", 5) && emacs && strstr (emacs, "term");
running_under_emacs = (emacs != 0) || STREQN (term, "emacs", 5);
running_under_emacs += STREQN (term, "eterm", 5) && emacs && strstr (emacs, "term");
if (running_under_emacs)
gnu_error_format = 1;
+2
View File
@@ -5549,7 +5549,9 @@ process_substitute (string, open_for_read_in_child)
environment for variable lookups. */
expanding_redir = 0;
subshell_level++;
result = parse_and_execute (string, "process substitution", (SEVAL_NONINT|SEVAL_NOHIST));
subshell_level--;
#if !defined (HAVE_DEV_FD)
/* Make sure we close the named pipe in the child before we exit. */
+1 -1
View File
@@ -1,7 +1,7 @@
exportfunc ok 1
exportfunc ok 2
./exportfunc.tests: line 24: cve7169-bad: No such file or directory
./exportfunc.tests: eval: line 30: syntax error: unexpected end of file
./exportfunc.tests: eval: line 31: syntax error: unexpected end of file
./exportfunc.tests: line 30: cve7169-bad2: No such file or directory
./exportfunc1.sub: line 1: maximum here-document count exceeded
./exportfunc.tests: line 51: HELLO_WORLD: No such file or directory
+1 -1
View File
@@ -1,5 +1,5 @@
# make sure we can wait for the last process substitution, since it sets $!
echo <(exit 123) >/dev/null
cat <(exit 123) >/dev/null
wait "$!"
echo $?
+33 -7
View File
@@ -72,15 +72,17 @@ extern int errno;
assumes this. */
static int sigmodes[BASH_NSIG];
static void free_trap_command __P((int));
static void change_signal __P((int, char *));
static void free_trap_command (int);
static void change_signal (int, char *);
static int _run_trap_internal __P((int, char *));
static int _run_trap_internal (int, char *);
static void free_trap_string __P((int));
static void reset_signal __P((int));
static void restore_signal __P((int));
static void reset_or_restore_signal_handlers __P((sh_resetsig_func_t *));
static void free_trap_string (int);
static void reset_signal (int);
static void restore_signal (int);
static void reset_or_restore_signal_handlers (sh_resetsig_func_t *);
static void trap_if_untrapped (int, char *);
/* Variables used here but defined in other files. */
extern int last_command_exit_value;
@@ -559,6 +561,16 @@ queue_sigchld_trap (nchild)
}
#endif /* JOB_CONTROL && SIGCHLD */
/* Set a trap for SIG only if SIG is not already trapped. */
static inline void
trap_if_untrapped (sig, command)
int sig;
char *command;
{
if ((sigmodes[sig] & SIG_TRAPPED) == 0)
set_signal (sig, command);
}
void
set_debug_trap (command)
char *command;
@@ -566,6 +578,20 @@ set_debug_trap (command)
set_signal (DEBUG_TRAP, command);
}
/* Separate function to call when functions and sourced files want to restore
the original version of the DEBUG trap before returning. Unless the -T
option is set, source saves the old debug trap and unsets the trap. If the
sourced file changes the DEBUG trap, SIG_TRAPPED will be set and we don't
bother restoring the original trap string.
Currently only source calls this. */
void
maybe_set_debug_trap (command)
char *command;
{
trap_if_untrapped (DEBUG_TRAP, command);
}
void
set_error_trap (command)
char *command;
+2
View File
@@ -74,6 +74,8 @@ extern void set_debug_trap __P((char *));
extern void set_error_trap __P((char *));
extern void set_return_trap __P((char *));
extern void maybe_set_debug_trap __P((char *));
extern void set_sigint_trap __P((char *));
extern void set_signal __P((int, char *));