commit bash-20090609 snapshot

This commit is contained in:
Chet Ramey
2011-12-08 20:10:49 -05:00
parent 4301bca7e9
commit 4a8bb13f3c
28 changed files with 6606 additions and 6278 deletions
+8
View File
@@ -8148,3 +8148,11 @@ findcmd.c
- use eaccess(2) if available in file_status to take other file
access mechanisms such as ACLs into account. Patch supplied
by werner@suse.de
6/12
----
xmalloc.c
- also calculate lowest brk() value the first time xmalloc/xrealloc
(and their sh_ counterparts) are called
- error messages consolidated into a single function (allocerr/
sh_allocerr) to avoid string duplication
+5
View File
@@ -8143,3 +8143,8 @@ lib/readline/display.c
doc/{bash.1,bashref.texi
- added some more explanation of the inheritance of the ERR trap at
the suggestion of Thomas Pospisek <tpo@sourcepole.ch>
findcmd.c
- use eaccess(2) if available in file_status to take other file
access mechanisms such as ACLs into account. Patch supplied
by werner@suse.de
-1
View File
@@ -526,7 +526,6 @@ CWRU/misc/errlist.c f
CWRU/misc/hpux10-dlfcn.h f
CWRU/PLATFORMS f
CWRU/README f
CWRU/audit-patch f
CWRU/changelog f
CWRU/sh-redir-hack f
CWRU/mh-folder-comp f
+1 -1
View File
@@ -851,7 +851,7 @@ tests/getopts4.sub f
tests/getopts5.sub f
tests/getopts6.sub f
tests/getopts7.sub f
tests/glob-test f
tests/glob.tests f
tests/glob1.sub f
tests/glob.right f
tests/globstar.tests f
+1295 -1287
View File
File diff suppressed because it is too large Load Diff
+49 -30
View File
@@ -3,7 +3,7 @@
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2009 March 4<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2009 May 26<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
@@ -984,7 +984,7 @@ operators do not evaluate <I>expression2</I> if the value of
the entire conditional expression.
</DL>
<DT><B>for</B> <I>name</I> [ <B>in</B> <I>word</I> ] ; <B>do</B> <I>list</I> ; <B>done</B><DD>
<DT><B>for</B> <I>name</I> [ [ <B>in</B> [ <I>word ...</I> ] ] ; ] <B>do</B> <I>list</I> ; <B>done</B><DD>
The list of words following <B>in</B> is expanded, generating a list
of items.
The variable <I>name</I> is set to each element of this list
@@ -2576,8 +2576,8 @@ prompt.
<DD>
If set to a number greater than zero, the value is used as the number of
trailing directory components to retain when expanding the <B>\w and
\W</B> prompt string escapes (see
trailing directory components to retain when expanding the <B>\w</B> and
<B>\W</B> prompt string escapes (see
<FONT SIZE=-1><B>PROMPTING</B>
</FONT>
@@ -2866,13 +2866,17 @@ Referencing an array variable without a subscript is equivalent to
referencing the array with a subscript of 0.
<P>
An array variable is considered set if a subscript has been assigned a
value. The null string is a valid value.
<P>
The
<B>unset</B>
builtin is used to destroy arrays. <B>unset</B> <I>name</I>[<I>subscript</I>]
destroys the array element at index <I>subscript</I>.
Care must be taken to avoid unwanted side effects caused by filename
generation.
Care must be taken to avoid unwanted side effects caused by pathname
expansion.
<B>unset</B> <I>name</I>, where <I>name</I> is an array, or
<B>unset</B> <I>name</I>[<I>subscript</I>], where
<I>subscript</I> is <B>*</B> or <B>@</B>, removes the entire array.
@@ -3858,7 +3862,7 @@ The special pattern characters have the following meanings:
<DD>
Matches any string, including the null string.
When the <B>globstar</B> shell option is enabled, and <B>*</B> is used in
a filename expansion context, two adjacent <B>*</B>s used as a single
a pathname expansion context, two adjacent <B>*</B>s used as a single
pattern will match all files and zero or more directories and
subdirectories.
If followed by a <B>/</B>, two adjacent <B>*</B>s will match only directories
@@ -4625,9 +4629,11 @@ The first element of the
</FONT>
variable is set to the name of the function while the function
is executing.
<P>
All other aspects of the shell execution
environment are identical between a function and its caller
with the exception that the
with these exceptions: the
<FONT SIZE=-1><B>DEBUG</B>
</FONT>
@@ -4649,7 +4655,13 @@ below) are not inherited unless the function has been given the
builtin below) or the
<B>-o functrace</B> shell option has been enabled with
the <B>set</B> builtin
(in which case all functions inherit the <B>DEBUG</B> and <B>RETURN</B> traps).
(in which case all functions inherit the <B>DEBUG</B> and <B>RETURN</B> traps),
and the
<FONT SIZE=-1><B>ERR</B>
</FONT>
trap is not inherited unless the <B>-o errtrace</B> shell option has
been enabled.
<P>
Variables local to the function may be declared with the
@@ -4989,11 +5001,9 @@ True if the strings are equal. <B>=</B> may be used in place of
<DT><I>string1</I> <B>!=</B> <I>string2</I><DD>
True if the strings are not equal.
<DT><I>string1</I> <B>&lt;</B> <I>string2</I><DD>
True if <I>string1</I> sorts before <I>string2</I> lexicographically
in the current locale.
True if <I>string1</I> sorts before <I>string2</I> lexicographically.
<DT><I>string1</I> <B>&gt;</B> <I>string2</I><DD>
True if <I>string1</I> sorts after <I>string2</I> lexicographically
in the current locale.
True if <I>string1</I> sorts after <I>string2</I> lexicographically.
<DT><I>arg1</I> <B>OP</B> <I>arg2</I>
<DD>
@@ -7393,7 +7403,7 @@ variable
is used to filter the matches.
<P>
Any completions specified by a filename expansion pattern to the
Any completions specified by a pathname expansion pattern to the
<B>-G</B> option are generated next.
The words generated by the pattern need not match the word
being completed.
@@ -8644,7 +8654,7 @@ Names of all shell variables. May also be specified as <B>-v</B>.
</DL></DL>
<DT><B>-G</B> <I>globpat</I><DD>
The filename expansion pattern <I>globpat</I> is expanded to generate
The pathname expansion pattern <I>globpat</I> is expanded to generate
the possible completions.
<DT><B>-W</B> <I>wordlist</I><DD>
The <I>wordlist</I> is split using the characters in the
@@ -8667,7 +8677,7 @@ of the
</FONT>
array variable.
<DT><B>-X</B> <I>filterpat</I><DD>
<I>filterpat</I> is a pattern as used for filename expansion.
<I>filterpat</I> is a pattern as used for pathname expansion.
It is applied to the list of possible completions generated by the
preceding options and arguments, and each completion matching
<I>filterpat</I> is removed from the list.
@@ -10988,7 +10998,7 @@ This option is enabled by default.
<DT><B>globstar</B>
<DD>
If set, the pattern <B>**</B> used in a filename expansion context will
If set, the pattern <B>**</B> used in a pathname expansion context will
match a files and zero or more directories and subdirectories.
If the pattern is followed by a <B>/</B>, only directories and
subdirectories match.
@@ -11349,6 +11359,9 @@ Each
is either
a signal name defined in &lt;<I>signal.h</I>&gt;, or a signal number.
Signal names are case insensitive and the SIG prefix is optional.
<P>
If a
<I>sigspec</I>
@@ -11382,6 +11395,21 @@ Refer to the description of the <B>extdebug</B> option to the
If a
<I>sigspec</I>
is
<FONT SIZE=-1><B>RETURN</B>,
</FONT>
the command
<I>arg</I>
is executed each time a shell function or a script executed with the
<B>.</B> or <B>source</B> builtins finishes executing.
<P>
If a
<I>sigspec</I>
is
<FONT SIZE=-1><B>ERR</B>,
@@ -11417,21 +11445,12 @@ being inverted via
<B>!</B>.
These are the same conditions obeyed by the <B>errexit</B> option.
If a
<I>sigspec</I>
<P>
is
<FONT SIZE=-1><B>RETURN</B>,
</FONT>
the command
<I>arg</I>
is executed each time a shell function or a script executed with the
<B>.</B> or <B>source</B> builtins finishes executing.
Signals ignored upon entry to the shell cannot be trapped or reset.
Trapped signals that are not being ignored are reset to their original
values in a child process when it is created.
values in a subshell or subshell environment when one is created.
The return status is false if any
<I>sigspec</I>
@@ -12073,7 +12092,7 @@ There may be only one active coprocess at a time.
<HR>
<TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>GNU Bash-4.0<TH ALIGN=CENTER width=33%>2009 March 4<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>GNU Bash-4.0<TH ALIGN=CENTER width=33%>2009 May 26<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
@@ -12179,6 +12198,6 @@ There may be only one active coprocess at a time.
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
Time: 05 March 2009 07:55:02 EST
Time: 08 June 2009 08:33:25 EDT
</BODY>
</HTML>
+3065 -3058
View File
File diff suppressed because it is too large Load Diff
+8 -8
View File
@@ -81,9 +81,9 @@
@xrdef{Special Parameters-pg}{16}
@xrdef{Shell Expansions-title}{Shell Expansions}
@xrdef{Shell Expansions-snt}{Section@tie 3.5}
@xrdef{Shell Expansions-pg}{17}
@xrdef{Brace Expansion-title}{Brace Expansion}
@xrdef{Brace Expansion-snt}{Section@tie 3.5.1}
@xrdef{Shell Expansions-pg}{17}
@xrdef{Tilde Expansion-title}{Tilde Expansion}
@xrdef{Tilde Expansion-snt}{Section@tie 3.5.2}
@xrdef{Brace Expansion-pg}{18}
@@ -93,18 +93,18 @@
@xrdef{Shell Parameter Expansion-pg}{19}
@xrdef{Command Substitution-title}{Command Substitution}
@xrdef{Command Substitution-snt}{Section@tie 3.5.4}
@xrdef{Command Substitution-pg}{22}
@xrdef{Arithmetic Expansion-title}{Arithmetic Expansion}
@xrdef{Arithmetic Expansion-snt}{Section@tie 3.5.5}
@xrdef{Command Substitution-pg}{22}
@xrdef{Process Substitution-title}{Process Substitution}
@xrdef{Process Substitution-snt}{Section@tie 3.5.6}
@xrdef{Word Splitting-title}{Word Splitting}
@xrdef{Word Splitting-snt}{Section@tie 3.5.7}
@xrdef{Filename Expansion-title}{Filename Expansion}
@xrdef{Filename Expansion-snt}{Section@tie 3.5.8}
@xrdef{Arithmetic Expansion-pg}{23}
@xrdef{Process Substitution-pg}{23}
@xrdef{Word Splitting-pg}{23}
@xrdef{Filename Expansion-title}{Filename Expansion}
@xrdef{Filename Expansion-snt}{Section@tie 3.5.8}
@xrdef{Pattern Matching-title}{Pattern Matching}
@xrdef{Pattern Matching-snt}{Section@tie 3.5.8.1}
@xrdef{Filename Expansion-pg}{24}
@@ -114,7 +114,7 @@
@xrdef{Redirections-title}{Redirections}
@xrdef{Redirections-snt}{Section@tie 3.6}
@xrdef{Quote Removal-pg}{25}
@xrdef{Redirections-pg}{25}
@xrdef{Redirections-pg}{26}
@xrdef{Executing Commands-title}{Executing Commands}
@xrdef{Executing Commands-snt}{Section@tie 3.7}
@xrdef{Simple Command Expansion-title}{Simple Command Expansion}
@@ -129,15 +129,15 @@
@xrdef{Command Execution Environment-pg}{30}
@xrdef{Environment-title}{Environment}
@xrdef{Environment-snt}{Section@tie 3.7.4}
@xrdef{Environment-pg}{31}
@xrdef{Exit Status-title}{Exit Status}
@xrdef{Exit Status-snt}{Section@tie 3.7.5}
@xrdef{Environment-pg}{31}
@xrdef{Exit Status-pg}{31}
@xrdef{Signals-title}{Signals}
@xrdef{Signals-snt}{Section@tie 3.7.6}
@xrdef{Exit Status-pg}{32}
@xrdef{Signals-pg}{32}
@xrdef{Shell Scripts-title}{Shell Scripts}
@xrdef{Shell Scripts-snt}{Section@tie 3.8}
@xrdef{Signals-pg}{32}
@xrdef{Shell Scripts-pg}{33}
@xrdef{Shell Builtin Commands-title}{Shell Builtin Commands}
@xrdef{Shell Builtin Commands-snt}{Chapter@tie 4}
+1 -1
View File
@@ -25,7 +25,7 @@
\entry{caller}{43}{\code {caller}}
\entry{command}{43}{\code {command}}
\entry{declare}{43}{\code {declare}}
\entry{echo}{44}{\code {echo}}
\entry{echo}{45}{\code {echo}}
\entry{enable}{45}{\code {enable}}
\entry{help}{46}{\code {help}}
\entry{let}{46}{\code {let}}
+1 -1
View File
@@ -24,7 +24,7 @@
\entry {\code {dirs}}{81}
\entry {\code {disown}}{89}
\initial {E}
\entry {\code {echo}}{44}
\entry {\code {echo}}{45}
\entry {\code {enable}}{45}
\entry {\code {eval}}{36}
\entry {\code {exec}}{36}
+2 -2
View File
@@ -62,13 +62,13 @@
\entry{pathname expansion}{24}{pathname expansion}
\entry{pattern matching}{24}{pattern matching}
\entry{matching, pattern}{24}{matching, pattern}
\entry{redirection}{25}{redirection}
\entry{redirection}{26}{redirection}
\entry{command expansion}{29}{command expansion}
\entry{command execution}{29}{command execution}
\entry{command search}{29}{command search}
\entry{execution environment}{30}{execution environment}
\entry{environment}{31}{environment}
\entry{exit status}{31}{exit status}
\entry{exit status}{32}{exit status}
\entry{signal handling}{32}{signal handling}
\entry{shell script}{33}{shell script}
\entry{special builtin}{59}{special builtin}
+2 -2
View File
@@ -40,7 +40,7 @@
\entry {evaluation, arithmetic}{78}
\entry {event designators}{121}
\entry {execution environment}{30}
\entry {exit status}{3, 31}
\entry {exit status}{3, 32}
\entry {expansion}{17}
\entry {expansion, arithmetic}{23}
\entry {expansion, brace}{18}
@@ -107,7 +107,7 @@
\entry {quoting, ANSI}{6}
\initial {R}
\entry {Readline, how to use}{90}
\entry {redirection}{25}
\entry {redirection}{26}
\entry {reserved word}{3}
\entry {restricted shell}{84}
\entry {return status}{4}
BIN
View File
Binary file not shown.
+36 -25
View File
@@ -1,6 +1,6 @@
<HTML>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Created on March, 18 2009 by texi2html 1.64 -->
<!-- Created on June, 8 2009 by texi2html 1.64 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@@ -33,10 +33,10 @@ 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.0, 4 March 2009).
the Bash shell (version 4.0, 5 June 2009).
</P><P>
This is Edition 4.0, last updated 4 March 2009,
This is Edition 4.0, last updated 5 June 2009,
of <CITE>The GNU Bash Reference Manual</CITE>,
for <CODE>Bash</CODE>, Version 4.0.
</P><P>
@@ -1097,7 +1097,7 @@ in <VAR>consequent-commands</VAR>, or zero if none was executed.
The syntax of the <CODE>for</CODE> command is:
<P>
<TABLE><tr><td>&nbsp;</td><td class=example><pre>for <VAR>name</VAR> [in <VAR>words</VAR> <small>...</small>]; do <VAR>commands</VAR>; done
<TABLE><tr><td>&nbsp;</td><td class=example><pre>for <VAR>name</VAR> [ [in [<VAR>words</VAR> <small>...</small>] ] ; ] do <VAR>commands</VAR>; done
</pre></td></tr></table>Expand <VAR>words</VAR>, and execute <VAR>commands</VAR> once for each member
in the resultant list, with <VAR>name</VAR> bound to the current member.
If <SAMP>`in <VAR>words</VAR>'</SAMP> is not present, the <CODE>for</CODE> command
@@ -1577,14 +1577,19 @@ positional parameters is updated to reflect the change.
Special parameter <CODE>0</CODE> is unchanged.
The first element of the <CODE>FUNCNAME</CODE> variable is set to the
name of the function while the function is executing.
</P><P>
All other aspects of the shell execution
environment are identical between a function and its caller
with the exception that the <CODE>DEBUG</CODE> and <CODE>RETURN</CODE> traps
with these exceptions:
the <CODE>DEBUG</CODE> and <CODE>RETURN</CODE> traps
are not inherited unless the function has been given the
<CODE>trace</CODE> attribute using the <CODE>declare</CODE> builtin or
the <CODE>-o functrace</CODE> option has been enabled with
the <CODE>set</CODE> builtin,
(in which case all functions inherit the <CODE>DEBUG</CODE> and <CODE>RETURN</CODE> traps).
(in which case all functions inherit the <CODE>DEBUG</CODE> and <CODE>RETURN</CODE> traps),
and the <CODE>ERR</CODE> trap is not inherited unless the <CODE>-o errtrace</CODE>
shell option has been enabled.
See section <A HREF="bashref.html#SEC59">4.1 Bourne Shell Builtins</A>, for the description of the
<CODE>trap</CODE> builtin.
</P><P>
@@ -1970,7 +1975,7 @@ For example,
ade ace abe
</pre></td></tr></table></P><P>
A sequence expression takes the form <CODE>{<VAR>x</VAR>..<VAR>y</VAR>[<VAR>incr</VAR>]}</CODE>,
A sequence expression takes the form <CODE>{<VAR>x</VAR>..<VAR>y</VAR>[..<VAR>incr</VAR>]}</CODE>,
where <VAR>x</VAR> and <VAR>y</VAR> are either integers or single characters,
and <VAR>incr</VAR>, an optional increment, is an integer.
When integers are supplied, the expression expands to each number between
@@ -2337,7 +2342,7 @@ array in turn, and the expansion is the resultant list.
<DD><DT><CODE>${<VAR>parameter</VAR>,,<VAR>pattern</VAR>}</CODE>
<DD>This expansion modifies the case of alphabetic characters in <VAR>parameter</VAR>.
The <VAR>pattern</VAR> is expanded to produce a pattern just as in
pathname expansion.
filename expansion.
The <SAMP>`^'</SAMP> operator converts lowercase letters matching <VAR>pattern</VAR>
to uppercase; the <SAMP>`,'</SAMP> operator converts matching uppercase letters
to lowercase.
@@ -2585,7 +2590,7 @@ If the shell option <CODE>nocaseglob</CODE> is enabled, the match is performed
without regard to the case of alphabetic characters.
</P><P>
When a pattern is used for filename generation, the character <SAMP>`.'</SAMP>
When a pattern is used for filename expansion, the character <SAMP>`.'</SAMP>
at the start of a filename or immediately following a slash
must be matched explicitly, unless the shell option <CODE>dotglob</CODE> is set.
When matching a file name, the slash character must always be
@@ -4207,15 +4212,22 @@ The <SAMP>`-l'</SAMP> option causes the shell to print a list of signal names
and their corresponding numbers.
Each <VAR>sigspec</VAR> is either a signal name or a signal number.
Signal names are case insensitive and the <CODE>SIG</CODE> prefix is optional.
<P>
If a <VAR>sigspec</VAR>
is <CODE>0</CODE> or <CODE>EXIT</CODE>, <VAR>arg</VAR> is executed when the shell exits.
If a <VAR>sigspec</VAR> is <CODE>DEBUG</CODE>, the command <VAR>arg</VAR> is executed
before every simple command, <CODE>for</CODE> command, <CODE>case</CODE> command,
<CODE>select</CODE> command, every arithmetic <CODE>for</CODE> command, and before
the first command executes in a shell function.
Refer to the description of the <CODE>extglob</CODE> option to the
Refer to the description of the <CODE>extdebug</CODE> option to the
<CODE>shopt</CODE> builtin (see section <A HREF="bashref.html#SEC63">4.3.2 The Shopt Builtin</A>) for details of its
effect on the <CODE>DEBUG</CODE> trap.
If a <VAR>sigspec</VAR> is <CODE>RETURN</CODE>, the command <VAR>arg</VAR> is executed
each time a shell function or a script executed with the <CODE>.</CODE> or
<CODE>source</CODE> builtins finishes executing.
</P><P>
If a <VAR>sigspec</VAR> is <CODE>ERR</CODE>, the command <VAR>arg</VAR>
is executed whenever a simple command has a non-zero exit status,
subject to the following conditions.
@@ -4226,14 +4238,11 @@ part of a command executed in a <CODE>&#38;&#38;</CODE> or <CODE>||</CODE> list,
or if the command's return
status is being inverted using <CODE>!</CODE>.
These are the same conditions obeyed by the <CODE>errexit</CODE> option.
If a <VAR>sigspec</VAR> is <CODE>RETURN</CODE>, the command <VAR>arg</VAR> is executed
each time a shell function or a script executed with the <CODE>.</CODE> or
<CODE>source</CODE> builtins finishes executing.
<P>
</P><P>
Signals ignored upon entry to the shell cannot be trapped or reset.
Trapped signals that are not being ignored are reset to their original
values in a child process when it is created.
values in a subshell or subshell environment when one is created.
</P><P>
The return status is zero unless a <VAR>sigspec</VAR> does not specify a
@@ -5180,7 +5189,7 @@ subshells to exit before executing all the commands in the subshell.
</P><P>
<DT><CODE>-f</CODE>
<DD>Disable file name generation (globbing).
<DD>Disable filename expansion (globbing).
<P>
<DT><CODE>-h</CODE>
@@ -5652,7 +5661,7 @@ enclosed in double quotes. This option is enabled by default.
<P>
<DT><CODE>failglob</CODE>
<DD>If set, patterns which fail to match filenames during pathname expansion
<DD>If set, patterns which fail to match filenames during filename expansion
result in an expansion error.
<P>
@@ -7617,13 +7626,11 @@ option to the <CODE>set</CODE> builtin (see section <A HREF="bashref.html#SEC62"
<P>
<DT><CODE><VAR>string1</VAR> &#60; <VAR>string2</VAR></CODE>
<DD>True if <VAR>string1</VAR> sorts before <VAR>string2</VAR> lexicographically
in the current locale.
<DD>True if <VAR>string1</VAR> sorts before <VAR>string2</VAR> lexicographically.
<P>
<DT><CODE><VAR>string1</VAR> &#62; <VAR>string2</VAR></CODE>
<DD>True if <VAR>string1</VAR> sorts after <VAR>string2</VAR> lexicographically
in the current locale.
<DD>True if <VAR>string1</VAR> sorts after <VAR>string2</VAR> lexicographically.
<P>
<DT><CODE><VAR>arg1</VAR> OP <VAR>arg2</VAR></CODE>
@@ -7957,11 +7964,15 @@ Referencing an array variable without a subscript is equivalent to
referencing with a subscript of 0.
</P><P>
An array variable is considered set if a subscript has been assigned a
value. The null string is a valid value.
</P><P>
The <CODE>unset</CODE> builtin is used to destroy arrays.
<CODE>unset</CODE> <VAR>name</VAR>[<VAR>subscript</VAR>]
destroys the array element at index <VAR>subscript</VAR>.
Care must be taken to avoid unwanted side effects caused by filename
generation.
expansion.
<CODE>unset</CODE> <VAR>name</VAR>, where <VAR>name</VAR> is an array, removes the
entire array. A subscript of <SAMP>`*'</SAMP> or <SAMP>`@'</SAMP> also removes the
entire array.
@@ -12879,7 +12890,7 @@ But first, you should
make sure that it really is a bug, and that it appears in the latest
version of Bash.
The latest version of Bash is always available for FTP from
<A HREF="ftp://ftp.gnu.org/pub/bash/">ftp://ftp.gnu.org/pub/bash/</A>.
<A HREF="ftp://ftp.gnu.org/pub/gnu/bash/">ftp://ftp.gnu.org/pub/gnu/bash/</A>.
</P><P>
Once you have determined that a bug actually exists, use the
@@ -15868,7 +15879,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>March, 18 2009</I>
This document was generated by <I>Chet Ramey</I> on <I>June, 8 2009</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
<P></P>
@@ -16030,7 +16041,7 @@ the following structure:
<BR>
<FONT SIZE="-1">
This document was generated
by <I>Chet Ramey</I> on <I>March, 18 2009</I>
by <I>Chet Ramey</I> on <I>June, 8 2009</I>
using <A HREF="http://www.mathematik.uni-kl.de/~obachman/Texi2html
"><I>texi2html</I></A>
+181 -171
View File
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 4.13 from
/Users/chet/src/bash/src/doc/bashref.texi.
This text is a brief description of the features that are present in
the Bash shell (version 4.0, 4 March 2009).
the Bash shell (version 4.0, 5 June 2009).
This is Edition 4.0, last updated 4 March 2009, of `The GNU Bash
This is Edition 4.0, last updated 5 June 2009, of `The GNU Bash
Reference Manual', for `Bash', Version 4.0.
Copyright (C) 1988-2009 Free Software Foundation, Inc.
@@ -38,9 +38,9 @@ Bash Features
*************
This text is a brief description of the features that are present in
the Bash shell (version 4.0, 4 March 2009).
the Bash shell (version 4.0, 5 June 2009).
This is Edition 4.0, last updated 4 March 2009, of `The GNU Bash
This is Edition 4.0, last updated 5 June 2009, of `The GNU Bash
Reference Manual', for `Bash', Version 4.0.
Bash contains features that appear in other popular shells, and some
@@ -699,7 +699,7 @@ syntax, it may be replaced with one or more newlines.
`for'
The syntax of the `for' command is:
for NAME [in WORDS ...]; do COMMANDS; done
for NAME [ [in [WORDS ...] ] ; ] do COMMANDS; done
Expand WORDS, and execute COMMANDS once for each member in the
resultant list, with NAME bound to the current member. If `in
WORDS' is not present, the `for' command executes the COMMANDS
@@ -1024,13 +1024,17 @@ Parameters::). The special parameter `#' that expands to the number of
positional parameters is updated to reflect the change. Special
parameter `0' is unchanged. The first element of the `FUNCNAME'
variable is set to the name of the function while the function is
executing. All other aspects of the shell execution environment are
identical between a function and its caller with the exception that the
`DEBUG' and `RETURN' traps are not inherited unless the function has
been given the `trace' attribute using the `declare' builtin or the `-o
functrace' option has been enabled with the `set' builtin, (in which
case all functions inherit the `DEBUG' and `RETURN' traps). *Note
Bourne Shell Builtins::, for the description of the `trap' builtin.
executing.
All other aspects of the shell execution environment are identical
between a function and its caller with these exceptions: the `DEBUG'
and `RETURN' traps are not inherited unless the function has been given
the `trace' attribute using the `declare' builtin or the `-o functrace'
option has been enabled with the `set' builtin, (in which case all
functions inherit the `DEBUG' and `RETURN' traps), and the `ERR' trap
is not inherited unless the `-o errtrace' shell option has been enabled.
*Note Bourne Shell Builtins::, for the description of the `trap'
builtin.
If the builtin command `return' is executed in a function, the
function completes and execution resumes with the next command after
@@ -1271,7 +1275,7 @@ are not sorted; left to right order is preserved. For example,
bash$ echo a{d,c,b}e
ade ace abe
A sequence expression takes the form `{X..Y[INCR]}', where X and Y
A sequence expression takes the form `{X..Y[..INCR]}', where X and Y
are either integers or single characters, and INCR, an optional
increment, is an integer. When integers are supplied, the expression
expands to each number between X and Y, inclusive. Supplied integers
@@ -1533,7 +1537,7 @@ omitted, the operator tests only for existence.
`${PARAMETER,,PATTERN}'
This expansion modifies the case of alphabetic characters in
PARAMETER. The PATTERN is expanded to produce a pattern just as in
pathname expansion. The `^' operator converts lowercase letters
filename expansion. The `^' operator converts lowercase letters
matching PATTERN to uppercase; the `,' operator converts matching
uppercase letters to lowercase. The `^^' and `,,' expansions
convert each matched character in the expanded value; the `^' and
@@ -1679,7 +1683,7 @@ found, an error message is printed and the command is not executed. If
the shell option `nocaseglob' is enabled, the match is performed
without regard to the case of alphabetic characters.
When a pattern is used for filename generation, the character `.' at
When a pattern is used for filename expansion, the character `.' at
the start of a filename or immediately following a slash must be
matched explicitly, unless the shell option `dotglob' is set. When
matching a file name, the slash character must always be matched
@@ -2707,28 +2711,33 @@ standard.
shell input. The `-l' option causes the shell to print a list of
signal names and their corresponding numbers. Each SIGSPEC is
either a signal name or a signal number. Signal names are case
insensitive and the `SIG' prefix is optional. If a SIGSPEC is `0'
or `EXIT', ARG is executed when the shell exits. If a SIGSPEC is
`DEBUG', the command ARG is executed before every simple command,
`for' command, `case' command, `select' command, every arithmetic
`for' command, and before the first command executes in a shell
function. Refer to the description of the `extglob' option to the
`shopt' builtin (*note The Shopt Builtin::) for details of its
effect on the `DEBUG' trap. If a SIGSPEC is `ERR', the command ARG
is executed whenever a simple command has a non-zero exit status,
subject to the following conditions. The `ERR' trap is not
executed if the failed command is part of the command list
immediately following an `until' or `while' keyword, part of the
test following the `if' or `elif' reserved words, part of a
command executed in a `&&' or `||' list, or if the command's return
status is being inverted using `!'. These are the same conditions
obeyed by the `errexit' option. If a SIGSPEC is `RETURN', the
command ARG is executed each time a shell function or a script
executed with the `.' or `source' builtins finishes executing.
insensitive and the `SIG' prefix is optional.
If a SIGSPEC is `0' or `EXIT', ARG is executed when the shell
exits. If a SIGSPEC is `DEBUG', the command ARG is executed
before every simple command, `for' command, `case' command,
`select' command, every arithmetic `for' command, and before the
first command executes in a shell function. Refer to the
description of the `extdebug' option to the `shopt' builtin (*note
The Shopt Builtin::) for details of its effect on the `DEBUG' trap.
If a SIGSPEC is `RETURN', the command ARG is executed each time a
shell function or a script executed with the `.' or `source'
builtins finishes executing.
If a SIGSPEC is `ERR', the command ARG is executed whenever a
simple command has a non-zero exit status, subject to the
following conditions. The `ERR' trap is not executed if the
failed command is part of the command list immediately following
an `until' or `while' keyword, part of the test following the `if'
or `elif' reserved words, part of a command executed in a `&&' or
`||' list, or if the command's return status is being inverted
using `!'. These are the same conditions obeyed by the `errexit'
option.
Signals ignored upon entry to the shell cannot be trapped or reset.
Trapped signals that are not being ignored are reset to their
original values in a child process when it is created.
original values in a subshell or subshell environment when one is
created.
The return status is zero unless a SIGSPEC does not specify a
valid signal.
@@ -3452,7 +3461,7 @@ parameters, or to display the names and values of shell variables.
executing all the commands in the subshell.
`-f'
Disable file name generation (globbing).
Disable filename expansion (globbing).
`-h'
Locate and remember (hash) commands as they are looked up for
@@ -3813,7 +3822,7 @@ This builtin allows you to change additional shell optional behavior.
`failglob'
If set, patterns which fail to match filenames during
pathname expansion result in an expansion error.
filename expansion result in an expansion error.
`force_fignore'
If set, the suffixes specified by the `FIGNORE' shell variable
@@ -5094,12 +5103,10 @@ link itself.
True if the strings are not equal.
`STRING1 < STRING2'
True if STRING1 sorts before STRING2 lexicographically in the
current locale.
True if STRING1 sorts before STRING2 lexicographically.
`STRING1 > STRING2'
True if STRING1 sorts after STRING2 lexicographically in the
current locale.
True if STRING1 sorts after STRING2 lexicographically.
`ARG1 OP ARG2'
`OP' is one of `-eq', `-ne', `-lt', `-le', `-gt', or `-ge'. These
@@ -5323,10 +5330,13 @@ If SUBSCRIPT is `@' or `*', the expansion is the number of elements in
the array. Referencing an array variable without a subscript is
equivalent to referencing with a subscript of 0.
An array variable is considered set if a subscript has been assigned
a value. The null string is a valid value.
The `unset' builtin is used to destroy arrays. `unset'
NAME[SUBSCRIPT] destroys the array element at index SUBSCRIPT. Care
must be taken to avoid unwanted side effects caused by filename
generation. `unset' NAME, where NAME is an array, removes the entire
expansion. `unset' NAME, where NAME is an array, removes the entire
array. A subscript of `*' or `@' also removes the entire array.
The `declare', `local', and `readonly' builtins each accept a `-a'
@@ -8592,7 +8602,7 @@ Appendix A Reporting Bugs
Please report all bugs you find in Bash. But first, you should make
sure that it really is a bug, and that it appears in the latest version
of Bash. The latest version of Bash is always available for FTP from
`ftp://ftp.gnu.org/pub/bash/'.
`ftp://ftp.gnu.org/pub/gnu/bash/'.
Once you have determined that a bug actually exists, use the
`bashbug' command to submit a bug report. If you have a fix, you are
@@ -9582,10 +9592,10 @@ D.1 Index of Shell Builtin Commands
* typeset: Bash Builtins. (line 527)
* ulimit: Bash Builtins. (line 533)
* umask: Bourne Shell Builtins.
(line 327)
(line 332)
* unalias: Bash Builtins. (line 621)
* unset: Bourne Shell Builtins.
(line 344)
(line 349)
* wait: Job Control Builtins.
(line 73)
@@ -10066,132 +10076,132 @@ D.5 Concept Index

