*** ../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 , the default, then any sequence of .SM .B IFS ! characters serves to delimit words. If .SM .B IFS --- 2704,2719 ---- .BR , the default, then + sequences of + .BR , + .BR , + and + .B + 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 ,