Files
bash/ddd1~
T

1198 lines
36 KiB
Plaintext

*** ../bash-3.2-patched/doc/bash.1 2006-09-28 10:26:05.000000000 -0400
--- doc/bash.1 2008-04-25 12:32:49.000000000 -0400
***************
*** 1,16 ****
! \"
.\" MAN PAGE COMMENTS to
.\"
.\" Chet Ramey
- .\" Information Network Services
.\" Case Western Reserve University
.\" chet@po.cwru.edu
.\"
! .\" Last Change: Thu Sep 28 10:25:59 EDT 2006
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
! .TH BASH 1 "2006 September 28" "GNU Bash-3.2"
.\"
.\" There's some problem with having a `@'
--- 1,15 ----
! .\"
.\" MAN PAGE COMMENTS to
.\"
.\" Chet Ramey
.\" Case Western Reserve University
.\" chet@po.cwru.edu
.\"
! .\" Last Change: Fri Apr 25 12:26:57 EDT 2008
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
! .TH BASH 1 "2008 April 25" "GNU Bash-4.0"
.\"
.\" There's some problem with having a `@'
***************
*** 52,57 ****
[file]
.SH COPYRIGHT
! .if n Bash is Copyright (C) 1989-2005 by the Free Software Foundation, Inc.
! .if t Bash is Copyright \(co 1989-2005 by the Free Software Foundation, Inc.
.SH DESCRIPTION
.B Bash
--- 51,56 ----
[file]
.SH COPYRIGHT
! .if n Bash is Copyright (C) 1989-2008 by the Free Software Foundation, Inc.
! .if t Bash is Copyright \(co 1989-2008 by the Free Software Foundation, Inc.
.SH DESCRIPTION
.B Bash
***************
*** 411,419 ****
.PP
.B Bash
! attempts to determine when it is being run by the remote shell
! daemon, usually \fIrshd\fP.
If
.B bash
! determines it is being run by \fIrshd\fP, it reads and executes
commands from \fI~/.bashrc\fP, if that file exists and is readable.
It will not do this if invoked as \fBsh\fP.
--- 410,419 ----
.PP
.B Bash
! attempts to determine when it is being run with its standard input
! connected to a a network connection, as if by the remote shell
! daemon, usually \fIrshd\fP, or the secure shell daemon \fIsshd\fP.
If
.B bash
! determines it is being run in this fashion, it reads and executes
commands from \fI~/.bashrc\fP, if that file exists and is readable.
It will not do this if invoked as \fBsh\fP.
***************
*** 579,583 ****
.B ;
and
! .BR &,
which have equal precedence.
.PP
--- 579,583 ----
.B ;
and
! .BR & ,
which have equal precedence.
.PP
***************
*** 595,603 ****
exit status of the last command executed.
.PP
! The control operators
! .B &&
! and
! .B \(bv\(bv
! denote AND lists and OR lists, respectively.
An AND list has the form
.RS
--- 595,601 ----
exit status of the last command executed.
.PP
! AND and OR lists are sequences of one of more pipelines separated by the
! \fB&&\fP and \fB\(bv\(bv\fP control operators, respectively.
! AND and OR lists are executed with left associativity.
An AND list has the form
.RS
***************
*** 621,625 ****
is executed if and only if
.I command1
! returns a non-zero exit status. The return status of
AND and OR lists is the exit status of the last command
executed in the list.
--- 619,624 ----
is executed if and only if
.I command1
! returns a non-zero exit status.
! The return status of
AND and OR lists is the exit status of the last command
executed in the list.
***************
*** 647,651 ****
\fB}\fP are \fIreserved words\fP and must occur where a reserved
word is permitted to be recognized. Since they do not cause a word
! break, they must be separated from \fIlist\fP by whitespace.
.TP
((\fIexpression\fP))
--- 646,651 ----
\fB}\fP are \fIreserved words\fP and must occur where a reserved
word is permitted to be recognized. Since they do not cause a word
! break, they must be separated from \fIlist\fP by whitespace or another
! shell metacharacter.
.TP
((\fIexpression\fP))
***************
*** 697,700 ****
--- 697,702 ----
is enabled, the match is performed without regard to the case
of alphabetic characters.
+ Any part of the pattern may be quoted to force it to be matched as a
+ string.
Substrings matched by parenthesized subexpressions within the regular
expression are saved in the array variable \fBBASH_REMATCH\fP.
***************
*** 943,947 ****
of all characters within the quotes, with the exception of
.BR $ ,
! .BR ` ,
.BR \e ,
and, when history expansion is enabled,
--- 945,949 ----
of all characters within the quotes, with the exception of
.BR $ ,
! .BR \` ,
.BR \e ,
and, when history expansion is enabled,
***************
*** 950,959 ****
.B $
and
! .B `
retain their special meaning within double quotes. The backslash
retains its special meaning only when followed by one of the following
characters:
.BR $ ,
! .BR ` ,
\^\fB"\fP\^,
.BR \e ,
--- 952,961 ----
.B $
and
! .B \`
retain their special meaning within double quotes. The backslash
retains its special meaning only when followed by one of the following
characters:
.BR $ ,
! .BR \` ,
\^\fB"\fP\^,
.BR \e ,
***************
*** 1186,1190 ****
.TP
.B ?
! Expands to the status of the most recently executed foreground
pipeline.
.TP
--- 1188,1192 ----
.TP
.B ?
! Expands to the exit status of the most recently executed foreground
pipeline.
.TP
***************
*** 1246,1252 ****
.BR bash .
.TP
.B BASH_ARGC
An array variable whose values are the number of parameters in each
! frame of the current bash execution call stack.
The number of
parameters to the current subroutine (shell function or script executed
--- 1248,1259 ----
.BR bash .
.TP
+ .B BASHPID
+ Expands to the process id of the current \fBbash\fP process.
+ This differs from \fB$$\fP under certain circumstances, such as subshells
+ that do not require \fBbash\fP to be re-initialized.
+ .TP
.B BASH_ARGC
An array variable whose values are the number of parameters in each
! frame of the current \fBbash\fP execution call stack.
The number of
parameters to the current subroutine (shell function or script executed
***************
*** 1262,1266 ****
.TP
.B BASH_ARGV
! An array variable containing all of the parameters in the current bash
execution call stack. The final parameter of the last subroutine call
is at the top of the stack; the first parameter of the initial call is
--- 1269,1273 ----
.TP
.B BASH_ARGV
! An array variable containing all of the parameters in the current \fBbash\fP
execution call stack. The final parameter of the last subroutine call
is at the top of the stack; the first parameter of the initial call is
***************
*** 1286,1290 ****
corresponding to each member of \fBFUNCNAME\fP.
\fB${BASH_LINENO[\fP\fI$i\fP\fB]}\fP is the line number in the source
! file where \fB${FUNCNAME[\fP\fI$ifP\fB]}\fP was called.
The corresponding source file name is \fB${BASH_SOURCE[\fP\fI$i\fP\fB]}\fB.
Use \fBLINENO\fP to obtain the current line number.
--- 1293,1299 ----
corresponding to each member of \fBFUNCNAME\fP.
\fB${BASH_LINENO[\fP\fI$i\fP\fB]}\fP is the line number in the source
! file where \fB${FUNCNAME[\fP\fI$i\fP\fB]}\fP was called
! (or \fB${BASH_LINENO[\fP\fI$i-1\fP\fB]}\fP if referenced within another
! shell function).
The corresponding source file name is \fB${BASH_SOURCE[\fP\fI$i\fP\fB]}\fB.
Use \fBLINENO\fP to obtain the current line number.
***************
*** 1347,1350 ****
--- 1356,1363 ----
below).
.TP
+ .B COMP_KEY
+ The key (or final key of a key sequence) used to invoke the current
+ completion function.
+ .TP
.B COMP_LINE
The current command line.
***************
*** 1364,1367 ****
--- 1377,1394 ----
below).
.TP
+ .B COMP_TYPE
+ Set to an integer value corresponding to the type of completion attempted
+ that caused a completion function to be called:
+ \fITAB\fP, for normal completion,
+ \fI?\fP, for listing completions after successive tabs,
+ \fI!\fP, for listing alternatives on partial word completion,
+ \fI@\fP, to list completions if the word is not unmodified,
+ or
+ \fI%\fP, for menu completion.
+ This variable is available only in shell functions and external
+ commands invoked by the
+ programmable completion facilities (see \fBProgrammable Completion\fP
+ below).
+ .TP
.B COMP_WORDBREAKS
The set of characters that the Readline library treats as word
***************
*** 1411,1415 ****
The element with index 0 is the name of any currently-executing
shell function.
! The bottom-most element is "main".
This variable exists only when a shell function is executing.
Assignments to
--- 1438,1444 ----
The element with index 0 is the name of any currently-executing
shell function.
! The bottom-most element is
! .if t \f(CW"main"\fP.
! .if n "main".
This variable exists only when a shell function is executing.
Assignments to
***************
*** 1728,1731 ****
--- 1757,1762 ----
If this variable is set, time stamps are written to the history file so
they may be preserved across shell sessions.
+ This uses the history comment character to distinguish timestamps from
+ other history lines.
.TP
.B HOME
***************
*** 2431,2435 ****
one space to avoid being confused with the :- expansion.
Substring indexing is zero-based unless the positional parameters
! are used, in which case the indexing starts at 1.
.TP
${\fB!\fP\fIprefix\fP\fB*\fP}
--- 2462,2468 ----
one space to avoid being confused with the :- expansion.
Substring indexing is zero-based unless the positional parameters
! are used, in which case the indexing starts at 1 by default.
! If \fIoffset\fP is 0, and the positional parameters are used, \fB$0\fP is
! prefixed to the list.
.TP
${\fB!\fP\fIprefix\fP\fB*\fP}
***************
*** 2443,2446 ****
--- 2476,2481 ----
.B IFS
special variable.
+ When \fI@\fP is used and the expansion appears within double quotes, each
+ variable name expands to a separate word.
.TP
${\fB!\fP\fIname\fP[\fI@\fP]}
***************
*** 2540,2544 ****
\fIParameter\fP is expanded and the longest match of \fIpattern\fP
against its value is replaced with \fIstring\fP.
! If \Ipattern\fP begins with \fB/\fP, all matches of \fIpattern\fP are
replaced with \fIstring\fP. Normally only the first match is replaced.
If \fIpattern\fP begins with \fB#\fP, it must match at the beginning
--- 2575,2579 ----
\fIParameter\fP is expanded and the longest match of \fIpattern\fP
against its value is replaced with \fIstring\fP.
! If \fIpattern\fP begins with \fB/\fP, all matches of \fIpattern\fP are
replaced with \fIstring\fP. Normally only the first match is replaced.
If \fIpattern\fP begins with \fB#\fP, it must match at the beginning
***************
*** 2575,2579 ****
or
.RS
! \fB`\fP\fIcommand\fP\fB`\fP
.RE
.PP
--- 2610,2614 ----
or
.RS
! \fB\`\fP\fIcommand\fP\fB\`\fP
.RE
.PP
***************
*** 2590,2594 ****
backslash retains its literal meaning except when followed by
.BR $ ,
! .BR ` ,
or
.BR \e .
--- 2625,2629 ----
backslash retains its literal meaning except when followed by
.BR $ ,
! .BR \` ,
or
.BR \e .
***************
*** 2669,2676 ****
.BR <space><tab><newline> ,
the default, then
any sequence of
.SM
.B IFS
! characters serves to delimit words. If
.SM
.B IFS
--- 2704,2719 ----
.BR <space><tab><newline> ,
the default, then
+ sequences of
+ .BR <space> ,
+ .BR <tab> ,
+ and
+ .B <newline>
+ at the beginning and end of the results of the previous
+ expansions are ignored, and
any sequence of
.SM
.B IFS
! characters not at the beginning or end serves to delimit words.
! If
.SM
.B IFS
***************
*** 3160,3164 ****
.BR $ ,
and
! .BR ` .
.PP
If the redirection operator is
--- 3203,3207 ----
.BR $ ,
and
! .BR \` .
.PP
If the redirection operator is
***************
*** 3274,3278 ****
is checked to see if it has an
alias. If so, that word is replaced by the text of the alias.
! The characters \fB/\fP, \fB$\fP, \fB`\fP, and \fB=\fP and
any of the shell \fImetacharacters\fP or quoting characters
listed above may not appear in an alias name.
--- 3317,3321 ----
is checked to see if it has an
alias. If so, that word is replaced by the text of the alias.
! The characters \fB/\fP, \fB$\fP, \fB\`\fP, and \fB=\fP and
any of the shell \fImetacharacters\fP or quoting characters
listed above may not appear in an alias name.
***************
*** 3749,3753 ****
.B PATH
is performed only if the command is not found in the hash table.
! If the search is unsuccessful, the shell prints an error
message and returns an exit status of 127.
.PP
--- 3792,3801 ----
.B PATH
is performed only if the command is not found in the hash table.
! If the search is unsuccessful, the shell searches for a defined shell
! function named \fBcommand_not_found_handle\fP.
! If that function exists, it is invoked with the original command and
! the original command's arguments as its arguments, and the function's
! exit status becomes the exit status of the shell.
! If that function is not defined, the shell prints an error
message and returns an exit status of 127.
.PP
***************
*** 3907,3910 ****
--- 3955,3967 ----
command in its environment.
.SH "EXIT STATUS"
+ .PP
+ The exit status of an executed command is the value returned by the
+ \fIwaitpid\fP system call or equivalent function. Exit statuses
+ fall between 0 and 255, though, as explained below, the shell may
+ use values above 125 specially. Exit statuses from shell builtins and
+ compound commands are also limited to this range. Under certain
+ circumstances, the shell will use special values to indicate specific
+ failure modes.
+ .PP
For the shell's purposes, a command which exits with a
zero exit status has succeeded. An exit status of zero
***************
*** 4173,4181 ****
If an attempt to exit
.B bash
! is made while jobs are stopped, the shell prints a warning message. The
.B jobs
! command may then be used to inspect their status.
If a second attempt to exit is made without an intervening command,
! the shell does not print another warning, and the stopped
jobs are terminated.
.SH PROMPTING
--- 4230,4242 ----
If an attempt to exit
.B bash
! is made while jobs are stopped (or, if the \fBcheckjobs\fP shell option has
! been enabled using the \fBshopt\fP builtin, running), the shell prints a
! warning message, and, if the \fBcheckjobs\fP option is enabled, lists the
! jobs and their statuses.
! The
.B jobs
! command may then be used to inspect their status.
If a second attempt to exit is made without an intervening command,
! the shell does not print another warning, and any stopped
jobs are terminated.
.SH PROMPTING
***************
*** 4656,4659 ****
--- 4717,4724 ----
or \fBnext-history\fP.
.TP
+ .B history\-size (0)
+ Set the maximum number of history entries saved in the history list. If
+ set to zero, the number of entries in the history list is not limited.
+ .TP
.B horizontal\-scroll\-mode (Off)
When set to \fBOn\fP, makes readline use a single line for display,
***************
*** 5454,5461 ****
When the command or function is invoked, the
.SM
! .B COMP_LINE
and
.SM
! .B COMP_POINT
variables are assigned values as described above under
\fBShell Variables\fP.
--- 5519,5530 ----
When the command or function is invoked, the
.SM
! .BR COMP_LINE ,
! .SM
! .BR COMP_POINT ,
! .SM
! .BR COMP_KEY ,
and
.SM
! .B COMP_TYPE
variables are assigned values as described above under
\fBShell Variables\fP.
***************
*** 5567,5570 ****
--- 5636,5646 ----
.SM
.BR HISTFILESIZE .
+ When the history file is read,
+ lines beginning with the history comment character followed immediately
+ by a digit are interpreted as timestamps for the preceding history line.
+ These timestamps are optionally displayed depending on the value of the
+ .SM
+ .B HISTTIMEFORMAT
+ variable.
When an interactive shell exits, the last
.SM
***************
*** 5587,5591 ****
.B HISTFILE
is unset, or if the history file is unwritable, the history is
! not saved. After saving the history, the history file is truncated
to contain no more than
.SM
--- 5663,5676 ----
.B HISTFILE
is unset, or if the history file is unwritable, the history is
! not saved.
! If the
! .SM
! .HISTTIMEFORMAT
! variable is set, time stamps are written to the history file, marked
! with the history comment character, so
! they may be preserved across shell sessions.
! This uses the history comment character to distinguish timestamps from
! other history lines.
! After saving the history, the history file is truncated
to contain no more than
.SM
***************
*** 5721,5724 ****
--- 5806,5812 ----
above under
.BR "Shell Variables" ).
+ The shell uses
+ the history comment character to mark history timestamps when
+ writing the history file.
.SS Event Designators
.PP
***************
*** 5980,5985 ****
had been started with
.BR & .
! If \fIjobspec\fP is not present, the shell's notion of the
! \fIcurrent job\fP is used.
.B bg
.I jobspec
--- 6068,6074 ----
had been started with
.BR & .
! If
! .I jobspec
! is not present, the shell's notion of the \fIcurrent job\fP is used.
.B bg
.I jobspec
***************
*** 6039,6049 ****
List current \fBreadline\fP function names and bindings.
.TP
- .B \-v
- Display \fBreadline\fP variable names and values in such a way that they
- can be re-read.
- .TP
- .B \-V
- List current \fBreadline\fP variable names and values.
- .TP
.B \-s
Display \fBreadline\fP key sequences bound to macros and the strings
--- 6128,6131 ----
***************
*** 6054,6057 ****
--- 6136,6146 ----
they output.
.TP
+ .B \-v
+ Display \fBreadline\fP variable names and values in such a way that they
+ can be re-read.
+ .TP
+ .B \-V
+ List current \fBreadline\fP variable names and values.
+ .TP
.B \-f \fIfilename\fP
Read key bindings from \fIfilename\fP.
***************
*** 6104,6107 ****
--- 6193,6210 ----
is not a shell builtin command.
.TP
+ \fBcaller\fP [\fIexpr\fP]
+ Returns the context of any active subroutine call (a shell function or
+ a script executed with the \fB.\fP or \fBsource\fP builtins.
+ Without \fIexpr\fP, \fBcaller\fP displays the line number and source
+ filename of the current subroutine call.
+ If a non-negative integer is supplied as \fIexpr\fP, \fBcaller\fP
+ displays the line number, subroutine name, and source file corresponding
+ to that position in the current execution call stack. This extra
+ information may be used, for example, to print a stack trace. The
+ current frame is frame 0.
+ The return value is 0 unless the shell is not executing a subroutine
+ call or \fIexpr\fP does not correspond to a valid position in the
+ call stack.
+ .TP
\fBcd\fP [\fB\-L|-P\fP] [\fIdir\fP]
Change the current directory to \fIdir\fP. The variable
***************
*** 6149,6166 ****
false otherwise.
.TP
- \fBcaller\fP [\fIexpr\fP]
- Returns the context of any active subroutine call (a shell function or
- a script executed with the \fB.\fP or \fBsource\fP builtins.
- Without \fIexpr\fP, \fBcaller\fP displays the line number and source
- filename of the current subroutine call.
- If a non-negative integer is supplied as \fIexpr\fP, \fBcaller\fP
- displays the line number, subroutine name, and source file corresponding
- to that position in the current execution call stack. This extra
- information may be used, for example, to print a stack trace. The
- current frame is frame 0.
- The return value is 0 unless the shell is not executing a subroutine
- call or \fIexpr\fP does not correspond to a valid position in the
- call stack.
- .TP
\fBcommand\fP [\fB\-pVv\fP] \fIcommand\fP [\fIarg\fP ...]
Run
--- 6252,6255 ----
***************
*** 6226,6235 ****
matches were generated.
.TP
! \fBcomplete\fP [\fB\-abcdefgjksuv\fP] [\fB\-o\fP \fIcomp-option\fP] [\fB\-A\fP \fIaction\fP] [\fB\-G\fP \fIglobpat\fP] [\fB\-W\fP \fIwordlist\fP] [\fB\-P\fP \fIprefix\fP] [\fB\-S\fP \fIsuffix\fP]
.br
! [\fB\-X\fP \fIfilterpat\fP] [\fB\-F\fP \fIfunction\fP] [\fB\-C\fP \fIcommand\fP] \fIname\fP [\fIname ...\fP]
.PD 0
.TP
! \fBcomplete\fP \fB\-pr\fP [\fIname\fP ...]
.PD
Specify how arguments to each \fIname\fP should be completed.
--- 6315,6324 ----
matches were generated.
.TP
! \fBcomplete\fP [\fB\-abcdefgjksuv\fP] [\fB\-o\fP \fIcomp-option\fP] [\fB\-E\fP] [\fB\-A\fP \fIaction\fP] [\fB\-G\fP \fIglobpat\fP] [\fB\-W\fP \fIwordlist\fP] [\fB\-F\fP \fIfunction\fP] [\fB\-C\fP \fIcommand\fP]
.br
! [\fB\-X\fP \fIfilterpat\fP] [\fB\-P\fP \fIprefix\fP] [\fB\-S\fP \fIsuffix\fP] \fIname\fP [\fIname ...\fP]
.PD 0
.TP
! \fBcomplete\fP \fB\-pr\fP [\fB\-E\fP] [\fIname\fP ...]
.PD
Specify how arguments to each \fIname\fP should be completed.
***************
*** 6240,6243 ****
--- 6329,6335 ----
each \fIname\fP, or, if no \fIname\fPs are supplied, all
completion specifications.
+ The \fB\-E\fP option indicates that the remaining options and actions should
+ apply to ``empty'' command completion; that is, completion attempted on a
+ blank line.
.sp 1
The process of applying these completion specifications when word completion
***************
*** 6415,6418 ****
--- 6507,6523 ----
.RE
.TP
+ \fBcompopt\fP [\fB\-o\fP \fIoption\fP] [\fB+o\fP \fIoption\fP] [\fIname\fP]
+ Modify completion options for each \fIname\fP according to the
+ \fIoption\fPs, or for the
+ currently-execution completion if no \fIname\fPs are supplied.
+ If no \fIoption\fPs are given, display the completion options for each
+ \fIname\fP or the current completion.
+ The possible values of \fIoption\fP are those valid for the \fBcomplete\fP
+ builtin described above.
+ .PP
+ The return value is true unless an invalid option is supplied, an attempt
+ is made to modify the options for a \fIname\fP for which no completion
+ specification exists, or an output error occurs.
+ .TP
\fBcontinue\fP [\fIn\fP]
Resume the next iteration of the enclosing
***************
*** 6448,6452 ****
When
.B \-p
! is used, additional options are ignored.
The
.B \-F
--- 6553,6565 ----
When
.B \-p
! is used with \fIname\fP arguments, additional options are ignored.
! When
! .B \-p
! is supplied without \fIname\fP arguments, it will display the attributes
! and values of all variables having the attributes specified by the
! additional options.
! If no other options are supplied with \fB\-p\fP, \fBdeclare\fP will display
! the attributes and values of all shell variables. The \fB\-f\fP option
! will restrict the display to shell functions.
The
.B \-F
***************
*** 6494,6499 ****
.PP
Using `+' instead of `\-'
! turns off the attribute instead, with the exception that \fB+a\fP
! may not be used to destroy an array variable. When used in a function,
makes each
\fIname\fP local, as with the
--- 6607,6615 ----
.PP
Using `+' instead of `\-'
! turns off the attribute instead,
! with the exceptions that \fB+a\fP
! may not be used to destroy an array variable and \fB+r\fB will not
! remove the readonly attribute.
! When used in a function,
makes each
\fIname\fP local, as with the
***************
*** 6516,6520 ****
.RE
.TP
! .B dirs [\fB\-clpv\fP] [+\fIn\fP] [\-\fIn\fP]
Without options, displays the list of currently remembered directories.
The default display is on a single line with directory names separated
--- 6632,6636 ----
.RE
.TP
! .B dirs [+\fIn\fP] [\-\fIn\fP] [\fB\-cplv\fP]
Without options, displays the list of currently remembered directories.
The default display is on a single line with directory names separated
***************
*** 6564,6567 ****
--- 6680,6687 ----
.I jobspec
is removed from the table of active jobs.
+ If
+ .I jobspec
+ is not present, and neither \fB\-a\fB nor \fB\-r\fP is supplied,
+ the shell's notion of the \fIcurrent job\fP is used.
If the \fB\-h\fP option is given, each
.I jobspec
***************
*** 6651,6655 ****
.RE
.TP
! \fBenable\fP [\fB\-adnps\fP] [\fB\-f\fP \fIfilename\fP] [\fIname\fP ...]
Enable and disable builtin shell commands.
Disabling a builtin allows a disk command which has the same name
--- 6771,6775 ----
.RE
.TP
! \fBenable\fP [\fB\-a\fP] [\fB\-dnps\fP] [\fB\-f\fP \fIfilename\fP] [\fIname\fP ...]
Enable and disable builtin shell commands.
Disabling a builtin allows a disk command which has the same name
***************
*** 6712,6716 ****
.B \-l
option is supplied,
! the shell places a dash at the beginning of the zeroth arg passed to
.IR command .
This is what
--- 6832,6836 ----
.B \-l
option is supplied,
! the shell places a dash at the beginning of the zeroth argument passed to
.IR command .
This is what
***************
*** 6783,6787 ****
that is not a function.
.TP
! \fBfc\fP [\fB\-e\fP \fIename\fP] [\fB\-nlr\fP] [\fIfirst\fP] [\fIlast\fP]
.PD 0
.TP
--- 6903,6907 ----
that is not a function.
.TP
! \fBfc\fP [\fB\-e\fP \fIename\fP] [\fB\-lnr\fP] [\fIfirst\fP] [\fIlast\fP]
.PD 0
.TP
***************
*** 7028,7032 ****
is not found or an invalid option is supplied.
.TP
! \fBhelp\fP [\fB\-s\fP] [\fIpattern\fP]
Display helpful information about builtin commands. If
.I pattern
--- 7148,7152 ----
is not found or an invalid option is supplied.
.TP
! \fBhelp\fP [\fB\-dms\fP] [\fIpattern\fP]
Display helpful information about builtin commands. If
.I pattern
***************
*** 7037,7042 ****
otherwise help for all the builtins and shell control structures
is printed.
! The \fB\-s\fP option restricts the information displayed to a short
! usage synopsis.
The return status is 0 unless no command matches
.IR pattern .
--- 7157,7173 ----
otherwise help for all the builtins and shell control structures
is printed.
! .RS
! .PD 0
! .TP
! .B \-d
! Display a short description of each \fIpattern\fP
! .TP
! .B \ -m
! Display the description of each \fIpattern\fP in a manpage-like format
! .TP
! .B \-s
! Display only a short usage synopsis for each \fIpattern\fP
! .PD
! .RE
The return status is 0 unless no command matches
.IR pattern .
***************
*** 7117,7121 ****
.PP
If the \fBHISTTIMEFORMAT\fP is set, the time stamp information
! associated with each history entry is written to the history file.
The return value is 0 unless an invalid option is encountered, an
error occurs while reading or writing the history file, an invalid
--- 7248,7256 ----
.PP
If the \fBHISTTIMEFORMAT\fP is set, the time stamp information
! associated with each history entry is written to the history file,
! marked with the history comment character.
! When the history file is read, lines beginning with the history
! comment character followed immediately by a digit are interpreted
! as timestamps for the previous history line.
The return value is 0 unless an invalid option is encountered, an
error occurs while reading or writing the history file, an invalid
***************
*** 7260,7263 ****
--- 7395,7458 ----
Exit a login shell.
.TP
+ \fBmapfile\fP [\fB\-n\fP \fIcount\fP] [\fB\-O\fP \fIorigin\fP] [\fB\-s\fP \fIcou
+ nt\fP] [\fB\-t\fP] [\fB\-u\fP \fIfd\fP] [\fB\-C\fP \fIcallback\fP] [\fB\-c\fP \f
+ Iquantum\fP] [\fIarray\fP]
+ Read lines from the standard input into array variable
+ .IR array ,
+ or from file descriptor
+ .IR fd
+ if the
+ .B \-u
+ option is supplied.
+ The variable \fBMAPFILE\fP is the default \fIarray\fP.
+ Options, if supplied, have the following meanings:
+ .RS
+ .PD 0
+ .TP
+ .B \-n
+ Copy at most
+ .I count
+ lines. If \fIcount\fP is 0, all lines are copied.
+ .TP
+ .B \-O
+ Begin assigning to
+ .I array
+ at index
+ .IR origin .
+ The default index is 0.
+ .TP
+ .B \-s
+ Discard the first \fIcount\fP lines read.
+ .TP
+ .B \-t
+ Remove a trailing line from each line read.
+ .TP
+ .B \-u
+ Read lines from file descriptor \fIfd\fP instead of the standard input.
+ .TP
+ .B \-C
+ Evaluate
+ .I callback
+ each time \fIquantum\fP lines are read. The \fB\-c\fP option specifies
+ .IR quantum .
+ .TP
+ .B \-c
+ Specify the number of lines read between each call to
+ .IR callback .
+ .PD
+ .PP
+ If
+ .B \-C
+ is specified without
+ .BR \-c ,
+ the default quantum is 5000.
+ .PP
+ If not supplied with an explicit origin, \fBmapfile\fP will clear \fIarray\fP
+ before assigning to it.
+ .PP
+ \fBmapfile\fP returns successfully unless an invalid option or option
+ argument is supplied, or \fIarray\fP is invalid or unassignable.
+ .RE
+ .TP
\fBpopd\fP [\-\fBn\fP] [+\fIn\fP] [\-\fIn\fP]
Removes entries from the directory stack. With no arguments,
***************
*** 7269,7272 ****
--- 7464,7471 ----
.PD 0
.TP
+ .B \-n
+ Suppresses the normal change of directory when removing directories
+ from the stack, so that only the stack is manipulated.
+ .TP
\fB+\fP\fIn\fP
Removes the \fIn\fPth entry counting from the left of the list
***************
*** 7292,7299 ****
.if t \f(CWpopd -1\fP
the next to last.
- .TP
- .B \-n
- Suppresses the normal change of directory when removing directories
- from the stack, so that only the stack is manipulated.
.PD
.PP
--- 7491,7494 ----
***************
*** 7334,7341 ****
non-zero on failure.
.TP
! \fBpushd\fP [\fB\-n\fP] [\fIdir\fP]
.PD 0
.TP
! \fBpushd\fP [\fB\-n\fP] [+\fIn\fP] [\-\fIn\fP]
.PD
Adds a directory to the top of the directory stack, or rotates
--- 7529,7536 ----
non-zero on failure.
.TP
! \fBpushd\fP [\fB\-n\fP] [+\fIn\fP] [\-\fIn\fP]
.PD 0
.TP
! \fBpushd\fP [\fB\-n\fP] [\fIdir\fP]
.PD
Adds a directory to the top of the directory stack, or rotates
***************
*** 7347,7350 ****
--- 7542,7549 ----
.PD 0
.TP
+ .B \-n
+ Suppresses the normal change of directory when adding directories
+ to the stack, so that only the stack is manipulated.
+ .TP
\fB+\fP\fIn\fP
Rotates the stack so that the \fIn\fPth directory
***************
*** 7360,7367 ****
starting with zero) is at the top.
.TP
- .B \-n
- Suppresses the normal change of directory when adding directories
- to the stack, so that only the stack is manipulated.
- .TP
.I dir
Adds
--- 7559,7562 ----
***************
*** 7404,7408 ****
invalid option is supplied.
.TP
! \fBread\fP [\fB\-ers\fP] [\fB\-u\fP \fIfd\fP] [\fB\-t\fP \fItimeout\fP] [\fB\-a\fP \fIaname\fP] [\fB\-p\fP \fIprompt\fP] [\fB\-n\fP \fInchars\fP] [\fB\-d\fP \fIdelim\fP] [\fIname\fP ...]
One line is read from the standard input, or from the file descriptor
\fIfd\fP supplied as an argument to the \fB\-u\fP option, and the first word
--- 7599,7603 ----
invalid option is supplied.
.TP
! \fBread\fP [\fB\-ers\fP] [\fB\-a\fP \fIaname\fP] [\fB\-d\fP \fIdelim\fP] [\fb\-\fP \fItext\fP] [\fB\-n\fP \fInchars\fP] [\fB\-p\fP \fIprompt\fP] [\fB\-t\fP \fItimeout\fP] [\fB\-u\fP \fIfd\fP] [\fIname\fP ...]
One line is read from the standard input, or from the file descriptor
\fIfd\fP supplied as an argument to the \fB\-u\fP option, and the first word
***************
*** 7448,7451 ****
--- 7643,7652 ----
above) is used to obtain the line.
.TP
+ .B \-i \fItext\fP
+ If
+ .B readline
+ is being used to read the line, \fItext\fP is placed into the editing
+ buffer before editing begins.
+ .TP
.B \-n \fInchars\fP
\fBread\fP returns after reading \fInchars\fP characters rather than
***************
*** 7540,7544 ****
before execution resumes after the function or script.
.TP
! \fBset\fP [\fB\-\-abefhkmnptuvxBCHP\fP] [\fB\-o\fP \fIoption\fP] [\fIarg\fP ...]
Without options, the name and value of each shell variable are displayed
in a format that can be reused as input
--- 7741,7749 ----
before execution resumes after the function or script.
.TP
! \fBset\fP [\fB\-\-abefhkmnptuvxBCEHPT\fP] [\fB\-o\fP \fIoption\fP] [\fIarg\fP ...]
! .PD 0
! .TP
! \fBset\fP [\fB+abefhkmnptuvxBCEHPT\fP] [\fB+o\fP \fIoption\fP] [\fIarg\fP ...]
! .PD
Without options, the name and value of each shell variable are displayed
in a format that can be reused as input
***************
*** 7579,7590 ****
keyword,
part of the test in an
! .I if
! statement, part of a
.B &&
or
.B \(bv\(bv
! list, or if the command's return value is
being inverted via
.BR ! .
A trap on \fBERR\fP, if set, is executed before the shell exits.
.TP 8
--- 7784,7800 ----
keyword,
part of the test in an
! .B if
! statement, part of a command executed in a
.B &&
or
.B \(bv\(bv
! list,
! any command in a pipeline but the last,
! or if the command's return value is
being inverted via
.BR ! .
+ Failing simple commands that are part of shell functions or command lists
+ enclosed in braces or parentheses satisfying the above conditions do not
+ cause the shell to exit.
A trap on \fBERR\fP, if set, is executed before the shell exits.
.TP 8
***************
*** 7940,7943 ****
--- 8150,8158 ----
.PD 0
.TP 8
+ .B autocd
+ If set, a command name that is the name of a directory is executed as if
+ it were the argument to the \fBcd\fP command.
+ This option is only used by interactive shells.
+ .TP 8
.B cdable_vars
If set, an argument to the
***************
*** 7962,7965 ****
--- 8177,8187 ----
longer exists, a normal path search is performed.
.TP 8
+ .B checkjobs
+ If set, \fBbash\fP lists the status of any stopped and running jobs before
+ exiting an interactive shell. If any jobs are running, this causes
+ the exit to be deferred until a second exit is attempted without an
+ intervening command (see \fBJOB CONTROL\fP above). The shell always
+ postpones exiting if any jobs are stopped.
+ .TP 8
.B checkwinsize
If set, \fBbash\fP checks the window size after each command
***************
*** 7978,7981 ****
--- 8200,8209 ----
easy re-editing of multi-line commands.
.TP 8
+ .B compat31
+ If set,
+ .B bash
+ changes its behavior to that of version 3.1 with respect to quoted
+ arguments to the conditional command's =~ operator.
+ .TP 8
.B dotglob
If set,
***************
*** 8224,8227 ****
--- 8452,8456 ----
Expressions may be combined using the following operators, listed
in decreasing order of precedence.
+ The evaluation depends on the number of arguments; see below.
.RS
.PD 0
***************
*** 8281,8284 ****
--- 8510,8515 ----
the result of the expression is the result of the binary test using
the first and third arguments as operands.
+ The \fB\-a\fP and \fB\-o\fP operators are considered binary operators
+ when there are three arguments.
If the first argument is \fB!\fP, the value is the negation of
the two-argument test using the second and third arguments.
***************
*** 8287,8292 ****
argument.
Otherwise, the expression is false.
- The \fB\-a\fP and \fB\-o\fP operators are considered binary operators
- in this case.
.TP
4 arguments
--- 8518,8521 ----
***************
*** 8388,8392 ****
part of the test in an
.I if
! statement, part of a
.B &&
or
--- 8617,8621 ----
part of the test in an
.I if
! statement, part of a command executed in a
.B &&
or
***************
*** 8487,8499 ****
option suppresses shell function lookup, as with the \fBcommand\fP builtin.
.B type
! returns true if any of the arguments are found, false if
! none are found.
.TP
! \fBulimit\fP [\fB\-SHacdefilmnpqrstuvx\fP [\fIlimit\fP]]
Provides control over the resources available to the shell and to
processes started by it, on systems that allow such control.
The \fB\-H\fP and \fB\-S\fP options specify that the hard or soft limit is
! set for the given resource. A hard limit cannot be increased once it
! is set; a soft limit may be increased up to the value of the hard limit.
If neither \fB\-H\fP nor \fB\-S\fP is specified, both the soft and hard
limits are set.
--- 8716,8729 ----
option suppresses shell function lookup, as with the \fBcommand\fP builtin.
.B type
! returns true if all of the arguments are found, false if
! any are not found.
.TP
! \fBulimit\fP [\fB\-HSTabcdefilmnpqrstuvx\fP [\fIlimit\fP]]
Provides control over the resources available to the shell and to
processes started by it, on systems that allow such control.
The \fB\-H\fP and \fB\-S\fP 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 \fB\-H\fP nor \fB\-S\fP is specified, both the soft and hard
limits are set.
***************
*** 8520,8523 ****
--- 8750,8756 ----
All current limits are reported
.TP
+ .B \-b
+ The maximum socket buffer size
+ .TP
.B \-c
The maximum size of core files created
***************
*** 8568,8571 ****
--- 8801,8807 ----
.B \-x
The maximum number of file locks
+ .TP
+ .B \-T
+ The maximum number of threads
.PD
.PP
***************
*** 8583,8587 ****
which is in units of 512-byte blocks,
and
! .B \-n
and
.BR \-u ,
--- 8819,8825 ----
which is in units of 512-byte blocks,
and
! .BR \-T ,
! .BR \-b ,
! .BR \-n ,
and
.BR \-u ,