Tag Table:
Node: Top1338
Node: Introduction3169
Node: What is Bash?3397
Node: What is a shell?4510
Node: Definitions7050
Node: Basic Shell Features9968
Node: Shell Syntax11187
Node: Shell Operation12217
Node: Quoting13511
Node: Escape Character14814
Node: Single Quotes15299
Node: Double Quotes15647
Node: ANSI-C Quoting16772
Node: Locale Translation17728
Node: Comments18624
Node: Shell Commands19242
Node: Simple Commands20066
Node: Pipelines20697
Node: Lists22953
Node: Compound Commands24682
Node: Looping Constructs25486
Node: Conditional Constructs27933
Node: Command Grouping35939
Node: Coprocesses37418
Node: Shell Functions39062
Node: Shell Parameters43523
Node: Positional Parameters45939
Node: Special Parameters46839
Node: Shell Expansions49803
Node: Brace Expansion51728
Node: Tilde Expansion54481
Node: Shell Parameter Expansion56832
Node: Command Substitution65730
Node: Arithmetic Expansion67063
Node: Process Substitution67913
Node: Word Splitting68963
Node: Filename Expansion70586
Node: Pattern Matching72726
Node: Quote Removal76365
Node: Redirections76660
Node: Executing Commands84808
Node: Simple Command Expansion85478
Node: Command Search and Execution87408
Node: Command Execution Environment89745
Node: Environment92731
Node: Exit Status94391
Node: Signals96012
Node: Shell Scripts97980
Node: Shell Builtin Commands100498
Node: Bourne Shell Builtins102526
Node: Bash Builtins119867
Node: Modifying Shell Behavior144166
Node: The Set Builtin144511
Node: The Shopt Builtin153955
Node: Special Builtins164817
Node: Shell Variables165796
Node: Bourne Shell Variables166236
Node: Bash Variables168217
Node: Bash Features190556
Node: Invoking Bash191439
Node: Bash Startup Files197248
Node: Interactive Shells202217
Node: What is an Interactive Shell?202627
Node: Is this Shell Interactive?203276
Node: Interactive Shell Behavior204091
Node: Bash Conditional Expressions207371
Node: Shell Arithmetic210950
Node: Aliases213696
Node: Arrays216268
Node: The Directory Stack220110
Node: Directory Stack Builtins220824
Node: Printing a Prompt223716
Node: The Restricted Shell226468
Node: Bash POSIX Mode228300
Node: Job Control236153
Node: Job Control Basics236613
Node: Job Control Builtins241330
Node: Job Control Variables245694
Node: Command Line Editing246852
Node: Introduction and Notation248419
Node: Readline Interaction250041
Node: Readline Bare Essentials251232
Node: Readline Movement Commands253021
Node: Readline Killing Commands253986
Node: Readline Arguments255906
Node: Searching256950
Node: Readline Init File259136
Node: Readline Init File Syntax260283
Node: Conditional Init Constructs273517
Node: Sample Init File276050
Node: Bindable Readline Commands279167
Node: Commands For Moving280374
Node: Commands For History281518
Node: Commands For Text284673
Node: Commands For Killing287346
Node: Numeric Arguments289797
Node: Commands For Completion290936
Node: Keyboard Macros294703
Node: Miscellaneous Commands295274
Node: Readline vi Mode300585
Node: Programmable Completion301499
Node: Programmable Completion Builtins307332
Node: Using History Interactively315758
Node: Bash History Facilities316442
Node: Bash History Builtins319356
Node: History Interaction323213
Node: Event Designators325918
Node: Word Designators326933
Node: Modifiers328572
Node: Installing Bash329976
Node: Basic Installation331113
Node: Compilers and Options333805
Node: Compiling For Multiple Architectures334546
Node: Installation Names336210
Node: Specifying the System Type337028
Node: Sharing Defaults337744
Node: Operation Controls338417
Node: Optional Features339375
Node: Reporting Bugs348777
Node: Major Differences From The Bourne Shell349974
Node: GNU Free Documentation License366661
Node: Indexes391857
Node: Builtin Index392311
Node: Reserved Word Index399138
Node: Variable Index401586
Node: Function Index413392
Node: Concept Index420124
Node: Top1336
Node: Introduction3165
Node: What is Bash?3393
Node: What is a shell?4506
Node: Definitions7046
Node: Basic Shell Features9964
Node: Shell Syntax11183
Node: Shell Operation12213
Node: Quoting13507
Node: Escape Character14810
Node: Single Quotes15295
Node: Double Quotes15643
Node: ANSI-C Quoting16768
Node: Locale Translation17724
Node: Comments18620
Node: Shell Commands19238
Node: Simple Commands20062
Node: Pipelines20693
Node: Lists22949
Node: Compound Commands24678
Node: Looping Constructs25482
Node: Conditional Constructs27937
Node: Command Grouping35943
Node: Coprocesses37422
Node: Shell Functions39066
Node: Shell Parameters43620
Node: Positional Parameters46036
Node: Special Parameters46936
Node: Shell Expansions49900
Node: Brace Expansion51825
Node: Tilde Expansion54580
Node: Shell Parameter Expansion56931
Node: Command Substitution65829
Node: Arithmetic Expansion67162
Node: Process Substitution68012
Node: Word Splitting69062
Node: Filename Expansion70685
Node: Pattern Matching72824
Node: Quote Removal76463
Node: Redirections76758
Node: Executing Commands84906
Node: Simple Command Expansion85576
Node: Command Search and Execution87506
Node: Command Execution Environment89843
Node: Environment92829
Node: Exit Status94489
Node: Signals96110
Node: Shell Scripts98078
Node: Shell Builtin Commands100596
Node: Bourne Shell Builtins102624
Node: Bash Builtins120000
Node: Modifying Shell Behavior144299
Node: The Set Builtin144644
Node: The Shopt Builtin154086
Node: Special Builtins164948
Node: Shell Variables165927
Node: Bourne Shell Variables166367
Node: Bash Variables168348
Node: Bash Features190687
Node: Invoking Bash191570
Node: Bash Startup Files197379
Node: Interactive Shells202348
Node: What is an Interactive Shell?202758
Node: Is this Shell Interactive?203407
Node: Interactive Shell Behavior204222
Node: Bash Conditional Expressions207502
Node: Shell Arithmetic211027
Node: Aliases213773
Node: Arrays216345
Node: The Directory Stack220303
Node: Directory Stack Builtins221017
Node: Printing a Prompt223909
Node: The Restricted Shell226661
Node: Bash POSIX Mode228493
Node: Job Control236346
Node: Job Control Basics236806
Node: Job Control Builtins241523
Node: Job Control Variables245887
Node: Command Line Editing247045
Node: Introduction and Notation248612
Node: Readline Interaction250234
Node: Readline Bare Essentials251425
Node: Readline Movement Commands253214
Node: Readline Killing Commands254179
Node: Readline Arguments256099
Node: Searching257143
Node: Readline Init File259329
Node: Readline Init File Syntax260476
Node: Conditional Init Constructs273710
Node: Sample Init File276243
Node: Bindable Readline Commands279360
Node: Commands For Moving280567
Node: Commands For History281711
Node: Commands For Text284866
Node: Commands For Killing287539
Node: Numeric Arguments289990
Node: Commands For Completion291129
Node: Keyboard Macros294896
Node: Miscellaneous Commands295467
Node: Readline vi Mode300778
Node: Programmable Completion301692
Node: Programmable Completion Builtins307525
Node: Using History Interactively315951
Node: Bash History Facilities316635
Node: Bash History Builtins319549
Node: History Interaction323406
Node: Event Designators326111
Node: Word Designators327126
Node: Modifiers328765
Node: Installing Bash330169
Node: Basic Installation331306
Node: Compilers and Options333998
Node: Compiling For Multiple Architectures334739
Node: Installation Names336403
Node: Specifying the System Type337221
Node: Sharing Defaults337937
Node: Operation Controls338610
Node: Optional Features339568
Node: Reporting Bugs348970
Node: Major Differences From The Bourne Shell350171
Node: GNU Free Documentation License366858
Node: Indexes392054
Node: Builtin Index392508
Node: Reserved Word Index399335
Node: Variable Index401783
Node: Function Index413589
Node: Concept Index420321

End Tag Table
+12 -12
View File
@@ -1,4 +1,4 @@
This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2008.12.11) 18 MAR 2009 08:21
This is TeX, Version 3.141592 (Web2C 7.5.4) (format=tex 2008.12.11) 8 JUN 2009 08:33
**/Users/chet/src/bash/src/doc/bashref.texi
(/Users/chet/src/bash/src/doc/bashref.texi (./texinfo.tex
Loading texinfo [version 2009-01-18.17]:
@@ -193,7 +193,7 @@ textttsl pat-tern@texttt ][]) @textttsl command-list @texttt ;;][] esac[][]
[10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24]
[25] [26] [27] [28] [29] [30] [31] [32] Chapter 4 [33] [34] [35] [36] [37]
[38] [39] [40] [41]
Underfull \hbox (badness 5231) in paragraph at lines 3280--3293
Underfull \hbox (badness 5231) in paragraph at lines 3286--3299
@texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr
m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
@@ -206,7 +206,7 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
.etc.
[42] [43] [44] [45] [46]
Overfull \hbox (102.08961pt too wide) in paragraph at lines 3705--3705
Overfull \hbox (102.08961pt too wide) in paragraph at lines 3711--3711
[]@texttt read [-ers] [-a @textttsl aname@texttt ] [-d @textttsl de-lim@texttt
] [-i @textttsl text@texttt ] [-n @textttsl nchars@texttt ] [-p @textttsl prom
pt@texttt ] [-t @textttsl time-
@@ -220,7 +220,7 @@ pt@texttt ] [-t @textttsl time-
.etc.
[47] [48] [49] [50] [51] [52] [53] [54] [55]
Underfull \hbox (badness 2573) in paragraph at lines 4383--4387
Underfull \hbox (badness 2573) in paragraph at lines 4389--4393
[]@textrm Error trac-ing is en-abled: com-mand sub-sti-tu-tion, shell
@hbox(7.60416+2.12917)x433.62, glue set 2.95305
@@ -237,7 +237,7 @@ Underfull \hbox (badness 2573) in paragraph at lines 4383--4387
[56] [57] [58] Chapter 5 [59] [60] [61] [62] [63] [64] [65] [66] [67] [68]
Chapter 6 [69] [70]
Overfull \hbox (51.96864pt too wide) in paragraph at lines 5226--5226
Overfull \hbox (51.96864pt too wide) in paragraph at lines 5232--5232
[]@texttt bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@t
exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
@@ -250,7 +250,7 @@ exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
.etc.
Overfull \hbox (76.23077pt too wide) in paragraph at lines 5227--5227
Overfull \hbox (76.23077pt too wide) in paragraph at lines 5233--5233
[]@texttt bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@texttt
] [-O @textttsl shopt_option@texttt ] -c @textttsl string @texttt [@textttsl ar
-
@@ -264,7 +264,7 @@ Overfull \hbox (76.23077pt too wide) in paragraph at lines 5227--5227
.etc.
Overfull \hbox (34.72258pt too wide) in paragraph at lines 5228--5228
Overfull \hbox (34.72258pt too wide) in paragraph at lines 5234--5234
[]@texttt bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@text
tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
@@ -277,7 +277,7 @@ tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
.etc.
[71] [72]
Underfull \hbox (badness 2245) in paragraph at lines 5402--5404
Underfull \hbox (badness 2245) in paragraph at lines 5408--5410
[]@textrm When a lo-gin shell ex-its, Bash reads and ex-e-cutes com-mands from
the file
@@ -290,7 +290,7 @@ the file
.etc.
[73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85]
Underfull \hbox (badness 2521) in paragraph at lines 6539--6542
Underfull \hbox (badness 2521) in paragraph at lines 6546--6549
@textrm `@texttt --enable-strict-posix-default[]@textrm '[] to @texttt configur
e[] @textrm when build-ing (see Sec-tion 10.8
@@ -346,7 +346,7 @@ Underfull \hbox (badness 2753) in paragraph at lines 1827--1830
[115] [116]) (/Users/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9
[117] [118] [119] [120] [121] [122]) Chapter 10 [123] [124] [125] [126]
[127]
Underfull \hbox (badness 2772) in paragraph at lines 7140--7144
Underfull \hbox (badness 2772) in paragraph at lines 7147--7151
[]@textrm Enable sup-port for large files (@texttt http://www.sas.com/standard
s/large_
@@ -366,10 +366,10 @@ s/large_
Here is how much of TeX's memory you used:
2078 strings out of 97980
28503 string characters out of 1221004
64631 words of memory out of 1500000
64629 words of memory out of 1500000
2894 multiletter control sequences out of 10000+50000
32127 words of font info for 112 fonts, out of 1200000 for 2000
51 hyphenation exceptions out of 8191
16i,6n,14p,315b,699s stack positions out of 5000i,500n,6000p,200000b,5000s
Output written on bashref.dvi (162 pages, 653260 bytes).
Output written on bashref.dvi (162 pages, 653492 bytes).
+1411 -1402
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -36,13 +36,13 @@
@numsubsecentry{Filename Expansion}{3.5.8}{Filename Expansion}{24}
@numsubsubsecentry{Pattern Matching}{3.5.8.1}{Pattern Matching}{24}
@numsubsecentry{Quote Removal}{3.5.9}{Quote Removal}{25}
@numsecentry{Redirections}{3.6}{Redirections}{25}
@numsubsecentry{Redirecting Input}{3.6.1}{}{26}
@numsecentry{Redirections}{3.6}{Redirections}{26}
@numsubsecentry{Redirecting Input}{3.6.1}{}{27}
@numsubsecentry{Redirecting Output}{3.6.2}{}{27}
@numsubsecentry{Appending Redirected Output}{3.6.3}{}{27}
@numsubsecentry{Redirecting Standard Output and Standard Error}{3.6.4}{}{27}
@numsubsecentry{Appending Standard Output and Standard Error}{3.6.5}{}{27}
@numsubsecentry{Here Documents}{3.6.6}{}{27}
@numsubsecentry{Here Documents}{3.6.6}{}{28}
@numsubsecentry{Here Strings}{3.6.7}{}{28}
@numsubsecentry{Duplicating File Descriptors}{3.6.8}{}{28}
@numsubsecentry{Moving File Descriptors}{3.6.9}{}{28}
@@ -52,7 +52,7 @@
@numsubsecentry{Command Search and Execution}{3.7.2}{Command Search and Execution}{29}
@numsubsecentry{Command Execution Environment}{3.7.3}{Command Execution Environment}{30}
@numsubsecentry{Environment}{3.7.4}{Environment}{31}
@numsubsecentry{Exit Status}{3.7.5}{Exit Status}{31}
@numsubsecentry{Exit Status}{3.7.5}{Exit Status}{32}
@numsubsecentry{Signals}{3.7.6}{Signals}{32}
@numsecentry{Shell Scripts}{3.8}{Shell Scripts}{33}
@numchapentry{Shell Builtin Commands}{4}{Shell Builtin Commands}{35}
+1 -1
View File
@@ -3,7 +3,7 @@
\entry{TEXTDOMAINDIR}{7}{\code {TEXTDOMAINDIR}}
\entry{*}{16}{\code {*}}
\entry{@}{16}{\code {@}}
\entry{#}{16}{\code {#}}
\entry{#}{17}{\code {#}}
\entry{?}{17}{\code {?}}
\entry{-}{17}{\code {-}}
\entry{$}{17}{\code {$}}
+1 -1
View File
@@ -1,7 +1,7 @@
\initial {!}
\entry {\code {!}}{17}
\initial {#}
\entry {\code {#}}{16}
\entry {\code {#}}{17}
\initial {$}
\entry {\code {$}}{17}
\initial {*}
+80 -75
View File
@@ -279,7 +279,7 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
Names of all shell variables. May also be spec-
ified as --vv.
--GG _g_l_o_b_p_a_t
The filename expansion pattern _g_l_o_b_p_a_t is expanded to
The pathname expansion pattern _g_l_o_b_p_a_t is expanded to
generate the possible completions.
--WW _w_o_r_d_l_i_s_t
The _w_o_r_d_l_i_s_t is split using the characters in the IIFFSS
@@ -296,7 +296,7 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
pletions are retrieved from the value of the CCOOMMPPRREEPPLLYY
array variable.
--XX _f_i_l_t_e_r_p_a_t
_f_i_l_t_e_r_p_a_t is a pattern as used for filename expansion.
_f_i_l_t_e_r_p_a_t is a pattern as used for pathname expansion.
It is applied to the list of possible completions gener-
ated by the preceding options and arguments, and each
completion matching _f_i_l_t_e_r_p_a_t is removed from the list.
@@ -1235,7 +1235,7 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
description of FFIIGGNNOORREE. This option is enabled by
default.
gglloobbssttaarr
If set, the pattern **** used in a filename expansion con-
If set, the pattern **** used in a pathname expansion con-
text will match a files and zero or more directories and
subdirectories. If the pattern is followed by a //, only
directories and subdirectories match.
@@ -1404,63 +1404,68 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
causes the shell to print a list of signal names and their cor-
responding numbers. Each _s_i_g_s_p_e_c is either a signal name
defined in <_s_i_g_n_a_l_._h>, or a signal number. Signal names are
case insensitive and the SIG prefix is optional. If a _s_i_g_s_p_e_c
is EEXXIITT (0) the command _a_r_g is executed on exit from the shell.
If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is executed before every
_s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command, _s_e_l_e_c_t command, every
arithmetic _f_o_r command, and before the first command executes in
a shell function (see SSHHEELLLL GGRRAAMMMMAARR above). Refer to the
description of the eexxttddeebbuugg option to the sshhoopptt builtin for
details of its effect on the DDEEBBUUGG trap. If a _s_i_g_s_p_e_c is EERRRR,
the command _a_r_g is executed whenever a simple command has a
non-zero exit status, subject to the following conditions. The
EERRRR trap is not executed if the failed command is part of the
command list immediately following a wwhhiillee or uunnttiill keyword,
part of the test in an _i_f statement, part of a command executed
in a &&&& or |||| list, or if the command's return value is being
inverted via !!. These are the same conditions obeyed by the
eerrrreexxiitt option. If a _s_i_g_s_p_e_c is RREETTUURRNN, the command _a_r_g is exe-
cuted each time a shell function or a script executed with the ..
or ssoouurrccee builtins finishes executing. Signals ignored upon
entry to the shell cannot be trapped or reset. Trapped signals
that are not being ignored are reset to their original values in
a child process when it is created. The return status is false
if any _s_i_g_s_p_e_c is invalid; otherwise ttrraapp returns true.
case insensitive and the SIG prefix is optional.
If a _s_i_g_s_p_e_c is EEXXIITT (0) the command _a_r_g is executed on exit
from the shell. If a _s_i_g_s_p_e_c is DDEEBBUUGG, the command _a_r_g is exe-
cuted before every _s_i_m_p_l_e _c_o_m_m_a_n_d, _f_o_r command, _c_a_s_e command,
_s_e_l_e_c_t command, every arithmetic _f_o_r command, and before the
first command executes in a shell function (see SSHHEELLLL GGRRAAMMMMAARR
above). Refer to the description of the eexxttddeebbuugg option to the
sshhoopptt builtin for details of its effect on the DDEEBBUUGG trap. If a
_s_i_g_s_p_e_c is RREETTUURRNN, the command _a_r_g is executed each time a shell
function or a script executed with the .. or ssoouurrccee builtins fin-
ishes executing.
If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g is executed whenever a sim-
ple command has a non-zero exit status, subject to the following
conditions. The EERRRR trap is not executed if the failed command
is part of the command list immediately following a wwhhiillee or
uunnttiill keyword, part of the test in an _i_f statement, part of a
command executed in a &&&& or |||| list, or if the command's return
value is being inverted via !!. These are the same conditions
obeyed by the eerrrreexxiitt option.
Signals ignored upon entry to the shell cannot be trapped or
reset. Trapped signals that are not being ignored are reset to
their original values in a subshell or subshell environment when
one is created. The return status is false if any _s_i_g_s_p_e_c is
invalid; otherwise ttrraapp returns true.
ttyyppee [--aaffttppPP] _n_a_m_e [_n_a_m_e ...]
With no options, indicate how each _n_a_m_e would be interpreted if
With no options, indicate how each _n_a_m_e would be interpreted if
used as a command name. If the --tt option is used, ttyyppee prints a
string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or
_f_i_l_e if _n_a_m_e is an alias, shell reserved word, function,
builtin, or disk file, respectively. If the _n_a_m_e is not found,
then nothing is printed, and an exit status of false is
returned. If the --pp option is used, ttyyppee either returns the
string which is one of _a_l_i_a_s, _k_e_y_w_o_r_d, _f_u_n_c_t_i_o_n, _b_u_i_l_t_i_n, or
_f_i_l_e if _n_a_m_e is an alias, shell reserved word, function,
builtin, or disk file, respectively. If the _n_a_m_e is not found,
then nothing is printed, and an exit status of false is
returned. If the --pp option is used, ttyyppee either returns the
name of the disk file that would be executed if _n_a_m_e were speci-
fied as a command name, or nothing if ``type -t name'' would not
return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e,
return _f_i_l_e. The --PP option forces a PPAATTHH search for each _n_a_m_e,
even if ``type -t name'' would not return _f_i_l_e. If a command is
hashed, --pp and --PP print the hashed value, not necessarily the
hashed, --pp and --PP print the hashed value, not necessarily the
file that appears first in PPAATTHH. If the --aa option is used, ttyyppee
prints all of the places that contain an executable named _n_a_m_e.
This includes aliases and functions, if and only if the --pp
option is not also used. The table of hashed commands is not
consulted when using --aa. The --ff option suppresses shell func-
tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if
prints all of the places that contain an executable named _n_a_m_e.
This includes aliases and functions, if and only if the --pp
option is not also used. The table of hashed commands is not
consulted when using --aa. The --ff option suppresses shell func-
tion lookup, as with the ccoommmmaanndd builtin. ttyyppee returns true if
all of the arguments are found, false if any are not found.
uulliimmiitt [--HHSSTTaabbccddeeffiillmmnnppqqrrssttuuvvxx [_l_i_m_i_t]]
Provides control over the resources available to the shell and
to processes started by it, on systems that allow such control.
Provides control over the resources available to the shell and
to processes started by it, on systems that allow such control.
The --HH and --SS options specify that the hard or soft limit is set
for the given resource. A hard limit cannot be increased by a
non-root user once it is set; a soft limit may be increased up
to the value of the hard limit. If neither --HH nor --SS is speci-
for the given resource. A hard limit cannot be increased by a
non-root user once it is set; a soft limit may be increased up
to the value of the hard limit. If neither --HH nor --SS is speci-
fied, both the soft and hard limits are set. The value of _l_i_m_i_t
can be a number in the unit specified for the resource or one of
the special values hhaarrdd, ssoofftt, or uunnlliimmiitteedd, which stand for the
current hard limit, the current soft limit, and no limit,
respectively. If _l_i_m_i_t is omitted, the current value of the
soft limit of the resource is printed, unless the --HH option is
current hard limit, the current soft limit, and no limit,
respectively. If _l_i_m_i_t is omitted, the current value of the
soft limit of the resource is printed, unless the --HH option is
given. When more than one resource is specified, the limit name
and unit are printed before the value. Other options are inter-
preted as follows:
@@ -1469,11 +1474,11 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
--cc The maximum size of core files created
--dd The maximum size of a process's data segment
--ee The maximum scheduling priority ("nice")
--ff The maximum size of files written by the shell and its
--ff The maximum size of files written by the shell and its
children
--ii The maximum number of pending signals
--ll The maximum size that may be locked into memory
--mm The maximum resident set size (many systems do not honor
--mm The maximum resident set size (many systems do not honor
this limit)
--nn The maximum number of open file descriptors (most systems
do not allow this value to be set)
@@ -1482,58 +1487,58 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
--rr The maximum real-time scheduling priority
--ss The maximum stack size
--tt The maximum amount of cpu time in seconds
--uu The maximum number of processes available to a single
--uu The maximum number of processes available to a single
user
--vv The maximum amount of virtual memory available to the
--vv The maximum amount of virtual memory available to the
shell
--xx The maximum number of file locks
--TT The maximum number of threads
If _l_i_m_i_t is given, it is the new value of the specified resource
(the --aa option is display only). If no option is given, then --ff
is assumed. Values are in 1024-byte increments, except for --tt,
which is in seconds, --pp, which is in units of 512-byte blocks,
and --TT, --bb, --nn, and --uu, which are unscaled values. The return
is assumed. Values are in 1024-byte increments, except for --tt,
which is in seconds, --pp, which is in units of 512-byte blocks,
and --TT, --bb, --nn, and --uu, which are unscaled values. The return
status is 0 unless an invalid option or argument is supplied, or
an error occurs while setting a new limit.
uummaasskk [--pp] [--SS] [_m_o_d_e]
The user file-creation mask is set to _m_o_d_e. If _m_o_d_e begins with
a digit, it is interpreted as an octal number; otherwise it is
interpreted as a symbolic mode mask similar to that accepted by
_c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is
printed. The --SS option causes the mask to be printed in sym-
bolic form; the default output is an octal number. If the --pp
a digit, it is interpreted as an octal number; otherwise it is
interpreted as a symbolic mode mask similar to that accepted by
_c_h_m_o_d(1). If _m_o_d_e is omitted, the current value of the mask is
printed. The --SS option causes the mask to be printed in sym-
bolic form; the default output is an octal number. If the --pp
option is supplied, and _m_o_d_e is omitted, the output is in a form
that may be reused as input. The return status is 0 if the mode
was successfully changed or if no _m_o_d_e argument was supplied,
was successfully changed or if no _m_o_d_e argument was supplied,
and false otherwise.
uunnaalliiaass [-aa] [_n_a_m_e ...]
Remove each _n_a_m_e from the list of defined aliases. If --aa is
supplied, all alias definitions are removed. The return value
Remove each _n_a_m_e from the list of defined aliases. If --aa is
supplied, all alias definitions are removed. The return value
is true unless a supplied _n_a_m_e is not a defined alias.
uunnsseett [-ffvv] [_n_a_m_e ...]
For each _n_a_m_e, remove the corresponding variable or function.
For each _n_a_m_e, remove the corresponding variable or function.
If no options are supplied, or the --vv option is given, each _n_a_m_e
refers to a shell variable. Read-only variables may not be
unset. If --ff is specified, each _n_a_m_e refers to a shell func-
tion, and the function definition is removed. Each unset vari-
able or function is removed from the environment passed to sub-
sequent commands. If any of RRAANNDDOOMM, SSEECCOONNDDSS, LLIINNEENNOO, HHIISSTTCCMMDD,
refers to a shell variable. Read-only variables may not be
unset. If --ff is specified, each _n_a_m_e refers to a shell func-
tion, and the function definition is removed. Each unset vari-
able or function is removed from the environment passed to sub-
sequent commands. If any of RRAANNDDOOMM, SSEECCOONNDDSS, LLIINNEENNOO, HHIISSTTCCMMDD,
FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are unset, they lose their special
properties, even if they are subsequently reset. The exit sta-
properties, even if they are subsequently reset. The exit sta-
tus is true unless a _n_a_m_e is readonly.
wwaaiitt [_n _._._.]
Wait for each specified process and return its termination sta-
tus. Each _n may be a process ID or a job specification; if a
job spec is given, all processes in that job's pipeline are
waited for. If _n is not given, all currently active child pro-
cesses are waited for, and the return status is zero. If _n
specifies a non-existent process or job, the return status is
127. Otherwise, the return status is the exit status of the
Wait for each specified process and return its termination sta-
tus. Each _n may be a process ID or a job specification; if a
job spec is given, all processes in that job's pipeline are
waited for. If _n is not given, all currently active child pro-
cesses are waited for, and the return status is zero. If _n
specifies a non-existent process or job, the return status is
127. Otherwise, the return status is the exit status of the
last process or job waited for.
SSEEEE AALLSSOO
+151 -146
View File
@@ -1,13 +1,13 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.19.2
%%CreationDate: Thu Mar 5 07:54:57 2009
%%CreationDate: Mon Jun 8 08:33:18 2009
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
%%+ font Symbol
%%+ font Courier
%%DocumentSuppliedResources: procset grops 1.19 2
%%Pages: 20
%%Pages: 21
%%PageOrder: Ascend
%%DocumentMedia: Default 595 842 0 () ()
%%Orientation: Portrait
@@ -657,8 +657,8 @@ F0(option to the)2.5 E F1(set)2.5 E F0 -.2(bu)2.5 G(iltin.).2 E F1
(May also be speci\214ed as)5 E F1<ad75>2.5 E F0(.)A F1 -.1(va)184 552 S
(riable).1 E F0(Names of all shell v)5.1 E 2.5(ariables. May)-.25 F
(also be speci\214ed as)2.5 E F1<ad76>2.5 E F0(.)A F1<ad47>144 564 Q F2
(globpat)2.5 E F0 1.41(The \214lename e)184 576 R 1.411
(xpansion pattern)-.15 F F2(globpat)3.911 E F0 1.411(is e)3.911 F 1.411
(globpat)2.5 E F0 1.007(The pathname e)184 576 R 1.007(xpansion pattern)
-.15 F F2(globpat)3.507 E F0 1.007(is e)3.507 F 1.008
(xpanded to generate the possible comple-)-.15 F(tions.)184 588 Q F1
<ad57>144 600 Q F2(wor)2.5 E(dlist)-.37 E F0(The)184 612 Q F2(wor)3.64 E
(dlist)-.37 E F0 1.14(is split using the characters in the)3.64 F F3
@@ -684,15 +684,14 @@ BP
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
/Times-Bold@0 SF<ad58>144 84 Q/F2 10/Times-Italic@0 SF(\214lterpat)2.5 E
(\214lterpat)184 96 Q F0 .733(is a pattern as used for \214lename e)
3.233 F 3.233(xpansion. It)-.15 F .733
(is applied to the list of possible)3.233 F 1.596
(completions generated by the preceding options and ar)184 108 R 1.596
(guments, and each completion)-.18 F(matching)184 120 Q F2(\214lterpat)
3.204 E F0 .704(is remo)3.204 F -.15(ve)-.15 G 3.204(df).15 G .704
(rom the list.)-3.204 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)3.204 E F0
(in)3.204 E F2(\214lterpat)3.205 E F0(ne)3.205 E -.05(ga)-.15 G .705
(tes the pattern;).05 F(in this case, an)184 132 Q 2.5(yc)-.15 G
(\214lterpat)184 96 Q F0 .455(is a pattern as used for pathname e)2.955
F 2.956(xpansion. It)-.15 F .456(is applied to the list of possible)
2.956 F 1.596(completions generated by the preceding options and ar)184
108 R 1.596(guments, and each completion)-.18 F(matching)184 120 Q F2
(\214lterpat)3.204 E F0 .704(is remo)3.204 F -.15(ve)-.15 G 3.204(df).15
G .704(rom the list.)-3.204 F 3.204(Al)5.704 G(eading)-3.204 E F1(!)
3.204 E F0(in)3.204 E F2(\214lterpat)3.205 E F0(ne)3.205 E -.05(ga)-.15
G .705(tes the pattern;).05 F(in this case, an)184 132 Q 2.5(yc)-.15 G
(ompletion not matching)-2.5 E F2(\214lterpat)2.5 E F0(is remo)2.5 E
-.15(ve)-.15 G(d.).15 E F1<ad50>144 144 Q F2(pr)2.5 E(e\214x)-.37 E(pr)
184 156 Q(e\214x)-.37 E F0 .535(is added at the be)3.035 F .534
@@ -2134,9 +2133,9 @@ BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
/Times-Bold@0 SF(globstar)144 84 Q F0 .439(If set, the pattern)5 F F1
(**)2.939 E F0 .439(used in a \214lename e)2.939 F .439(xpansion conte)
-.15 F .44(xt will match a \214les and zero or)-.15 F 1.298
/Times-Bold@0 SF(globstar)144 84 Q F0 .178(If set, the pattern)5 F F1
(**)2.678 E F0 .178(used in a pathname e)2.678 F .178(xpansion conte)
-.15 F .179(xt will match a \214les and zero or)-.15 F 1.298
(more directories and subdirectories.)184 96 R 1.298
(If the pattern is follo)6.298 F 1.298(wed by a)-.25 F F1(/)3.797 E F0
3.797(,o)C 1.297(nly directories)-3.797 F(and subdirectories match.)184
@@ -2364,237 +2363,243 @@ E F0 .86(is gi)3.36 F -.15(ve)-.25 G(n,).15 E F1(trap)3.36 E F0 .86
to print a list of signal names and their corresponding num-)2.83 F
4.311(bers. Each)144 249.6 R F2(sigspec)4.651 E F0 1.811
(is either a signal name de\214ned in <)4.621 F F2(signal.h)A F0 1.81
(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E .745
(names are case insensiti)144 261.6 R 1.045 -.15(ve a)-.25 H .745
(nd the SIG pre\214x is optional.).15 F .745(If a)5.745 F F2(sigspec)
3.585 E F0(is)3.555 E/F3 9/Times-Bold@0 SF(EXIT)3.245 E F0 .745
(\(0\) the command)2.995 F F2(ar)144.33 273.6 Q(g)-.37 E F0 1.63(is e)
4.35 F -.15(xe)-.15 G 1.63(cuted on e).15 F 1.63(xit from the shell.)
-.15 F 1.63(If a)6.63 F F2(sigspec)4.47 E F0(is)4.44 E F3(DEB)4.13 E(UG)
-.09 E/F4 9/Times-Roman@0 SF(,)A F0 1.629(the command)3.88 F F2(ar)4.459
E(g)-.37 E F0 1.629(is e)4.349 F -.15(xe)-.15 G(cuted).15 E 1.206
(before e)144 285.6 R -.15(ve)-.25 G(ry).15 E F2 1.206(simple command)
3.706 F F0(,)A F2(for)3.706 E F0(command,)3.706 E F2(case)3.706 E F0
(command,)3.706 E F2(select)3.707 E F0 1.207(command, e)3.707 F -.15(ve)
-.25 G 1.207(ry arithmetic).15 F F2(for)144 297.6 Q F0 .412
(command, and before the \214rst command e)2.913 F -.15(xe)-.15 G .412
(cutes in a shell function \(see).15 F F3 .412(SHELL GRAMMAR)2.912 F F0
(abo)144 309.6 Q -.15(ve)-.15 G 2.665(\). Refer).15 F .166
(to the description of the)2.665 F F1(extdeb)2.666 E(ug)-.2 E F0 .166
(option to the)2.666 F F1(shopt)2.666 E F0 -.2(bu)2.666 G .166
(iltin for details of its ef).2 F(fect)-.25 E .509(on the)144 321.6 R F1
(DEB)3.009 E(UG)-.1 E F0 3.009(trap. If)3.009 F(a)3.009 E F2(sigspec)
3.348 E F0(is)3.318 E F3(ERR)3.008 E F4(,)A F0 .508(the command)2.758 F
F2(ar)3.338 E(g)-.37 E F0 .508(is e)3.228 F -.15(xe)-.15 G .508
(cuted whene).15 F -.15(ve)-.25 G 3.008(ras).15 G .508(imple com-)-3.008
F 2.506(mand has a non\255zero e)144 333.6 R 2.506
(xit status, subject to the follo)-.15 F 2.506(wing conditions.)-.25 F
(The)7.506 E F3(ERR)5.006 E F0 2.506(trap is not)4.756 F -.15(exe)144
345.6 S .105(cuted if the f).15 F .105
(ailed command is part of the command list immediately follo)-.1 F .105
(wing a)-.25 F F1(while)2.605 E F0(or)2.605 E F1(until)2.605 E F0 -.1
(ke)144 357.6 S(yw)-.05 E .549(ord, part of the test in an)-.1 F F2(if)
3.059 E F0 .549(statement, part of a command e)5.009 F -.15(xe)-.15 G
.549(cuted in a).15 F F1(&&)3.049 E F0(or)3.049 E/F5 10/Symbol SF<efef>
3.049 E F0 .549(list, or if)3.049 F .578(the command')144 369.6 R 3.078
(sr)-.55 G .578(eturn v)-3.078 F .578(alue is being in)-.25 F -.15(ve)
-.4 G .578(rted via).15 F F1(!)3.078 E F0 5.577(.T)C .577
(hese are the same conditions obe)-5.577 F .577(yed by the)-.15 F F1
(err)144 381.6 Q(exit)-.18 E F0 3.03(option. If)3.03 F(a)3.03 E F2
(sigspec)3.37 E F0(is)3.341 E F3(RETURN)3.031 E F4(,)A F0 .531
(the command)2.781 F F2(ar)3.361 E(g)-.37 E F0 .531(is e)3.251 F -.15
(xe)-.15 G .531(cuted each time a shell function).15 F .317
(or a script e)144 393.6 R -.15(xe)-.15 G .317(cuted with the).15 F F1
(.)2.817 E F0(or)2.817 E F1(sour)2.817 E(ce)-.18 E F0 -.2(bu)2.817 G
.317(iltins \214nishes e).2 F -.15(xe)-.15 G 2.817(cuting. Signals).15 F
.316(ignored upon entry to)2.817 F .787
(the shell cannot be trapped or reset.)144 405.6 R -.35(Tr)5.787 G .787
(apped signals that are not being ignored are reset to their).35 F 1.1
(original v)144 417.6 R 1.1
(alues in a child process when it is created.)-.25 F 1.1
(The return status is f)6.1 F 1.1(alse if an)-.1 F(y)-.15 E F2(sigspec)
3.94 E F0(is)3.91 E(in)144 429.6 Q -.25(va)-.4 G(lid; otherwise).25 E F1
(trap)2.5 E F0(returns true.)2.5 E F1(type)108 446.4 Q F0([)2.5 E F1
(\255aftpP)A F0(])A F2(name)2.5 E F0([)2.5 E F2(name)A F0(...])2.5 E -.4
(Wi)144 458.4 S .173(th no options, indicate ho).4 F 2.673(we)-.25 G
(ach)-2.673 E F2(name)3.033 E F0 -.1(wo)2.853 G .174
(>, or a signal number)B 6.81(.S)-.55 G(ignal)-6.81 E
(names are case insensiti)144 261.6 Q .3 -.15(ve a)-.25 H
(nd the SIG pre\214x is optional.).15 E 1.648(If a)144 279.6 R F2
(sigspec)4.488 E F0(is)4.458 E/F3 9/Times-Bold@0 SF(EXIT)4.148 E F0
1.648(\(0\) the command)3.898 F F2(ar)4.479 E(g)-.37 E F0 1.649(is e)
4.369 F -.15(xe)-.15 G 1.649(cuted on e).15 F 1.649(xit from the shell.)
-.15 F 1.649(If a)6.649 F F2(sigspec)4.489 E F0(is)4.459 E F3(DEB)144
291.6 Q(UG)-.09 E/F4 9/Times-Roman@0 SF(,)A F0 1.168(the command)3.418 F
F2(ar)3.998 E(g)-.37 E F0 1.168(is e)3.888 F -.15(xe)-.15 G 1.167
(cuted before e).15 F -.15(ve)-.25 G(ry).15 E F2 1.167(simple command)
3.667 F F0(,)A F2(for)3.667 E F0(command,)3.667 E F2(case)3.667 E F0
(com-)3.667 E(mand,)144 303.6 Q F2(select)2.646 E F0 .146(command, e)
2.646 F -.15(ve)-.25 G .146(ry arithmetic).15 F F2(for)2.646 E F0 .147
(command, and before the \214rst command e)2.646 F -.15(xe)-.15 G .147
(cutes in a).15 F .146(shell function \(see)144 315.6 R F3 .146
(SHELL GRAMMAR)2.646 F F0(abo)2.396 E -.15(ve)-.15 G 2.646(\). Refer).15
F .146(to the description of the)2.646 F F1(extdeb)2.645 E(ug)-.2 E F0
.145(option to)2.645 F(the)144 327.6 Q F1(shopt)3.2 E F0 -.2(bu)3.2 G .7
(iltin for details of its ef).2 F .7(fect on the)-.25 F F1(DEB)3.2 E(UG)
-.1 E F0 3.2(trap. If)3.2 F(a)3.2 E F2(sigspec)3.54 E F0(is)3.51 E F3
(RETURN)3.2 E F4(,)A F0 .701(the com-)2.951 F(mand)144 339.6 Q F2(ar)
3.474 E(g)-.37 E F0 .644(is e)3.364 F -.15(xe)-.15 G .643
(cuted each time a shell function or a script e).15 F -.15(xe)-.15 G
.643(cuted with the).15 F F1(.)3.143 E F0(or)3.143 E F1(sour)3.143 E(ce)
-.18 E F0 -.2(bu)3.143 G(iltins).2 E(\214nishes e)144 351.6 Q -.15(xe)
-.15 G(cuting.).15 E .928(If a)144 369.6 R F2(sigspec)3.768 E F0(is)
3.738 E F3(ERR)3.429 E F4(,)A F0 .929(the command)3.179 F F2(ar)3.759 E
(g)-.37 E F0 .929(is e)3.649 F -.15(xe)-.15 G .929(cuted whene).15 F
-.15(ve)-.25 G 3.429(ras).15 G .929(imple command has a non\255zero)
-3.429 F -.15(ex)144 381.6 S 1.009(it status, subject to the follo).15 F
1.009(wing conditions.)-.25 F(The)6.009 E F3(ERR)3.509 E F0 1.009
(trap is not e)3.259 F -.15(xe)-.15 G 1.008(cuted if the f).15 F 1.008
(ailed com-)-.1 F .324
(mand is part of the command list immediately follo)144 393.6 R .324
(wing a)-.25 F F1(while)2.824 E F0(or)2.824 E F1(until)2.824 E F0 -.1
(ke)2.824 G(yw)-.05 E .324(ord, part of the test)-.1 F 1.129(in an)144
405.6 R F2(if)3.639 E F0 1.129(statement, part of a command e)5.589 F
-.15(xe)-.15 G 1.129(cuted in a).15 F F1(&&)3.629 E F0(or)3.629 E/F5 10
/Symbol SF<efef>3.629 E F0 1.129(list, or if the command')3.629 F 3.628
(sr)-.55 G(eturn)-3.628 E -.25(va)144 417.6 S(lue is being in).25 E -.15
(ve)-.4 G(rted via).15 E F1(!)2.5 E F0 5(.T)C
(hese are the same conditions obe)-5 E(yed by the)-.15 E F1(err)2.5 E
(exit)-.18 E F0(option.)2.5 E 1.095
(Signals ignored upon entry to the shell cannot be trapped or reset.)144
435.6 R -.35(Tr)6.095 G 1.095(apped signals that are not).35 F .662
(being ignored are reset to their original v)144 447.6 R .662
(alues in a subshell or subshell en)-.25 F .661(vironment when one is)
-.4 F 2.5(created. The)144 459.6 R(return status is f)2.5 E(alse if an)
-.1 E(y)-.15 E F2(sigspec)2.84 E F0(is in)2.81 E -.25(va)-.4 G
(lid; otherwise).25 E F1(trap)2.5 E F0(returns true.)2.5 E F1(type)108
476.4 Q F0([)2.5 E F1(\255aftpP)A F0(])A F2(name)2.5 E F0([)2.5 E F2
(name)A F0(...])2.5 E -.4(Wi)144 488.4 S .173
(th no options, indicate ho).4 F 2.673(we)-.25 G(ach)-2.673 E F2(name)
3.033 E F0 -.1(wo)2.853 G .174
(uld be interpreted if used as a command name.).1 F .174(If the)5.174 F
F1<ad74>144 470.4 Q F0 .843(option is used,)3.343 F F1(type)3.343 E F0
F1<ad74>144 500.4 Q F0 .843(option is used,)3.343 F F1(type)3.343 E F0
.843(prints a string which is one of)3.343 F F2(alias)3.343 E F0(,).27 E
F2 -.1(ke)3.343 G(ywor)-.2 E(d)-.37 E F0(,).77 E F2(function)3.343 E F0
(,).24 E F2 -.2(bu)3.342 G(iltin).2 E F0 3.342(,o).24 G(r)-3.342 E F2
(\214le)5.252 E F0(if)3.522 E F2(name)144.36 482.4 Q F0 .086
(\214le)5.252 E F0(if)3.522 E F2(name)144.36 512.4 Q F0 .086
(is an alias, shell reserv)2.766 F .086(ed w)-.15 F .086
(ord, function, b)-.1 F .087(uiltin, or disk \214le, respecti)-.2 F -.15
(ve)-.25 G(ly).15 E 5.087(.I)-.65 G 2.587(ft)-5.087 G(he)-2.587 E F2
(name)2.947 E F0 .087(is not)2.767 F .119
(found, then nothing is printed, and an e)144 494.4 R .118
(found, then nothing is printed, and an e)144 524.4 R .118
(xit status of f)-.15 F .118(alse is returned.)-.1 F .118(If the)5.118 F
F1<ad70>2.618 E F0 .118(option is used,)2.618 F F1(type)2.618 E F0 .855
(either returns the name of the disk \214le that w)144 506.4 R .855
(either returns the name of the disk \214le that w)144 536.4 R .855
(ould be e)-.1 F -.15(xe)-.15 G .855(cuted if).15 F F2(name)3.715 E F0
.855(were speci\214ed as a com-)3.535 F .641(mand name, or nothing if)
144 518.4 R/F6 10/Courier@0 SF .641(type -t name)3.141 F F0 -.1(wo)3.141
144 548.4 R/F6 10/Courier@0 SF .641(type -t name)3.141 F F0 -.1(wo)3.141
G .641(uld not return).1 F F2(\214le)3.14 E F0 5.64(.T).18 G(he)-5.64 E
F1<ad50>3.14 E F0 .64(option forces a)3.14 F F3 -.666(PA)3.14 G(TH)-.189
E F0 .112(search for each)144 530.4 R F2(name)2.612 E F0 2.612(,e)C -.15
E F0 .112(search for each)144 560.4 R F2(name)2.612 E F0 2.612(,e)C -.15
(ve)-2.862 G 2.613(ni).15 G(f)-2.613 E F6 .113(type -t name)2.613 F F0
-.1(wo)2.613 G .113(uld not return).1 F F2(\214le)2.613 E F0 5.113(.I)
.18 G 2.613(fac)-5.113 G .113(ommand is hashed,)-2.613 F F1<ad70>2.613 E
F0(and)144 542.4 Q F1<ad50>2.945 E F0 .445(print the hashed v)2.945 F
F0(and)144 572.4 Q F1<ad50>2.945 E F0 .445(print the hashed v)2.945 F
.444(alue, not necessarily the \214le that appears \214rst in)-.25 F F3
-.666(PA)2.944 G(TH)-.189 E F4(.)A F0 .444(If the)4.944 F F1<ad61>2.944
E F0(option)2.944 E .265(is used,)144 554.4 R F1(type)2.765 E F0 .265
E F0(option)2.944 E .265(is used,)144 584.4 R F1(type)2.765 E F0 .265
(prints all of the places that contain an e)2.765 F -.15(xe)-.15 G .265
(cutable named).15 F F2(name)2.765 E F0 5.265(.T).18 G .265
(his includes aliases)-5.265 F .427(and functions, if and only if the)
144 566.4 R F1<ad70>2.926 E F0 .426(option is not also used.)2.926 F
144 596.4 R F1<ad70>2.926 E F0 .426(option is not also used.)2.926 F
.426(The table of hashed commands is not)5.426 F .548
(consulted when using)144 578.4 R F1<ad61>3.048 E F0 5.548(.T)C(he)
(consulted when using)144 608.4 R F1<ad61>3.048 E F0 5.548(.T)C(he)
-5.548 E F1<ad66>3.048 E F0 .549
(option suppresses shell function lookup, as with the)3.048 F F1
(command)3.049 E F0 -.2(bu)144 590.4 S(iltin.).2 E F1(type)5 E F0
(command)3.049 E F0 -.2(bu)144 620.4 S(iltin.).2 E F1(type)5 E F0
(returns true if all of the ar)2.5 E(guments are found, f)-.18 E
(alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F1(ulimit)108 607.2
(alse if an)-.1 E 2.5(ya)-.15 G(re not found.)-2.5 E F1(ulimit)108 637.2
Q F0([)2.5 E F1(\255HST)A(abcde\214lmnpqrstuvx)-.92 E F0([)2.5 E F2
(limit)A F0(]])A(Pro)144 619.2 Q .244(vides control o)-.15 F -.15(ve)
(limit)A F0(]])A(Pro)144 649.2 Q .244(vides control o)-.15 F -.15(ve)
-.15 G 2.744(rt).15 G .244(he resources a)-2.744 F -.25(va)-.2 G .244
(ilable to the shell and to processes started by it, on systems).25 F
.943(that allo)144 631.2 R 3.443(ws)-.25 G .943(uch control.)-3.443 F
.943(that allo)144 661.2 R 3.443(ws)-.25 G .943(uch control.)-3.443 F
(The)5.943 E F1<ad48>3.443 E F0(and)3.443 E F1<ad53>3.444 E F0 .944
(options specify that the hard or soft limit is set for the)3.444 F(gi)
144 643.2 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208
144 673.2 Q -.15(ve)-.25 G 2.709(nr).15 G 2.709(esource. A)-2.709 F .208
(hard limit cannot be increased by a non-root user once it is set; a so\
ft limit may)2.709 F .425(be increased up to the v)144 655.2 R .425
ft limit may)2.709 F .425(be increased up to the v)144 685.2 R .425
(alue of the hard limit.)-.25 F .426(If neither)5.425 F F1<ad48>2.926 E
F0(nor)2.926 E F1<ad53>2.926 E F0 .426
(is speci\214ed, both the soft and)2.926 F .139(hard limits are set.)144
667.2 R .139(The v)5.139 F .139(alue of)-.25 F F2(limit)2.729 E F0 .139
697.2 R .139(The v)5.139 F .139(alue of)-.25 F F2(limit)2.729 E F0 .139
(can be a number in the unit speci\214ed for the resource or one)3.319 F
.741(of the special v)144 679.2 R(alues)-.25 E F1(hard)3.241 E F0(,)A F1
.741(of the special v)144 709.2 R(alues)-.25 E F1(hard)3.241 E F0(,)A F1
(soft)3.241 E F0 3.241(,o)C(r)-3.241 E F1(unlimited)3.241 E F0 3.241(,w)
C .741(hich stand for the current hard limit, the current)-3.241 F .78
(soft limit, and no limit, respecti)144 691.2 R -.15(ve)-.25 G(ly).15 E
(soft limit, and no limit, respecti)144 721.2 R -.15(ve)-.25 G(ly).15 E
5.78(.I)-.65 G(f)-5.78 E F2(limit)3.37 E F0 .78
(is omitted, the current v)3.96 F .78(alue of the soft limit of the)-.25
F .498(resource is printed, unless the)144 703.2 R F1<ad48>2.999 E F0
.499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F .499
(more than one resource is speci\214ed, the)2.999 F
(limit name and unit are printed before the v)144 715.2 Q 2.5
(alue. Other)-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E
(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(19)198.725 E 0 Cg EP
F(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(19)198.725 E 0 Cg EP
%%Page: 20 20
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10
/Times-Bold@0 SF<ad61>144 84 Q F0(All current limits are reported)25.3 E
F1<ad62>144 96 Q F0(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E
(fer size)-.25 E F1<ad63>144 108 Q F0
(The maximum size of core \214les created)25.86 E F1<ad64>144 120 Q F0
(The maximum size of a process')24.74 E 2.5(sd)-.55 G(ata se)-2.5 E
(gment)-.15 E F1<ad65>144 132 Q F0
(The maximum scheduling priority \("nice"\))25.86 E F1<ad66>144 144 Q F0
(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E .498
(resource is printed, unless the)144 84 R/F1 10/Times-Bold@0 SF<ad48>
2.999 E F0 .499(option is gi)2.999 F -.15(ve)-.25 G 2.999(n. When).15 F
.499(more than one resource is speci\214ed, the)2.999 F
(limit name and unit are printed before the v)144 96 Q 2.5(alue. Other)
-.25 F(options are interpreted as follo)2.5 E(ws:)-.25 E F1<ad61>144 108
Q F0(All current limits are reported)25.3 E F1<ad62>144 120 Q F0
(The maximum sock)24.74 E(et b)-.1 E(uf)-.2 E(fer size)-.25 E F1<ad63>
144 132 Q F0(The maximum size of core \214les created)25.86 E F1<ad64>
144 144 Q F0(The maximum size of a process')24.74 E 2.5(sd)-.55 G
(ata se)-2.5 E(gment)-.15 E F1<ad65>144 156 Q F0
(The maximum scheduling priority \("nice"\))25.86 E F1<ad66>144 168 Q F0
(The maximum size of \214les written by the shell and its children)26.97
E F1<ad69>144 156 Q F0(The maximum number of pending signals)27.52 E F1
<ad6c>144 168 Q F0(The maximum size that may be lock)27.52 E
(ed into memory)-.1 E F1<ad6d>144 180 Q F0
E F1<ad69>144 180 Q F0(The maximum number of pending signals)27.52 E F1
<ad6c>144 192 Q F0(The maximum size that may be lock)27.52 E
(ed into memory)-.1 E F1<ad6d>144 204 Q F0
(The maximum resident set size \(man)21.97 E 2.5(ys)-.15 G
(ystems do not honor this limit\))-2.5 E F1<ad6e>144 192 Q F0 .791(The \
(ystems do not honor this limit\))-2.5 E F1<ad6e>144 216 Q F0 .791(The \
maximum number of open \214le descriptors \(most systems do not allo)
24.74 F 3.29(wt)-.25 G .79(his v)-3.29 F .79(alue to)-.25 F(be set\))180
204 Q F1<ad70>144 216 Q F0
228 Q F1<ad70>144 240 Q F0
(The pipe size in 512-byte blocks \(this may not be set\))24.74 E F1
<ad71>144 228 Q F0(The maximum number of bytes in POSIX message queues)
24.74 E F1<ad72>144 240 Q F0(The maximum real-time scheduling priority)
25.86 E F1<ad73>144 252 Q F0(The maximum stack size)26.41 E F1<ad74>144
264 Q F0(The maximum amount of cpu time in seconds)26.97 E F1<ad75>144
276 Q F0(The maximum number of processes a)24.74 E -.25(va)-.2 G
(ilable to a single user).25 E F1<ad76>144 288 Q F0
<ad71>144 252 Q F0(The maximum number of bytes in POSIX message queues)
24.74 E F1<ad72>144 264 Q F0(The maximum real-time scheduling priority)
25.86 E F1<ad73>144 276 Q F0(The maximum stack size)26.41 E F1<ad74>144
288 Q F0(The maximum amount of cpu time in seconds)26.97 E F1<ad75>144
300 Q F0(The maximum number of processes a)24.74 E -.25(va)-.2 G
(ilable to a single user).25 E F1<ad76>144 312 Q F0
(The maximum amount of virtual memory a)25.3 E -.25(va)-.2 G
(ilable to the shell).25 E F1<ad78>144 300 Q F0
(The maximum number of \214le locks)25.3 E F1<ad54>144 312 Q F0
(The maximum number of threads)23.63 E(If)144 328.8 Q/F2 10
(ilable to the shell).25 E F1<ad78>144 324 Q F0
(The maximum number of \214le locks)25.3 E F1<ad54>144 336 Q F0
(The maximum number of threads)23.63 E(If)144 352.8 Q/F2 10
/Times-Italic@0 SF(limit)2.933 E F0 .343(is gi)3.523 F -.15(ve)-.25 G
.343(n, it is the ne).15 F 2.843(wv)-.25 G .343
(alue of the speci\214ed resource \(the)-3.093 F F1<ad61>2.843 E F0 .343
(option is display only\).)2.843 F .343(If no)5.343 F .176(option is gi)
144 340.8 R -.15(ve)-.25 G .176(n, then).15 F F1<ad66>2.676 E F0 .175
144 364.8 R -.15(ve)-.25 G .176(n, then).15 F F1<ad66>2.676 E F0 .175
(is assumed.)2.676 F -1.11(Va)5.175 G .175
(lues are in 1024-byte increments, e)1.11 F .175(xcept for)-.15 F F1
<ad74>2.675 E F0 2.675(,w)C .175(hich is in)-2.675 F(seconds,)144 352.8
<ad74>2.675 E F0 2.675(,w)C .175(hich is in)-2.675 F(seconds,)144 376.8
Q F1<ad70>2.515 E F0 2.515(,w)C .015
(hich is in units of 512-byte blocks, and)-2.515 F F1<ad54>2.516 E F0(,)
A F1<ad62>2.516 E F0(,)A F1<ad6e>2.516 E F0 2.516(,a)C(nd)-2.516 E F1
<ad75>2.516 E F0 2.516(,w)C .016(hich are unscaled v)-2.516 F(al-)-.25 E
3.788(ues. The)144 364.8 R 1.287(return status is 0 unless an in)3.787 F
3.788(ues. The)144 388.8 R 1.287(return status is 0 unless an in)3.787 F
-.25(va)-.4 G 1.287(lid option or ar).25 F 1.287
(gument is supplied, or an error occurs)-.18 F(while setting a ne)144
376.8 Q 2.5(wl)-.25 G(imit.)-2.5 E F1(umask)108 393.6 Q F0([)2.5 E F1
400.8 Q 2.5(wl)-.25 G(imit.)-2.5 E F1(umask)108 417.6 Q F0([)2.5 E F1
<ad70>A F0 2.5(][)C F1<ad53>-2.5 E F0 2.5(][)C F2(mode)-2.5 E F0(])A .2
(The user \214le-creation mask is set to)144 405.6 R F2(mode)2.7 E F0
(The user \214le-creation mask is set to)144 429.6 R F2(mode)2.7 E F0
5.2(.I).18 G(f)-5.2 E F2(mode)3.08 E F0(be)2.88 E .2
(gins with a digit, it is interpreted as an octal)-.15 F .066(number; o\
therwise it is interpreted as a symbolic mode mask similar to that acce\
pted by)144 417.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
429.6 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
pted by)144 441.6 R F2 -.15(ch)2.566 G(mod).15 E F0(\(1\).).77 E(If)144
453.6 Q F2(mode)3.262 E F0 .382(is omitted, the current v)3.062 F .382
(alue of the mask is printed.)-.25 F(The)5.382 E F1<ad53>2.882 E F0 .382
(option causes the mask to be)2.882 F .547
(printed in symbolic form; the def)144 441.6 R .547
(printed in symbolic form; the def)144 465.6 R .547
(ault output is an octal number)-.1 F 5.547(.I)-.55 G 3.047(ft)-5.547 G
(he)-3.047 E F1<ad70>3.047 E F0 .547(option is supplied, and)3.047 F F2
(mode)144.38 453.6 Q F0 .551
(mode)144.38 477.6 Q F0 .551
(is omitted, the output is in a form that may be reused as input.)3.231
F .552(The return status is 0 if the)5.552 F(mode w)144 465.6 Q
F .552(The return status is 0 if the)5.552 F(mode w)144 489.6 Q
(as successfully changed or if no)-.1 E F2(mode)2.5 E F0(ar)2.5 E
(gument w)-.18 E(as supplied, and f)-.1 E(alse otherwise.)-.1 E F1
(unalias)108 482.4 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
(...])2.5 E(Remo)144 494.4 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name)
(unalias)108 506.4 Q F0<5bad>2.5 E F1(a)A F0 2.5(][)C F2(name)-2.5 E F0
(...])2.5 E(Remo)144 518.4 Q 1.955 -.15(ve e)-.15 H(ach).15 E F2(name)
4.155 E F0 1.655(from the list of de\214ned aliases.)4.155 F(If)6.655 E
F1<ad61>4.155 E F0 1.655(is supplied, all alias de\214nitions are)4.155
F(remo)144 506.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
F(remo)144 530.4 Q -.15(ve)-.15 G 2.5(d. The).15 F(return v)2.5 E
(alue is true unless a supplied)-.25 E F2(name)2.86 E F0
(is not a de\214ned alias.)2.68 E F1(unset)108 523.2 Q F0<5bad>2.5 E F1
(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 535.2 S 3.106
(is not a de\214ned alias.)2.68 E F1(unset)108 547.2 Q F0<5bad>2.5 E F1
(fv)A F0 2.5(][)C F2(name)-2.5 E F0(...])2.5 E -.15(Fo)144 559.2 S 3.106
(re).15 G(ach)-3.106 E F2(name)3.106 E F0 3.106(,r).18 G(emo)-3.106 E
.906 -.15(ve t)-.15 H .606(he corresponding v).15 F .607
(ariable or function.)-.25 F .607(If no options are supplied, or the)
5.607 F F1<ad76>144 547.2 Q F0 .305(option is gi)2.805 F -.15(ve)-.25 G
5.607 F F1<ad76>144 571.2 Q F0 .305(option is gi)2.805 F -.15(ve)-.25 G
.305(n, each).15 F F2(name)3.165 E F0 .305(refers to a shell v)2.985 F
2.805(ariable. Read-only)-.25 F -.25(va)2.805 G .304
(riables may not be unset.).25 F(If)5.304 E F1<ad66>144 559.2 Q F0 .459
(riables may not be unset.).25 F(If)5.304 E F1<ad66>144 583.2 Q F0 .459
(is speci\214ed, each)2.959 F F2(name)3.319 E F0 .459
(refers to a shell function, and the function de\214nition is remo)3.139
F -.15(ve)-.15 G 2.96(d. Each).15 F .903(unset v)144 571.2 R .903
F -.15(ve)-.15 G 2.96(d. Each).15 F .903(unset v)144 595.2 R .903
(ariable or function is remo)-.25 F -.15(ve)-.15 G 3.402(df).15 G .902
(rom the en)-3.402 F .902(vironment passed to subsequent commands.)-.4 F
(If)5.902 E(an)144 583.2 Q 4.284(yo)-.15 G(f)-4.284 E/F3 9/Times-Bold@0
(If)5.902 E(an)144 607.2 Q 4.284(yo)-.15 G(f)-4.284 E/F3 9/Times-Bold@0
SF(RANDOM)4.284 E/F4 9/Times-Roman@0 SF(,)A F3(SECONDS)4.035 E F4(,)A F3
(LINENO)4.035 E F4(,)A F3(HISTCMD)4.035 E F4(,)A F3(FUNCN)4.035 E(AME)
-.18 E F4(,)A F3(GR)4.035 E(OUPS)-.27 E F4(,)A F0(or)4.035 E F3(DIRST)
4.285 E -.495(AC)-.81 G(K).495 E F0(are)4.035 E .329(unset, the)144
595.2 R 2.829(yl)-.15 G .328(ose their special properties, e)-2.829 F
619.2 R 2.829(yl)-.15 G .328(ose their special properties, e)-2.829 F
-.15(ve)-.25 G 2.828(ni).15 G 2.828(ft)-2.828 G(he)-2.828 E 2.828(ya)
-.15 G .328(re subsequently reset.)-2.828 F .328(The e)5.328 F .328
(xit status is true)-.15 F(unless a)144 607.2 Q F2(name)2.86 E F0
(is readonly)2.68 E(.)-.65 E F1(wait)108 624 Q F0([)2.5 E F2 2.5(n.)C
(..)-2.5 E F0(])A -.8(Wa)144 636 S .288
(xit status is true)-.15 F(unless a)144 631.2 Q F2(name)2.86 E F0
(is readonly)2.68 E(.)-.65 E F1(wait)108 648 Q F0([)2.5 E F2 2.5(n.)C
(..)-2.5 E F0(])A -.8(Wa)144 660 S .288
(it for each speci\214ed process and return its termination status.).8 F
(Each)5.288 E F2(n)3.148 E F0 .288(may be a process ID or a)3.028 F .722
(job speci\214cation; if a job spec is gi)144 648 R -.15(ve)-.25 G .722
(job speci\214cation; if a job spec is gi)144 672 R -.15(ve)-.25 G .722
(n, all processes in that job').15 F 3.222(sp)-.55 G .722(ipeline are w)
-3.222 F .722(aited for)-.1 F 5.722(.I)-.55 G(f)-5.722 E F2(n)3.582 E F0
(is)3.462 E 1.265(not gi)144 660 R -.15(ve)-.25 G 1.265
(is)3.462 E 1.265(not gi)144 684 R -.15(ve)-.25 G 1.265
(n, all currently acti).15 F 1.565 -.15(ve c)-.25 H 1.265
(hild processes are w).15 F 1.265(aited for)-.1 F 3.765(,a)-.4 G 1.266
(nd the return status is zero.)-3.765 F(If)6.266 E F2(n)4.126 E F0 .457
(speci\214es a non-e)144 672 R .457
(speci\214es a non-e)144 696 R .457
(xistent process or job, the return status is 127.)-.15 F .457
(Otherwise, the return status is the)5.457 F -.15(ex)144 684 S
(Otherwise, the return status is the)5.457 F -.15(ex)144 708 S
(it status of the last process or job w).15 E(aited for)-.1 E(.)-.55 E
/F5 10.95/Times-Bold@0 SF(SEE ALSO)72 700.8 Q F0(bash\(1\), sh\(1\))108
712.8 Q(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(20)198.725 E 0 Cg EP
(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(20)198.725 E 0 Cg EP
%%Page: 21 21
%%BeginPageSetup
BP
%%EndPageSetup
/F0 10/Times-Roman@0 SF -.35(BA)72 48 S(SH_B).35 E(UIL)-.1 E 290.48
(TINS\(1\) B)-.92 F(ASH_B)-.35 E(UIL)-.1 E(TINS\(1\))-.92 E/F1 10.95
/Times-Bold@0 SF(SEE ALSO)72 84 Q F0(bash\(1\), sh\(1\))108 96 Q
(GNU Bash-4.0)72 768 Q(2004 Apr 20)148.735 E(21)198.725 E 0 Cg EP
%%Trailer
end
%%EOF
+1 -1
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.19.2
%%CreationDate: Thu Mar 5 07:54:57 2009
%%CreationDate: Mon Jun 8 08:33:19 2009
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.19 2
+1
View File
@@ -72,6 +72,7 @@ printenv_builtin (list)
else
print_var_value (var, 0);
printf("\n");
return (EXECUTION_SUCCESS);
}
+8 -11
View File
@@ -960,6 +960,11 @@ rl_redisplay ()
#define VIS_LINE(line) ((line) > _rl_vis_botlin) ? "" : VIS_CHARS(line)
#define INV_LINE(line) (invisible_line + inv_lbreaks[line])
#define OLD_CPOS_IN_PROMPT() (cpos_adjusted == 0 && \
_rl_last_c_pos != o_cpos && \
_rl_last_c_pos > wrap_offset && \
o_cpos < prompt_last_invisible)
/* For each line in the buffer, do the updating display. */
for (linenum = 0; linenum <= inv_botlin; linenum++)
{
@@ -982,11 +987,7 @@ rl_redisplay ()
time update_line is called, then we can assume in our
calculations that o_cpos does not need to be adjusted by
wrap_offset. */
if (linenum == 0 && (MB_CUR_MAX > 1 && rl_byte_oriented == 0) &&
cpos_adjusted == 0 &&
_rl_last_c_pos != o_cpos &&
_rl_last_c_pos > wrap_offset &&
o_cpos < prompt_last_invisible)
if (linenum == 0 && (MB_CUR_MAX > 1 && rl_byte_oriented == 0) && OLD_CPOS_IN_PROMPT())
_rl_last_c_pos -= prompt_invis_chars_first_line; /* XXX - was wrap_offset */
else if (linenum == prompt_last_screen_line && prompt_physical_chars > _rl_screenwidth &&
(MB_CUR_MAX > 1 && rl_byte_oriented == 0) &&
@@ -1203,12 +1204,8 @@ rl_redisplay ()
_rl_screenwidth + (lmargin ? 0 : wrap_offset),
0);
if ((MB_CUR_MAX > 1 && rl_byte_oriented == 0) &&
cpos_adjusted == 0 &&
_rl_last_c_pos != o_cpos &&
_rl_last_c_pos > wrap_offset &&
o_cpos < prompt_last_invisible)
_rl_last_c_pos -= prompt_invis_chars_first_line; /* XXX - was wrap_offset */
if ((MB_CUR_MAX > 1 && rl_byte_oriented == 0) && OLD_CPOS_IN_PROMPT())
_rl_last_c_pos -= prompt_invis_chars_first_line; /* XXX - was wrap_offset */
/* If the visible new line is shorter than the old, but the number
of invisible characters is greater, and we are at the end of
+5 -1
View File
@@ -982,6 +982,8 @@ rl_redisplay ()
time update_line is called, then we can assume in our
calculations that o_cpos does not need to be adjusted by
wrap_offset. */
/* XXX - if this is changed, change the version down below in
the horizontal scrolling section as well. */
if (linenum == 0 && (MB_CUR_MAX > 1 && rl_byte_oriented == 0) &&
cpos_adjusted == 0 &&
_rl_last_c_pos != o_cpos &&
@@ -1203,7 +1205,9 @@ rl_redisplay ()
_rl_screenwidth + (lmargin ? 0 : wrap_offset),
0);
if (linenum == 0 && (MB_CUR_MAX > 1 && rl_byte_oriented == 0) &&
/* This should be identical to the code above in the non-horizontal
scrolling section. */
if ((MB_CUR_MAX > 1 && rl_byte_oriented == 0) &&
cpos_adjusted == 0 &&
_rl_last_c_pos != o_cpos &&
_rl_last_c_pos > wrap_offset &&
+68 -37
View File
@@ -62,18 +62,38 @@ static size_t allocated;
/* **************************************************************** */
#if defined (HAVE_SBRK)
#define FINDBRK() \
do { \
if (brkfound == 0) \
{ \
lbreak = (PTR_T)sbrk (0); \
brkfound++; \
} \
} while (0)
static size_t
findbrk ()
{
if (brkfound == 0)
{
lbreak = (PTR_T)sbrk (0);
brkfound++;
}
FINDBRK();
return (char *)sbrk (0) - (char *)lbreak;
}
#else
#define FINDBRK()
#endif
static void
allocerr (func, bytes)
const char *func;
size_t bytes;
{
#if defined (HAVE_SBRK)
allocated = findbrk ();
fatal_error (_("%s: cannot allocate %lu bytes (%lu bytes allocated)"), func, (unsigned long)bytes, (unsigned long)allocated);
#else
fatal_error (_("%s: cannot allocate %lu bytes"), func, (unsigned long)bytes);
#endif /* !HAVE_SBRK */
}
/* Return a pointer to free()able block of memory large enough
to hold BYTES number of bytes. If the memory cannot be allocated,
print an error message and abort. */
@@ -83,17 +103,16 @@ xmalloc (bytes)
{
PTR_T temp;
#if defined (DEBUG)
if (bytes == 0)
internal_warning("xmalloc: size argument is 0");
#endif
FINDBRK();
temp = malloc (bytes);
if (temp == 0)
{
#if defined (HAVE_SBRK)
allocated = findbrk ();
fatal_error (_("xmalloc: cannot allocate %lu bytes (%lu bytes allocated)"), (unsigned long)bytes, (unsigned long)allocated);
#else
fatal_error (_("xmalloc: cannot allocate %lu bytes"), (unsigned long)bytes);
#endif /* !HAVE_SBRK */
}
allocerr ("xmalloc", bytes);
return (temp);
}
@@ -105,17 +124,16 @@ xrealloc (pointer, bytes)
{
PTR_T temp;
#if defined (DEBUG)
if (bytes == 0)
internal_warning("xrealloc: size argument is 0");
#endif
FINDBRK();
temp = pointer ? realloc (pointer, bytes) : malloc (bytes);
if (temp == 0)
{
#if defined (HAVE_SBRK)
allocated = findbrk ();
fatal_error (_("xrealloc: cannot reallocate %lu bytes (%lu bytes allocated)"), (unsigned long)bytes, (unsigned long)allocated);
#else
fatal_error (_("xrealloc: cannot allocate %lu bytes"), (unsigned long)bytes);
#endif /* !HAVE_SBRK */
}
allocerr ("xrealloc", bytes);
return (temp);
}
@@ -133,6 +151,21 @@ xfree (string)
#ifdef USING_BASH_MALLOC
#include <malloc/shmalloc.h>
static void
sh_allocerr (func, bytes, file, line)
const char *func;
size_t bytes;
char *file;
int line;
{
#if defined (HAVE_SBRK)
allocated = findbrk ();
fatal_error (_("%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"), func, file, line, (unsigned long)bytes, (unsigned long)allocated);
#else
fatal_error (_("%s: %s:%d: cannot allocate %lu bytes"), func, file, line, (unsigned long)bytes);
#endif /* !HAVE_SBRK */
}
PTR_T
sh_xmalloc (bytes, file, line)
size_t bytes;
@@ -141,17 +174,16 @@ sh_xmalloc (bytes, file, line)
{
PTR_T temp;
#if defined (DEBUG)
if (bytes == 0)
internal_warning("xmalloc: %s:%d: size argument is 0", file, line);
#endif
FINDBRK();
temp = sh_malloc (bytes, file, line);
if (temp == 0)
{
#if defined (HAVE_SBRK)
allocated = findbrk ();
fatal_error (_("xmalloc: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"), file, line, (unsigned long)bytes, (unsigned long)allocated);
#else
fatal_error (_("xmalloc: %s:%d: cannot allocate %lu bytes"), file, line, (unsigned long)bytes);
#endif /* !HAVE_SBRK */
}
sh_allocerr ("xmalloc", bytes, file, line);
return (temp);
}
@@ -165,17 +197,16 @@ sh_xrealloc (pointer, bytes, file, line)
{
PTR_T temp;
#if defined (DEBUG)
if (bytes == 0)
internal_warning("xrealloc: %s:%d: size argument is 0", file, line);
#endif
FINDBRK();
temp = pointer ? sh_realloc (pointer, bytes, file, line) : sh_malloc (bytes, file, line);
if (temp == 0)
{
#if defined (HAVE_SBRK)
allocated = findbrk ();
fatal_error (_("xrealloc: %s:%d: cannot reallocate %lu bytes (%lu bytes allocated)"), file, line, (unsigned long)bytes, (unsigned long)allocated);
#else
fatal_error (_("xrealloc: %s:%d: cannot allocate %lu bytes"), file, line, (unsigned long)bytes);
#endif /* !HAVE_SBRK */
}
sh_allocerr ("xrealloc", bytes, file, line);
return (temp);
}
+209
View File
@@ -0,0 +1,209 @@
/* xmalloc.c -- safe versions of malloc and realloc */
/* Copyright (C) 1991-2009 Free Software Foundation, Inc.
This file is part of GNU Bash, the GNU Bourne Again SHell.
Bash is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Bash is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Bash. If not, see <http://www.gnu.org/licenses/>.
*/
#if defined (HAVE_CONFIG_H)
#include <config.h>
#endif
#include "bashtypes.h"
#include <stdio.h>
#if defined (HAVE_UNISTD_H)
# include <unistd.h>
#endif
#if defined (HAVE_STDLIB_H)
# include <stdlib.h>
#else
# include "ansi_stdlib.h"
#endif /* HAVE_STDLIB_H */
#include "error.h"
#include "bashintl.h"
#if !defined (PTR_T)
# if defined (__STDC__)
# define PTR_T void *
# else
# define PTR_T char *
# endif /* !__STDC__ */
#endif /* !PTR_T */
#if defined (HAVE_SBRK) && !HAVE_DECL_SBRK
extern char *sbrk();
#endif
static PTR_T lbreak;
static int brkfound;
static size_t allocated;
/* **************************************************************** */
/* */
/* Memory Allocation and Deallocation. */
/* */
/* **************************************************************** */
#if defined (HAVE_SBRK)
#define FINDBRK() \
do { \
if (brkfound == 0) \
{ \
lbreak = (PTR_T)sbrk (0); \
brkfound++; \
} \
} while (0)
static size_t
findbrk ()
{
FINDBRK();
return (char *)sbrk (0) - (char *)lbreak;
}
#else
#define FINDBRK()
#endif
static void
allocerr (func, bytes)
const char *func;
size_t bytes;
{
#if defined (HAVE_SBRK)
allocated = findbrk ();
fatal_error (_("%s: cannot allocate %lu bytes (%lu bytes allocated)"), func, (unsigned long)bytes, (unsigned long)allocated);
#else
fatal_error (_("%s: cannot allocate %lu bytes"), func, (unsigned long)bytes);
#endif /* !HAVE_SBRK */
}
/* Return a pointer to free()able block of memory large enough
to hold BYTES number of bytes. If the memory cannot be allocated,
print an error message and abort. */
PTR_T
xmalloc (bytes)
size_t bytes;
{
PTR_T temp;
if (bytes == 0)
internal_warning("xmalloc: size argument is 0");
FINDBRK();
temp = malloc (bytes);
if (temp == 0)
allocerr ("xmalloc", bytes);
return (temp);
}
PTR_T
xrealloc (pointer, bytes)
PTR_T pointer;
size_t bytes;
{
PTR_T temp;
if (bytes == 0)
internal_warning("xrealloc: size argument is 0");
FINDBRK();
temp = pointer ? realloc (pointer, bytes) : malloc (bytes);
if (temp == 0)
allocerr ("xrealloc", bytes);
return (temp);
}
/* Use this as the function to call when adding unwind protects so we
don't need to know what free() returns. */
void
xfree (string)
PTR_T string;
{
if (string)
free (string);
}
#ifdef USING_BASH_MALLOC
#include <malloc/shmalloc.h>
static void
sh_allocerr (func, bytes, file, line)
const char *func;
size_t bytes;
char *file;
int line;
{
#if defined (HAVE_SBRK)
allocated = findbrk ();
fatal_error (_("%s: %s:%d: cannot allocate %lu bytes (%lu bytes allocated)"), func, file, line, (unsigned long)bytes, (unsigned long)allocated);
#else
fatal_error (_("%s: %s:%d: cannot allocate %lu bytes"), func, file, line, (unsigned long)bytes);
#endif /* !HAVE_SBRK */
}
PTR_T
sh_xmalloc (bytes, file, line)
size_t bytes;
char *file;
int line;
{
PTR_T temp;
FINDBRK();
temp = sh_malloc (bytes, file, line);
if (temp == 0)
sh_allocerr ("xmalloc", bytes, file, line);
return (temp);
}
PTR_T
sh_xrealloc (pointer, bytes, file, line)
PTR_T pointer;
size_t bytes;
char *file;
int line;
{
PTR_T temp;
FINDBRK();
temp = pointer ? sh_realloc (pointer, bytes, file, line) : sh_malloc (bytes, file, line);
if (temp == 0)
sh_allocerr ("xrealloc", bytes, file, line);
return (temp);
}
void
sh_xfree (string, file, line)
PTR_T string;
char *file;
int line;
{
if (string)
sh_free (string, file, line);
}
#endif