commit bash-20130111 snapshot

This commit is contained in:
Chet Ramey
2013-02-05 16:43:03 -05:00
parent 1b1fe46776
commit ad4aef0831
45 changed files with 26056 additions and 13887 deletions
+40
View File
@@ -4303,3 +4303,43 @@ lib/readline/readline.h
doc/{bash.1,bashref.texi}
- a couple of changes to the descriptions of the ERR trap and its
effects based on a message from Rob Nagler <nagler@bivio.biz>
1/9
---
expr.c
- expassign: invalidate curlval before freeing and NULLing tokstr to
avoid aliasing issues. Fixes bug reported by Eduardo A. Bustamante
López<dualbus@gmail.com> and Dan Douglas <ormaaj@gmail.com>
braces.c
- array_concat: don't be so aggressive in trying to short-circuit. We
can only short-circuit if we have a single-element array where the
element is an empty string (array[0] == "" array[1] = 0x0). Existing
practice requires us to replicate arrays and prefix or append empty
strings. Fixes bug reported by Eduardo A. Bustamante López
<dualbus@gmail.com>
1/11
----
execute_cmd.c
- execute_builtin: since mapfile uses evalstring() to run its callbacks
internally, just like eval, so it needs to handle the case where the
temp environment given to mapfile persists throughout the entire
set of callback commands. This might be a problem with trap also, but
trap isn't run in the same way. Fixes bug reported by Dan Douglas
<ormaaj@gmail.com>
1/13
----
redir.c
- redirection_error: before expanding the redirection word (if
expandable_redirection_filename returns true), disable command
substitution during expansion. Fixes bug reported by Dan Douglas
<ormaaj@gmail.com>
subst.c
- expand_word_internal: case '\\': if the next character is an IFS
character, and the expansion occurs within double quotes, and the
character is not one for which backslash retains its meaning, add
the (escaped) '\' and the (escaped) character. Fixes bug reported
by Dan Douglas <ormaaj@gmail.com>
+39
View File
@@ -4297,3 +4297,42 @@ bashline.c
lib/readline/readline.h
- change readline version numbers to 6.3
1/6
---
doc/{bash.1,bashref.texi}
- a couple of changes to the descriptions of the ERR trap and its
effects based on a message from Rob Nagler <nagler@bivio.biz>
1/9
---
expr.c
- expassign: invalidate curlval before freeing and NULLing tokstr to
avoid aliasing issues. Fixes bug reported by Eduardo A. Bustamante
López<dualbus@gmail.com> and Dan Douglas <ormaaj@gmail.com>
braces.c
- array_concat: don't be so aggressive in trying to short-circuit. We
can only short-circuit if we have a single-element array where the
element is an empty string (array[0] == "" array[1] = 0x0). Existing
practice requires us to replicate arrays and prefix or append empty
strings. Fixes bug reported by Eduardo A. Bustamante López
<dualbus@gmail.com>
1/11
----
execute_cmd.c
- execute_builtin: since mapfile uses evalstring() to run its callbacks
internally, just like eval, so it needs to handle the case where the
temp environment given to mapfile persists throughout the entire
set of callback commands. This might be a problem with trap also, but
trap isn't run in the same way. Fixes bug reported by Dan Douglas
<ormaaj@gmail.com>
1/13
----
redir.c
- redirection_error: before expanding the redirection word (if
expandable_redirection_filename returns true), disable command
substitution during expansion. Fixes bug reported by Dan Douglas
<ormaaj@gmail.com>
+12 -7
View File
@@ -47,8 +47,8 @@ out how `configure' could check whether or not to do them, and mail
diffs or instructions to <bash-maintainers@gnu.org> so they can be
considered for the next release.
The file `configure.in' is used to create `configure' by a program
called Autoconf. You only need `configure.in' if you want to change it
The file `configure.ac' is used to create `configure' by a program
called Autoconf. You only need `configure.ac' if you want to change it
or regenerate `configure' using a newer version of Autoconf. If you do
this, make sure you are using Autoconf version 2.50 or newer.
@@ -252,9 +252,9 @@ The `minimal-config' option can be used to disable all of the following
options, but it is processed first, so individual options may be
enabled using `enable-FEATURE'.
All of the following options except for `disabled-builtins' and
`xpg-echo-default' are enabled by default, unless the operating system
does not provide the necessary support.
All of the following options except for `disabled-builtins',
`directpand-default', and `xpg-echo-default' are enabled by default,
unless the operating system does not provide the necessary support.
`--enable-alias'
Allow alias expansion and include the `alias' and `unalias'
@@ -308,6 +308,11 @@ does not provide the necessary support.
`--enable-debugger'
Include support for the bash debugger (distributed separately).
`--enable-direxpand-default'
Cause the `direxpand' shell option (*note The Shopt Builtin::) to
be enabled by default when the shell starts. It is normally
disabled by default.
`--enable-directory-stack'
Include support for a `csh'-like directory stack and the `pushd',
`popd', and `dirs' builtins (*note The Directory Stack::).
@@ -363,8 +368,8 @@ does not provide the necessary support.
`--enable-prompt-string-decoding'
Turn on the interpretation of a number of backslash-escaped
characters in the `$PS1', `$PS2', `$PS3', and `$PS4' prompt
strings. See *note Printing a Prompt::, for a complete list of
prompt string escape sequences.
strings. See *note Controlling the Prompt::, for a complete list
of prompt string escape sequences.
`--enable-readline'
Include support for command-line editing and history with the Bash
+55 -38
View File
@@ -40,147 +40,164 @@ The following list is what's changed when `POSIX mode' is in effect:
8. Tilde expansion is only performed on assignments preceding a
command name, rather than on all assignment statements on the line.
9. The default history file is `~/.sh_history' (this is the default
9. The `command' builtin does not prevent builtins that take
assignment statements as arguments from expanding them as
assignment statements; when not in POSIX mode, assignment builtins
lose their assignment statement expansion properties when preceded
by `command'.
10. The default history file is `~/.sh_history' (this is the default
value of `$HISTFILE').
10. The output of `kill -l' prints all the signal names on a single
11. The output of `kill -l' prints all the signal names on a single
line, separated by spaces, without the `SIG' prefix.
11. The `kill' builtin does not accept signal names with a `SIG'
12. The `kill' builtin does not accept signal names with a `SIG'
prefix.
12. Non-interactive shells exit if FILENAME in `.' FILENAME is not
13. Non-interactive shells exit if FILENAME in `.' FILENAME is not
found.
13. Non-interactive shells exit if a syntax error in an arithmetic
14. Non-interactive shells exit if a syntax error in an arithmetic
expansion results in an invalid expression.
14. Non-interactive shells exit if there is a syntax error in a script
15. Non-interactive shells exit if there is a syntax error in a script
read with the `.' or `source' builtins, or in a string processed by
the `eval' builtin.
15. Redirection operators do not perform filename expansion on the word
16. Redirection operators do not perform filename expansion on the word
in the redirection unless the shell is interactive.
16. Redirection operators do not perform word splitting on the word in
17. Redirection operators do not perform word splitting on the word in
the redirection.
17. Function names must be valid shell `name's. That is, they may not
18. Function names must be valid shell `name's. That is, they may not
contain characters other than letters, digits, and underscores, and
may not start with a digit. Declaring a function with an invalid
name causes a fatal syntax error in non-interactive shells.
18. POSIX special builtins are found before shell functions during
19. Function names may not be the same as one of the POSIX special
builtins.
20. POSIX special builtins are found before shell functions during
command lookup.
19. The `time' reserved word may be used by itself as a command. When
21. The `time' reserved word may be used by itself as a command. When
used in this way, it displays timing statistics for the shell and
its completed children. The `TIMEFORMAT' variable controls the
format of the timing information.
20. When parsing and expanding a ${...} expansion that appears within
22. When parsing and expanding a ${...} expansion that appears within
double quotes, single quotes are no longer special and cannot be
used to quote a closing brace or other special character, unless
the operator is one of those defined to perform pattern removal.
In this case, they do not have to appear as matched pairs.
21. The parser does not recognize `time' as a reserved word if the next
23. The parser does not recognize `time' as a reserved word if the next
token begins with a `-'.
22. If a POSIX special builtin returns an error status, a
24. If a POSIX special builtin returns an error status, a
non-interactive shell exits. The fatal errors are those listed in
the POSIX standard, and include things like passing incorrect
options, redirection errors, variable assignment errors for
assignments preceding the command name, and so on.
23. A non-interactive shell exits with an error status if a variable
25. A non-interactive shell exits with an error status if a variable
assignment error occurs when no command name follows the assignment
statements. A variable assignment error occurs, for example, when
trying to assign a value to a readonly variable.
24. A non-interactive shell exists with an error status if a variable
26. A non-interactive shell exists with an error status if a variable
assignment error occurs in an assignment statement preceding a
special builtin, but not with any other simple command.
25. A non-interactive shell exits with an error status if the iteration
27. A non-interactive shell exits with an error status if the iteration
variable in a `for' statement or the selection variable in a
`select' statement is a readonly variable.
26. Process substitution is not available.
28. Process substitution is not available.
27. Assignment statements preceding POSIX special builtins persist in
29. While variable indirection is available, it may not be applied to
the `#' and `?' special parameters.
30. Assignment statements preceding POSIX special builtins persist in
the shell environment after the builtin completes.
28. Assignment statements preceding shell function calls persist in the
31. Assignment statements preceding shell function calls persist in the
shell environment after the function returns, as if a POSIX
special builtin command had been executed.
29. The `export' and `readonly' builtin commands display their output
32. The `export' and `readonly' builtin commands display their output
in the format required by POSIX.
30. The `trap' builtin displays signal names without the leading `SIG'.
33. The `trap' builtin displays signal names without the leading `SIG'.
31. The `trap' builtin doesn't check the first argument for a possible
34. The `trap' builtin doesn't check the first argument for a possible
signal specification and revert the signal handling to the original
disposition if it is, unless that argument consists solely of
digits and is a valid signal number. If users want to reset the
handler for a given signal to the original disposition, they
should use `-' as the first argument.
32. The `.' and `source' builtins do not search the current directory
35. The `.' and `source' builtins do not search the current directory
for the filename argument if it is not found by searching `PATH'.
33. Subshells spawned to execute command substitutions inherit the
36. Subshells spawned to execute command substitutions inherit the
value of the `-e' option from the parent shell. When not in POSIX
mode, Bash clears the `-e' option in such subshells.
34. Alias expansion is always enabled, even in non-interactive shells.
37. Alias expansion is always enabled, even in non-interactive shells.
35. When the `alias' builtin displays alias definitions, it does not
38. When the `alias' builtin displays alias definitions, it does not
display them with a leading `alias ' unless the `-p' option is
supplied.
36. When the `set' builtin is invoked without options, it does not
39. When the `set' builtin is invoked without options, it does not
display shell function names and definitions.
37. When the `set' builtin is invoked without options, it displays
40. When the `set' builtin is invoked without options, it displays
variable values without quotes, unless they contain shell
metacharacters, even if the result contains nonprinting characters.
38. When the `cd' builtin is invoked in LOGICAL mode, and the pathname
41. When the `cd' builtin is invoked in LOGICAL mode, and the pathname
constructed from `$PWD' and the directory name supplied as an
argument does not refer to an existing directory, `cd' will fail
instead of falling back to PHYSICAL mode.
39. The `pwd' builtin verifies that the value it prints is the same as
42. The `pwd' builtin verifies that the value it prints is the same as
the current directory, even if it is not asked to check the file
system with the `-P' option.
40. When listing the history, the `fc' builtin does not include an
43. When listing the history, the `fc' builtin does not include an
indication of whether or not a history entry has been modified.
41. The default editor used by `fc' is `ed'.
44. The default editor used by `fc' is `ed'.
42. The `type' and `command' builtins will not report a non-executable
45. The `type' and `command' builtins will not report a non-executable
file as having been found, though the shell will attempt to
execute such a file if it is the only so-named file found in
`$PATH'.
43. The `vi' editing mode will invoke the `vi' editor directly when
46. The `vi' editing mode will invoke the `vi' editor directly when
the `v' command is run, instead of checking `$VISUAL' and
`$EDITOR'.
44. When the `xpg_echo' option is enabled, Bash does not attempt to
47. When the `xpg_echo' option is enabled, Bash does not attempt to
interpret any arguments to `echo' as options. Each argument is
displayed, after escape characters are converted.
45. The `ulimit' builtin uses a block size of 512 bytes for the `-c'
48. The `ulimit' builtin uses a block size of 512 bytes for the `-c'
and `-f' options.
46. The arrival of `SIGCHLD' when a trap is set on `SIGCHLD' does not
49. The arrival of `SIGCHLD' when a trap is set on `SIGCHLD' does not
interrupt the `wait' builtin and cause it to return immediately.
The trap command is run once for each child that exits.
50. The `read' builtin may be interrupted by a signal for which a trap
has been set. If Bash receives a trapped signal while executing
`read', the trap handler executes and `read' returns an exit
status greater than 128.
There is other POSIX behavior that Bash does not implement by default
even when in POSIX mode. Specifically:
+2
View File
@@ -37,6 +37,8 @@
# include <netdb.h>
#endif
#include <signal.h>
#include <stdio.h>
#include "chartypes.h"
#include "bashansi.h"
+5 -2
View File
@@ -700,13 +700,16 @@ array_concat (arr1, arr2)
if (arr2 == 0)
return (arr1); /* XXX - caller expects us to free arr1 */
if (degenerate_array (arr1))
/* We can only short-circuit if the array consists of a single null element;
otherwise we need to replicate the contents of the other array and
prefix (or append, below) an empty element to each one. */
if (arr1[0] && arr1[0][0] == 0 && arr1[1] == 0)
{
strvec_dispose (arr1);
return (arr2); /* XXX - use flags to see if we can avoid copying here */
}
if (degenerate_array (arr2))
if (arr2[0] && arr2[0][0] == 0 && arr2[1] == 0)
return (arr1); /* XXX - rather than copying and freeing it */
len1 = strvec_len (arr1);
+2
View File
@@ -213,6 +213,8 @@ mapfile (fd, line_count_goal, origin, nskip, callback_quantum, callback, array_n
zsyncfd (fd);
}
/* XXX - bad things can happen if the callback modifies ENTRY, e.g.,
unsetting it or changing it to a non-indexed-array type. */
bind_array_element (entry, array_index, line, 0);
/* Have we exceeded # of lines to store? */
+359
View File
@@ -0,0 +1,359 @@
This file is mapfile.def, from which is created mapfile.c.
It implements the builtin "mapfile" in Bash.
Copyright (C) 2005-2006 Rocky Bernstein for Free Software Foundation, Inc.
Copyright (C) 2008-2012 Free Software Foundation, Inc.
This file is part of GNU Bash, the 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/>.
$PRODUCES mapfile.c
$BUILTIN mapfile
$FUNCTION mapfile_builtin
$SHORT_DOC mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]
Read lines from the standard input into an indexed array variable.
Read lines from the standard input into the indexed array variable ARRAY, or
from file descriptor FD if the -u option is supplied. The variable MAPFILE
is the default ARRAY.
Options:
-n count Copy at most COUNT lines. If COUNT is 0, all lines are copied.
-O origin Begin assigning to ARRAY at index ORIGIN. The default index is 0.
-s count Discard the first COUNT lines read.
-t Remove a trailing newline from each line read.
-u fd Read lines from file descriptor FD instead of the standard input.
-C callback Evaluate CALLBACK each time QUANTUM lines are read.
-c quantum Specify the number of lines read between each call to CALLBACK.
Arguments:
ARRAY Array variable name to use for file data.
If -C is supplied without -c, the default quantum is 5000. When
CALLBACK is evaluated, it is supplied the index of the next array
element to be assigned and the line to be assigned to that element
as additional arguments.
If not supplied with an explicit origin, mapfile will clear ARRAY before
assigning to it.
Exit Status:
Returns success unless an invalid option is given or ARRAY is readonly or
not an indexed array.
$END
$BUILTIN readarray
$FUNCTION mapfile_builtin
$SHORT_DOC readarray [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]
Read lines from a file into an array variable.
A synonym for `mapfile'.
$END
#include <config.h>
#include "builtins.h"
#include "posixstat.h"
#if defined (HAVE_UNISTD_H)
# include <unistd.h>
#endif
#include "bashansi.h"
#include "bashintl.h"
#include <stdio.h>
#include <errno.h>
#include "../bashintl.h"
#include "../shell.h"
#include "common.h"
#include "bashgetopt.h"
#if !defined (errno)
extern int errno;
#endif
#if defined (ARRAY_VARS)
static int run_callback __P((const char *, unsigned int, const char *));
#define DEFAULT_ARRAY_NAME "MAPFILE"
#define DEFAULT_VARIABLE_NAME "MAPLINE" /* not used right now */
/* The value specifying how frequently `mapfile' calls the callback. */
#define DEFAULT_QUANTUM 5000
/* Values for FLAGS */
#define MAPF_CLEARARRAY 0x01
#define MAPF_CHOP 0x02
static int
run_callback (callback, curindex, curline)
const char *callback;
unsigned int curindex;
const char *curline;
{
unsigned int execlen;
char *execstr, *qline;
int flags;
qline = sh_single_quote (curline);
execlen = strlen (callback) + strlen (qline) + 10;
/* 1 for each space between %s and %d,
another 1 for the last nul char for C string. */
execlen += 3;
execstr = xmalloc (execlen);
flags = SEVAL_NOHIST;
#if 0
if (interactive)
flags |= SEVAL_INTERACT;
#endif
snprintf (execstr, execlen, "%s %d %s", callback, curindex, qline);
free (qline);
return evalstring (execstr, NULL, flags);
}
static void
do_chop(line)
char * line;
{
int length;
length = strlen (line);
if (length && line[length-1] == '\n')
line[length-1] = '\0';
}
static int
mapfile (fd, line_count_goal, origin, nskip, callback_quantum, callback, array_name, flags)
int fd;
long line_count_goal, origin, nskip, callback_quantum;
char *callback, *array_name;
int flags;
{
char *line;
size_t line_length;
unsigned int array_index, line_count;
SHELL_VAR *entry;
int unbuffered_read;
line = NULL;
line_length = 0;
unbuffered_read = 0;
/* The following check should be done before reading any lines. Doing it
here allows us to call bind_array_element instead of bind_array_variable
and skip the variable lookup on every call. */
entry = find_or_make_array_variable (array_name, 1);
if (entry == 0 || readonly_p (entry) || noassign_p (entry))
{
if (entry && readonly_p (entry))
err_readonly (array_name);
return (EXECUTION_FAILURE);
}
else if (array_p (entry) == 0)
{
builtin_error (_("%s: not an indexed array"), array_name);
return (EXECUTION_FAILURE);
}
else if (invisible_p (entry))
VUNSETATTR (entry, att_invisible); /* no longer invisible */
if (flags & MAPF_CLEARARRAY)
array_flush (array_cell (entry));
#ifndef __CYGWIN__
unbuffered_read = (lseek (fd, 0L, SEEK_CUR) < 0) && (errno == ESPIPE);
#else
unbuffered_read = 1;
#endif
zreset ();
/* Skip any lines at beginning of file? */
for (line_count = 0; line_count < nskip; line_count++)
if (zgetline (fd, &line, &line_length, unbuffered_read) < 0)
break;
line = 0;
line_length = 0;
/* Reset the buffer for bash own stream */
for (array_index = origin, line_count = 1;
zgetline (fd, &line, &line_length, unbuffered_read) != -1;
array_index++)
{
/* Remove trailing newlines? */
if (flags & MAPF_CHOP)
do_chop (line);
/* Has a callback been registered and if so is it time to call it? */
if (callback && line_count && (line_count % callback_quantum) == 0)
{
run_callback (callback, array_index, line);
/* Reset the buffer for bash own stream. */
if (unbuffered_read == 0)
zsyncfd (fd);
}
bind_array_element (entry, array_index, line, 0);
/* Have we exceeded # of lines to store? */
line_count++;
if (line_count_goal != 0 && line_count > line_count_goal)
break;
}
xfree (line);
if (unbuffered_read == 0)
zsyncfd (fd);
return EXECUTION_SUCCESS;
}
int
mapfile_builtin (list)
WORD_LIST *list;
{
int opt, code, fd, clear_array, flags;
intmax_t intval;
long lines, origin, nskip, callback_quantum;
char *array_name, *callback;
clear_array = 1;
fd = 0;
lines = origin = nskip = 0;
flags = MAPF_CLEARARRAY;
callback_quantum = DEFAULT_QUANTUM;
callback = 0;
reset_internal_getopt ();
while ((opt = internal_getopt (list, "u:n:O:tC:c:s:")) != -1)
{
switch (opt)
{
case 'u':
code = legal_number (list_optarg, &intval);
if (code == 0 || intval < 0 || intval != (int)intval)
{
builtin_error (_("%s: invalid file descriptor specification"), list_optarg);
return (EXECUTION_FAILURE);
}
else
fd = intval;
if (sh_validfd (fd) == 0)
{
builtin_error (_("%d: invalid file descriptor: %s"), fd, strerror (errno));
return (EXECUTION_FAILURE);
}
break;
case 'n':
code = legal_number (list_optarg, &intval);
if (code == 0 || intval < 0 || intval != (unsigned)intval)
{
builtin_error (_("%s: invalid line count"), list_optarg);
return (EXECUTION_FAILURE);
}
else
lines = intval;
break;
case 'O':
code = legal_number (list_optarg, &intval);
if (code == 0 || intval < 0 || intval != (unsigned)intval)
{
builtin_error (_("%s: invalid array origin"), list_optarg);
return (EXECUTION_FAILURE);
}
else
origin = intval;
flags &= ~MAPF_CLEARARRAY;
break;
case 't':
flags |= MAPF_CHOP;
break;
case 'C':
callback = list_optarg;
break;
case 'c':
code = legal_number (list_optarg, &intval);
if (code == 0 || intval <= 0 || intval != (unsigned)intval)
{
builtin_error (_("%s: invalid callback quantum"), list_optarg);
return (EXECUTION_FAILURE);
}
else
callback_quantum = intval;
break;
case 's':
code = legal_number (list_optarg, &intval);
if (code == 0 || intval < 0 || intval != (unsigned)intval)
{
builtin_error (_("%s: invalid line count"), list_optarg);
return (EXECUTION_FAILURE);
}
else
nskip = intval;
break;
default:
builtin_usage ();
return (EX_USAGE);
}
}
list = loptend;
if (list == 0)
array_name = DEFAULT_ARRAY_NAME;
else if (list->word == 0 || list->word->word == 0)
{
builtin_error ("internal error: getting variable name");
return (EXECUTION_FAILURE);
}
else if (list->word->word[0] == '\0')
{
builtin_error (_("empty array variable name"));
return (EX_USAGE);
}
else
array_name = list->word->word;
if (legal_identifier (array_name) == 0 && valid_array_reference (array_name) == 0)
{
sh_invalidid (array_name);
return (EXECUTION_FAILURE);
}
return mapfile (fd, lines, origin, nskip, callback_quantum, callback, array_name, flags);
}
#else
int
mapfile_builtin (list)
WORD_LIST *list;
{
builtin_error (_("array variable support required"));
return (EXECUTION_FAILURE);
}
#endif /* ARRAY_VARS */
+923 -859
View File
File diff suppressed because it is too large Load Diff
+10 -6
View File
@@ -5,12 +5,12 @@
.\" Case Western Reserve University
.\" chet@po.cwru.edu
.\"
.\" Last Change: Sat Jan 5 17:38:02 EST 2013
.\" Last Change: Tue Jan 8 15:51:04 EST 2013
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
.TH BASH 1 "2013 January 5" "GNU Bash 4.2"
.TH BASH 1 "2013 January 8" "GNU Bash 4.2"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
@@ -1938,8 +1938,10 @@ The minimum value is system-dependent.
.TP
.B COLUMNS
Used by the \fBselect\fP compound command to determine the terminal width
when printing selection lists. Automatically set in an interactive shell
upon receipt of a
when printing selection lists.
Automatically set if the
.B checkwinsize
option is enabled or in an interactive shell upon receipt of a
.SM
.BR SIGWINCH .
.TP
@@ -2180,8 +2182,10 @@ This variable determines the locale category used for number formatting.
.TP
.B LINES
Used by the \fBselect\fP compound command to determine the column length
for printing selection lists. Automatically set by an interactive shell
upon receipt of a
for printing selection lists.
Automatically set if the
.B checkwinsize
option is enabled or in an interactive shell upon receipt of a
.SM
.BR SIGWINCH .
.TP
+135 -35
View File
@@ -3,7 +3,7 @@
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2012 July 14<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2013 January 8<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
@@ -42,7 +42,7 @@ bash - GNU Bourne-Again SHell
<H3>COPYRIGHT</H3>
Bash is Copyright &#169; 1989-2012 by the Free Software Foundation, Inc.
Bash is Copyright &#169; 1989-2013 by the Free Software Foundation, Inc.
<A NAME="lbAE">&nbsp;</A>
<H3>DESCRIPTION</H3>
@@ -928,6 +928,7 @@ lexicographically using the current locale.
When the <B>==</B> and <B>!=</B> operators are used, the string to the
right of the operator is considered a pattern and matched according
to the rules described below under <B>Pattern Matching</B>.
The <B>=</B> operator is equivalent to <B>==</B>.
If the shell option
<B>nocasematch</B>
@@ -1209,6 +1210,8 @@ The <B>wait</B>
builtin command may be used to wait for the coprocess to terminate.
<P>
Since the coprocess is created as an asynchronous command,
the <B>coproc</B> command always returns success.
The return status of a coprocess is the exit status of <I>command</I>.
<A NAME="lbAQ">&nbsp;</A>
<H4>Shell Function Definitions</H4>
@@ -2383,6 +2386,24 @@ below.
<DL COMPACT>
<DT><B>BASH_COMPAT</B>
<DD>
The value is used to set the shell's compatibility level.
See the description of the <B>shopt builtin below under
SHELL BUILTIN COMMANDS</B> for a description of the various compatibility
levels and their effects.
The value may be a decimal number (e.g., 4.2) or an integer (e.g., 42)
corresponding to the desired compatibility level.
If <B>BASH_COMPAT</B> is unset or set to the empty string, the compatibility
level is set to the default for the current version.
If <B>BASH_COMPAT</B> is set to a value that is not one of the valid
compatibility levels, the shell prints an error message and sets the
compatibility level to the default for the current version.
The valid compatibility levels correspond to the compatibility options
accepted by the <B>shopt</B> builtin described below (for example,
<B>compat42</B> means that 4.2 and 42 are valid values).
The current version is also a valid value.
<DT><B>BASH_ENV</B>
<DD>
@@ -2442,12 +2463,23 @@ command.
A sample value is
<TT>&quot;.:~:/usr&quot;</TT>.
<DT><B>CHILD_MAX</B>
<DD>
Set the number of exited child status values for the shell to remember.
Bash will not allow this value to be decreased below a Posix-mandated
minimum, and there is a maximum value (currently 8192) that this may
not exceed.
The minimum value is system-dependent.
<DT><B>COLUMNS</B>
<DD>
Used by the <B>select</B> compound command to determine the terminal width
when printing selection lists. Automatically set in an interactive shell
upon receipt of a
when printing selection lists.
Automatically set if the
<B>checkwinsize</B>
option is enabled or in an interactive shell upon receipt of a
<FONT SIZE=-1><B>SIGWINCH</B>.
</FONT>
@@ -2749,8 +2781,11 @@ This variable determines the locale category used for number formatting.
<DD>
Used by the <B>select</B> compound command to determine the column length
for printing selection lists. Automatically set by an interactive shell
upon receipt of a
for printing selection lists.
Automatically set if the
<B>checkwinsize</B>
option is enabled or in an interactive shell upon receipt of a
<FONT SIZE=-1><B>SIGWINCH</B>.
</FONT>
@@ -2974,7 +3009,7 @@ The value of <I>p</I> determines whether or not the fraction is
included.
<DT><DD>
If this variable is not set, <B>bash</B> acts as if it had the
value <B>$aq\nreal\t%3lR\nuser\t%3lU\nsys %3lSaq</B>.
value <B>$aq\nreal\t%3lR\nuser\t%3lU\nsys\ %3lSaq</B>.
If the value is null, no timing information is displayed.
A trailing newline is added when the format string is displayed.
@@ -3132,6 +3167,13 @@ This syntax is also accepted by the
builtin. Individual array elements may be assigned to using the
<I>name</I>[<I>subscript</I>]=<I>value</I> syntax introduced above.
When assigning to an indexed array, if
<I>name</I>
is subscripted by a negative number, that number is
interpreted as relative to one greater than the maximum index of
<I>name</I>, so negative indices count back from the end of the
array, and an index of -1 references the last element.
<P>
Any element of an array may be referenced using
@@ -3166,9 +3208,10 @@ If the
<I>subscript</I>
used to reference an element of an indexed array
evaluates to a number less than zero, it is used as
an offset from one greater than the array's maximum index (so a subcript
of -1 refers to the last element of the array).
evaluates to a number less than zero, it is
interpreted as relative to one greater than the maximum index of the array,
so negative indices count back from the end of the
array, and an index of -1 references the last element.
<P>
An array variable is considered set if a subscript has been assigned a
@@ -3180,6 +3223,7 @@ The
builtin is used to destroy arrays. <B>unset</B> <I>name</I>[<I>subscript</I>]
destroys the array element at index <I>subscript</I>.
Negative subscripts to indexed arrays are interpreted as described above.
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
@@ -3299,12 +3343,14 @@ and <I>incr</I>, an optional increment, is an integer.
When integers are supplied, the expression expands to each number between
<I>x</I> and <I>y</I>, inclusive.
Supplied integers may be prefixed with <I>0</I> to force each term to have the
same width. When either <I>x</I> or y begins with a zero, the shell
same width.
When either <I>x</I> or y begins with a zero, the shell
attempts to force all generated terms to contain the same number of digits,
zero-padding where necessary.
When characters are supplied, the expression expands to each character
lexicographically between <I>x</I> and <I>y</I>, inclusive. Note that
both <I>x</I> and <I>y</I> must be of the same type.
lexicographically between <I>x</I> and <I>y</I>, inclusive,
using the default C locale.
Note that both <I>x</I> and <I>y</I> must be of the same type.
When the increment is supplied, it is used as the difference between
each term. The default increment is 1 or -1 as appropriate.
<P>
@@ -3668,6 +3714,13 @@ or
<B>@</B>,
the value substituted is the number of elements in the array.
If
<I>parameter</I>
is an indexed array name subscripted by a negative number, that number is
interpreted as relative to one greater than the maximum index of
<I>parameter</I>, so negative indices count back from the end of the
array, and an index of -1 references the last element.
<DT>${<I>parameter</I><B>#</B><I>word</I>}<DD>
<DT>${<I>parameter</I><B>##</B><I>word</I>}<DD>
@@ -4217,7 +4270,7 @@ Matches any single character.
Matches any one of the enclosed characters. A pair of characters
separated by a hyphen denotes a
<I>range expression</I>;
any character that sorts between those two characters, inclusive,
any character that falls between those two characters, inclusive,
using the current locale's collating sequence and character set,
is matched. If the first character following the
<B>[</B>
@@ -5405,6 +5458,13 @@ True if the shell variable
<I>varname</I>
is set (has been assigned a value).
<DT><B>-R </B><I>varname</I>
<DD>
True if the shell variable
<I>varname</I>
is set and is a name reference.
<DT><B>-z </B><I>string</I>
<DD>
@@ -5425,6 +5485,8 @@ is non-zero.
True if the strings are equal. <B>=</B> should be used
with the <B>test</B> command for POSIX conformance.
When used with the <B>[[</B> command, this performs pattern matching as
described above (<B>Compound Commands</B>).
<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>
@@ -6842,8 +6904,12 @@ or <B>next-history</B>.
<DT><B>history-size (0)</B>
<DD>
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.
Set the maximum number of history entries saved in the history list.
If set to zero, any existing history entries are deleted and no new entries
are saved.
If set to a value less than zero, the number of history entries is not
limited.
By default, the number of history entries is not limited.
<DT><B>horizontal-scroll-mode (Off)</B>
<DD>
@@ -6970,6 +7036,12 @@ words which have more than one possible completion without any
possible partial completion (the possible completions don't share
a common prefix) cause the matches to be listed immediately instead
of ringing the bell.
<DT><B>show-mode-in-prompt (Off)</B>
<DD>
If set to <B>On</B>, add a character to the beginning of the prompt
indicating the editing mode: emacs (@), vi command (:) or vi
insertion (+).
<DT><B>skip-completed-text (Off)</B>
<DD>
@@ -10679,10 +10751,13 @@ causes <B>printf</B> to output the corresponding
<DD>
causes <B>printf</B> to output the date-time string resulting from using
<I>datefmt</I> as a format string for <I>strftime</I>(3). The corresponding
<I>argument</I> is an integer representing the number of seconds since the
epoch. Two special argument values may be used: -1 represents the current
<I>datefmt</I> as a format string for <I>strftime</I>(3).
The corresponding <I>argument</I> is an integer representing the number of
seconds since the epoch.
Two special argument values may be used: -1 represents the current
time, and -2 represents the time the shell was invoked.
If no argument is specified, conversion behaves as if -1 had been given.
This is an exception to the usual <B>printf</B> behavior.
</DL>
<P>
@@ -10886,14 +10961,17 @@ not echoed.
<DD>
Cause <B>read</B> to time out and return failure if a complete line of
input is not read within <I>timeout</I> seconds.
input (or a specified number of characters)
is not read within <I>timeout</I> seconds.
<I>timeout</I> may be a decimal number with a fractional portion following
the decimal point.
This option is only effective if <B>read</B> is reading input from a
terminal, pipe, or other special file; it has no effect when reading
from regular files.
If <B>read</B> times out, <B>read</B> saves any partial input read into
the specified variable <I>name</I>.
If <I>timeout</I> is 0, <B>read</B> returns immediately, without trying to
read any data. The exit statis is 0 if input is available on
read any data. The exit status is 0 if input is available on
the specified file descriptor, non-zero otherwise.
The exit status is greater than 128 if the timeout is exceeded.
<DT><B>-u </B><I>fd</I>
@@ -11085,12 +11163,18 @@ separately (see
</FONT>
above), and may cause
subshells to exit before executing all the commands in the subshell.
If a shell function executes in a context where <B>-e</B> is being ignored,
even if <B>-e</B> is set, none of the commands executed within the function
body will be affected by the <B>-e</B> setting.
If a shell function sets <B>-e</B> while executing in a context where
<B>-e</B> is ignored, that setting will not have any effect until the
command containing the function call completes.
<P>
If a compound command or shell function executes in a context
where <B>-e</B> is being ignored,
none of the commands executed within the compound command or function body
will be affected by the <B>-e</B> setting, even if <B>-e</B> is set
and a command returns a failure status.
If a compound command or shell function sets <B>-e</B> while executing in
a context where <B>-e</B> is ignored, that setting will not have any
effect until the compound command or the command containing the function
call completes.
<DT><B>-f</B>
<DD>
@@ -11695,6 +11779,14 @@ parameter expansion as a special character. The single quotes must match
(an even number) and the characters between the single quotes are considered
quoted. This is the behavior of posix mode through version 4.1.
The default bash behavior remains as in previous versions.
<DT><B>compat42</B>
<DD>
If set,
<B>bash</B>
does not process the replacement string in the pattern substitution word
expansion using quote removal.
<DT><B>complete_fullquote</B>
<DD>
@@ -12313,7 +12405,10 @@ is
the command
<I>arg</I>
is executed whenever a simple command has a non-zero exit status,
is executed whenever a
a pipeline (which may consist of a single simple
command), a list, or a compound command returns a
non-zero exit status,
subject to the following conditions.
The
<FONT SIZE=-1><B>ERR</B>
@@ -12336,11 +12431,13 @@ statement, part of a command executed in a
or
<B>||</B>
list, or if the command's return value is
being inverted via
list except the command following the final <B>&amp;&amp;</B> or <B>||</B>,
any command in a pipeline but the last,
or if the command's return value is
being inverted using
<B>!</B>.
These are the same conditions obeyed by the <B>errexit</B> option.
These are the same conditions obeyed by the <B>errexit</B> (<B>-e</B>) option.
<P>
@@ -12708,7 +12805,7 @@ subsequently reset. The exit status is true unless a
<I>name</I>
is readonly.
<DT><B>wait</B> [<I>n ...</I>]<DD>
<DT><B>wait</B> [<B>--n</B>] [<I>n ...</I>]<DD>
Wait for each specified process and return its termination status.
Each
<I>n</I>
@@ -12719,7 +12816,10 @@ in that job's pipeline are waited for. If
<I>n</I>
is not given, all currently active child processes
are waited for, and the return status is zero. If
are waited for, and the return status is zero.
If the <B>--n</B> option is supplied, <B>wait</B> waits for any job to
terminate and returns its exit status.
If
<I>n</I>
specifies a non-existent process or job, the return status is
@@ -13011,7 +13111,7 @@ There may be only one active coprocess at a time.
<HR>
<TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>GNU Bash 4.2<TH ALIGN=CENTER width=33%>2012 July 14<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>GNU Bash 4.2<TH ALIGN=CENTER width=33%>2013 January 8<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
@@ -13117,6 +13217,6 @@ There may be only one active coprocess at a time.
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
Time: 16 July 2012 16:12:38 EDT
Time: 11 January 2013 16:34:33 EST
</BODY>
</HTML>
BIN
View File
Binary file not shown.
+4986 -4938
View File
File diff suppressed because it is too large Load Diff
+36 -36
View File
@@ -116,7 +116,7 @@
@xrdef{Quote Removal-snt}{Section@tie 3.5.9}
@xrdef{Redirections-title}{Redirections}
@xrdef{Redirections-snt}{Section@tie 3.6}
@xrdef{Quote Removal-pg}{30}
@xrdef{Quote Removal-pg}{31}
@xrdef{Redirections-pg}{31}
@xrdef{Executing Commands-title}{Executing Commands}
@xrdef{Executing Commands-snt}{Section@tie 3.7}
@@ -126,18 +126,18 @@
@xrdef{Simple Command Expansion-pg}{34}
@xrdef{Command Search and Execution-title}{Command Search and Execution}
@xrdef{Command Search and Execution-snt}{Section@tie 3.7.2}
@xrdef{Command Search and Execution-pg}{35}
@xrdef{Command Execution Environment-title}{Command Execution Environment}
@xrdef{Command Execution Environment-snt}{Section@tie 3.7.3}
@xrdef{Command Search and Execution-pg}{35}
@xrdef{Command Execution Environment-pg}{36}
@xrdef{Environment-title}{Environment}
@xrdef{Environment-snt}{Section@tie 3.7.4}
@xrdef{Command Execution Environment-pg}{36}
@xrdef{Exit Status-title}{Exit Status}
@xrdef{Exit Status-snt}{Section@tie 3.7.5}
@xrdef{Signals-title}{Signals}
@xrdef{Signals-snt}{Section@tie 3.7.6}
@xrdef{Environment-pg}{37}
@xrdef{Exit Status-pg}{37}
@xrdef{Signals-title}{Signals}
@xrdef{Signals-snt}{Section@tie 3.7.6}
@xrdef{Shell Scripts-title}{Shell Scripts}
@xrdef{Shell Scripts-snt}{Section@tie 3.8}
@xrdef{Signals-pg}{38}
@@ -146,20 +146,20 @@
@xrdef{Shell Builtin Commands-snt}{Chapter@tie 4}
@xrdef{Bourne Shell Builtins-title}{Bourne Shell Builtins}
@xrdef{Bourne Shell Builtins-snt}{Section@tie 4.1}
@xrdef{Shell Builtin Commands-pg}{41}
@xrdef{Bourne Shell Builtins-pg}{41}
@xrdef{Shell Builtin Commands-pg}{40}
@xrdef{Bourne Shell Builtins-pg}{40}
@xrdef{Bash Builtins-title}{Bash Builtin Commands}
@xrdef{Bash Builtins-snt}{Section@tie 4.2}
@xrdef{Bash Builtins-pg}{48}
@xrdef{Bash Builtins-pg}{47}
@xrdef{Modifying Shell Behavior-title}{Modifying Shell Behavior}
@xrdef{Modifying Shell Behavior-snt}{Section@tie 4.3}
@xrdef{The Set Builtin-title}{The Set Builtin}
@xrdef{The Set Builtin-snt}{Section@tie 4.3.1}
@xrdef{Modifying Shell Behavior-pg}{58}
@xrdef{The Set Builtin-pg}{58}
@xrdef{Modifying Shell Behavior-pg}{57}
@xrdef{The Set Builtin-pg}{57}
@xrdef{The Shopt Builtin-title}{The Shopt Builtin}
@xrdef{The Shopt Builtin-snt}{Section@tie 4.3.2}
@xrdef{The Shopt Builtin-pg}{62}
@xrdef{The Shopt Builtin-pg}{61}
@xrdef{Special Builtins-title}{Special Builtins}
@xrdef{Special Builtins-snt}{Section@tie 4.4}
@xrdef{Special Builtins-pg}{67}
@@ -169,9 +169,9 @@
@xrdef{Bourne Shell Variables-snt}{Section@tie 5.1}
@xrdef{Bash Variables-title}{Bash Variables}
@xrdef{Bash Variables-snt}{Section@tie 5.2}
@xrdef{Shell Variables-pg}{69}
@xrdef{Bourne Shell Variables-pg}{69}
@xrdef{Bash Variables-pg}{69}
@xrdef{Shell Variables-pg}{68}
@xrdef{Bourne Shell Variables-pg}{68}
@xrdef{Bash Variables-pg}{68}
@xrdef{Bash Features-title}{Bash Features}
@xrdef{Bash Features-snt}{Chapter@tie 6}
@xrdef{Invoking Bash-title}{Invoking Bash}
@@ -209,17 +209,17 @@
@xrdef{The Directory Stack-snt}{Section@tie 6.8}
@xrdef{Directory Stack Builtins-title}{Directory Stack Builtins}
@xrdef{Directory Stack Builtins-snt}{Section@tie 6.8.1}
@xrdef{The Directory Stack-pg}{89}
@xrdef{Directory Stack Builtins-pg}{89}
@xrdef{The Directory Stack-pg}{90}
@xrdef{Directory Stack Builtins-pg}{90}
@xrdef{Controlling the Prompt-title}{Controlling the Prompt}
@xrdef{Controlling the Prompt-snt}{Section@tie 6.9}
@xrdef{Controlling the Prompt-pg}{91}
@xrdef{The Restricted Shell-title}{The Restricted Shell}
@xrdef{The Restricted Shell-snt}{Section@tie 6.10}
@xrdef{The Restricted Shell-pg}{92}
@xrdef{Bash POSIX Mode-title}{Bash POSIX Mode}
@xrdef{Bash POSIX Mode-snt}{Section@tie 6.11}
@xrdef{The Restricted Shell-pg}{92}
@xrdef{Bash POSIX Mode-pg}{92}
@xrdef{Bash POSIX Mode-pg}{93}
@xrdef{Job Control-title}{Job Control}
@xrdef{Job Control-snt}{Chapter@tie 7}
@xrdef{Job Control Basics-title}{Job Control Basics}
@@ -334,51 +334,51 @@
@xrdef{Basic Installation-snt}{Section@tie 10.1}
@xrdef{Compilers and Options-title}{Compilers and Options}
@xrdef{Compilers and Options-snt}{Section@tie 10.2}
@xrdef{Installing Bash-pg}{139}
@xrdef{Basic Installation-pg}{139}
@xrdef{Installing Bash-pg}{138}
@xrdef{Basic Installation-pg}{138}
@xrdef{Compiling For Multiple Architectures-title}{Compiling For Multiple Architectures}
@xrdef{Compiling For Multiple Architectures-snt}{Section@tie 10.3}
@xrdef{Installation Names-title}{Installation Names}
@xrdef{Installation Names-snt}{Section@tie 10.4}
@xrdef{Specifying the System Type-title}{Specifying the System Type}
@xrdef{Specifying the System Type-snt}{Section@tie 10.5}
@xrdef{Compilers and Options-pg}{140}
@xrdef{Compiling For Multiple Architectures-pg}{140}
@xrdef{Installation Names-pg}{140}
@xrdef{Specifying the System Type-pg}{140}
@xrdef{Compilers and Options-pg}{139}
@xrdef{Compiling For Multiple Architectures-pg}{139}
@xrdef{Installation Names-pg}{139}
@xrdef{Specifying the System Type-pg}{139}
@xrdef{Sharing Defaults-title}{Sharing Defaults}
@xrdef{Sharing Defaults-snt}{Section@tie 10.6}
@xrdef{Operation Controls-title}{Operation Controls}
@xrdef{Operation Controls-snt}{Section@tie 10.7}
@xrdef{Optional Features-title}{Optional Features}
@xrdef{Optional Features-snt}{Section@tie 10.8}
@xrdef{Sharing Defaults-pg}{141}
@xrdef{Operation Controls-pg}{141}
@xrdef{Optional Features-pg}{141}
@xrdef{Sharing Defaults-pg}{140}
@xrdef{Operation Controls-pg}{140}
@xrdef{Optional Features-pg}{140}
@xrdef{Reporting Bugs-title}{Reporting Bugs}
@xrdef{Reporting Bugs-snt}{Appendix@tie @char65{}}
@xrdef{Reporting Bugs-pg}{147}
@xrdef{Reporting Bugs-pg}{145}
@xrdef{Major Differences From The Bourne Shell-title}{Major Differences From The Bourne Shell}
@xrdef{Major Differences From The Bourne Shell-snt}{Appendix@tie @char66{}}
@xrdef{Major Differences From The Bourne Shell-pg}{149}
@xrdef{Major Differences From The Bourne Shell-pg}{146}
@xrdef{GNU Free Documentation License-title}{GNU Free Documentation License}
@xrdef{GNU Free Documentation License-snt}{Appendix@tie @char67{}}
@xrdef{GNU Free Documentation License-pg}{155}
@xrdef{GNU Free Documentation License-pg}{152}
@xrdef{Indexes-title}{Indexes}
@xrdef{Indexes-snt}{Appendix@tie @char68{}}
@xrdef{Builtin Index-title}{Index of Shell Builtin Commands}
@xrdef{Builtin Index-snt}{Section@tie @char68.1}
@xrdef{Indexes-pg}{163}
@xrdef{Builtin Index-pg}{163}
@xrdef{Indexes-pg}{160}
@xrdef{Builtin Index-pg}{160}
@xrdef{Reserved Word Index-title}{Index of Shell Reserved Words}
@xrdef{Reserved Word Index-snt}{Section@tie @char68.2}
@xrdef{Variable Index-title}{Parameter and Variable Index}
@xrdef{Variable Index-snt}{Section@tie @char68.3}
@xrdef{Reserved Word Index-pg}{164}
@xrdef{Variable Index-pg}{164}
@xrdef{Reserved Word Index-pg}{161}
@xrdef{Variable Index-pg}{161}
@xrdef{Function Index-title}{Function Index}
@xrdef{Function Index-snt}{Section@tie @char68.4}
@xrdef{Function Index-pg}{166}
@xrdef{Function Index-pg}{163}
@xrdef{Concept Index-title}{Concept Index}
@xrdef{Concept Index-snt}{Section@tie @char68.5}
@xrdef{Concept Index-pg}{168}
@xrdef{Concept Index-pg}{165}
+44 -44
View File
@@ -1,48 +1,48 @@
\entry{:}{41}{\code {:}}
\entry{.}{41}{\code {.}}
\entry{break}{41}{\code {break}}
\entry{cd}{42}{\code {cd}}
\entry{continue}{42}{\code {continue}}
\entry{eval}{42}{\code {eval}}
\entry{exec}{42}{\code {exec}}
\entry{exit}{43}{\code {exit}}
\entry{export}{43}{\code {export}}
\entry{getopts}{43}{\code {getopts}}
\entry{hash}{44}{\code {hash}}
\entry{pwd}{44}{\code {pwd}}
\entry{readonly}{44}{\code {readonly}}
\entry{return}{45}{\code {return}}
\entry{shift}{45}{\code {shift}}
\entry{test}{45}{\code {test}}
\entry{[}{45}{\code {[}}
\entry{times}{46}{\code {times}}
\entry{trap}{46}{\code {trap}}
\entry{umask}{47}{\code {umask}}
\entry{:}{40}{\code {:}}
\entry{.}{40}{\code {.}}
\entry{break}{40}{\code {break}}
\entry{cd}{41}{\code {cd}}
\entry{continue}{41}{\code {continue}}
\entry{eval}{41}{\code {eval}}
\entry{exec}{41}{\code {exec}}
\entry{exit}{42}{\code {exit}}
\entry{export}{42}{\code {export}}
\entry{getopts}{42}{\code {getopts}}
\entry{hash}{43}{\code {hash}}
\entry{pwd}{43}{\code {pwd}}
\entry{readonly}{43}{\code {readonly}}
\entry{return}{44}{\code {return}}
\entry{shift}{44}{\code {shift}}
\entry{test}{44}{\code {test}}
\entry{[}{44}{\code {[}}
\entry{times}{45}{\code {times}}
\entry{trap}{45}{\code {trap}}
\entry{umask}{46}{\code {umask}}
\entry{unset}{47}{\code {unset}}
\entry{alias}{48}{\code {alias}}
\entry{bind}{48}{\code {bind}}
\entry{builtin}{49}{\code {builtin}}
\entry{caller}{49}{\code {caller}}
\entry{command}{50}{\code {command}}
\entry{declare}{50}{\code {declare}}
\entry{echo}{51}{\code {echo}}
\entry{enable}{52}{\code {enable}}
\entry{help}{53}{\code {help}}
\entry{let}{53}{\code {let}}
\entry{local}{53}{\code {local}}
\entry{logout}{53}{\code {logout}}
\entry{mapfile}{53}{\code {mapfile}}
\entry{printf}{54}{\code {printf}}
\entry{read}{55}{\code {read}}
\entry{readarray}{56}{\code {readarray}}
\entry{source}{56}{\code {source}}
\entry{type}{56}{\code {type}}
\entry{typeset}{57}{\code {typeset}}
\entry{ulimit}{57}{\code {ulimit}}
\entry{unalias}{58}{\code {unalias}}
\entry{set}{58}{\code {set}}
\entry{shopt}{62}{\code {shopt}}
\entry{dirs}{89}{\code {dirs}}
\entry{alias}{47}{\code {alias}}
\entry{bind}{47}{\code {bind}}
\entry{builtin}{48}{\code {builtin}}
\entry{caller}{48}{\code {caller}}
\entry{command}{49}{\code {command}}
\entry{declare}{49}{\code {declare}}
\entry{echo}{50}{\code {echo}}
\entry{enable}{51}{\code {enable}}
\entry{help}{52}{\code {help}}
\entry{let}{52}{\code {let}}
\entry{local}{52}{\code {local}}
\entry{logout}{52}{\code {logout}}
\entry{mapfile}{52}{\code {mapfile}}
\entry{printf}{53}{\code {printf}}
\entry{read}{54}{\code {read}}
\entry{readarray}{55}{\code {readarray}}
\entry{source}{55}{\code {source}}
\entry{type}{55}{\code {type}}
\entry{typeset}{56}{\code {typeset}}
\entry{ulimit}{56}{\code {ulimit}}
\entry{unalias}{57}{\code {unalias}}
\entry{set}{57}{\code {set}}
\entry{shopt}{61}{\code {shopt}}
\entry{dirs}{90}{\code {dirs}}
\entry{popd}{90}{\code {popd}}
\entry{pushd}{90}{\code {pushd}}
\entry{bg}{98}{\code {bg}}
+44 -44
View File
@@ -1,80 +1,80 @@
\initial {.}
\entry {\code {.}}{41}
\entry {\code {.}}{40}
\initial {:}
\entry {\code {:}}{41}
\entry {\code {:}}{40}
\initial {[}
\entry {\code {[}}{45}
\entry {\code {[}}{44}
\initial {A}
\entry {\code {alias}}{48}
\entry {\code {alias}}{47}
\initial {B}
\entry {\code {bg}}{98}
\entry {\code {bind}}{48}
\entry {\code {break}}{41}
\entry {\code {builtin}}{49}
\entry {\code {bind}}{47}
\entry {\code {break}}{40}
\entry {\code {builtin}}{48}
\initial {C}
\entry {\code {caller}}{49}
\entry {\code {cd}}{42}
\entry {\code {command}}{50}
\entry {\code {caller}}{48}
\entry {\code {cd}}{41}
\entry {\code {command}}{49}
\entry {\code {compgen}}{126}
\entry {\code {complete}}{127}
\entry {\code {compopt}}{130}
\entry {\code {continue}}{42}
\entry {\code {continue}}{41}
\initial {D}
\entry {\code {declare}}{50}
\entry {\code {dirs}}{89}
\entry {\code {declare}}{49}
\entry {\code {dirs}}{90}
\entry {\code {disown}}{99}
\initial {E}
\entry {\code {echo}}{51}
\entry {\code {enable}}{52}
\entry {\code {eval}}{42}
\entry {\code {exec}}{42}
\entry {\code {exit}}{43}
\entry {\code {export}}{43}
\entry {\code {echo}}{50}
\entry {\code {enable}}{51}
\entry {\code {eval}}{41}
\entry {\code {exec}}{41}
\entry {\code {exit}}{42}
\entry {\code {export}}{42}
\initial {F}
\entry {\code {fc}}{133}
\entry {\code {fg}}{98}
\initial {G}
\entry {\code {getopts}}{43}
\entry {\code {getopts}}{42}
\initial {H}
\entry {\code {hash}}{44}
\entry {\code {help}}{53}
\entry {\code {hash}}{43}
\entry {\code {help}}{52}
\entry {\code {history}}{134}
\initial {J}
\entry {\code {jobs}}{98}
\initial {K}
\entry {\code {kill}}{99}
\initial {L}
\entry {\code {let}}{53}
\entry {\code {local}}{53}
\entry {\code {logout}}{53}
\entry {\code {let}}{52}
\entry {\code {local}}{52}
\entry {\code {logout}}{52}
\initial {M}
\entry {\code {mapfile}}{53}
\entry {\code {mapfile}}{52}
\initial {P}
\entry {\code {popd}}{90}
\entry {\code {printf}}{54}
\entry {\code {printf}}{53}
\entry {\code {pushd}}{90}
\entry {\code {pwd}}{44}
\entry {\code {pwd}}{43}
\initial {R}
\entry {\code {read}}{55}
\entry {\code {readarray}}{56}
\entry {\code {readonly}}{44}
\entry {\code {return}}{45}
\entry {\code {read}}{54}
\entry {\code {readarray}}{55}
\entry {\code {readonly}}{43}
\entry {\code {return}}{44}
\initial {S}
\entry {\code {set}}{58}
\entry {\code {shift}}{45}
\entry {\code {shopt}}{62}
\entry {\code {source}}{56}
\entry {\code {set}}{57}
\entry {\code {shift}}{44}
\entry {\code {shopt}}{61}
\entry {\code {source}}{55}
\entry {\code {suspend}}{99}
\initial {T}
\entry {\code {test}}{45}
\entry {\code {times}}{46}
\entry {\code {trap}}{46}
\entry {\code {type}}{56}
\entry {\code {typeset}}{57}
\entry {\code {test}}{44}
\entry {\code {times}}{45}
\entry {\code {trap}}{45}
\entry {\code {type}}{55}
\entry {\code {typeset}}{56}
\initial {U}
\entry {\code {ulimit}}{57}
\entry {\code {umask}}{47}
\entry {\code {unalias}}{58}
\entry {\code {ulimit}}{56}
\entry {\code {umask}}{46}
\entry {\code {unalias}}{57}
\entry {\code {unset}}{47}
\initial {W}
\entry {\code {wait}}{99}
+6 -6
View File
@@ -85,10 +85,10 @@
\entry{arithmetic evaluation}{86}{arithmetic evaluation}
\entry{alias expansion}{87}{alias expansion}
\entry{arrays}{88}{arrays}
\entry{directory stack}{89}{directory stack}
\entry{directory stack}{90}{directory stack}
\entry{prompting}{91}{prompting}
\entry{restricted shell}{92}{restricted shell}
\entry{POSIX Mode}{92}{POSIX Mode}
\entry{POSIX Mode}{93}{POSIX Mode}
\entry{job control}{97}{job control}
\entry{foreground}{97}{foreground}
\entry{background}{97}{background}
@@ -112,7 +112,7 @@
\entry{history expansion}{135}{history expansion}
\entry{event designators}{136}{event designators}
\entry{history events}{136}{history events}
\entry{installation}{139}{installation}
\entry{configuration}{139}{configuration}
\entry{Bash installation}{139}{Bash installation}
\entry{Bash configuration}{139}{Bash configuration}
\entry{installation}{138}{installation}
\entry{configuration}{138}{configuration}
\entry{Bash installation}{138}{Bash installation}
\entry{Bash configuration}{138}{Bash configuration}
+6 -6
View File
@@ -6,8 +6,8 @@
\entry {arrays}{88}
\initial {B}
\entry {background}{97}
\entry {Bash configuration}{139}
\entry {Bash installation}{139}
\entry {Bash configuration}{138}
\entry {Bash installation}{138}
\entry {Bourne shell}{5}
\entry {brace expansion}{21}
\entry {builtin}{3}
@@ -29,11 +29,11 @@
\entry {commands, simple}{8}
\entry {comments, shell}{7}
\entry {completion builtins}{126}
\entry {configuration}{139}
\entry {configuration}{138}
\entry {control operator}{3}
\entry {coprocess}{15}
\initial {D}
\entry {directory stack}{89}
\entry {directory stack}{90}
\initial {E}
\entry {editing command lines}{102}
\entry {environment}{37}
@@ -65,7 +65,7 @@
\initial {I}
\entry {identifier}{3}
\entry {initialization file, readline}{104}
\entry {installation}{139}
\entry {installation}{138}
\entry {interaction, readline}{101}
\entry {interactive shell}{81, 82}
\entry {internationalization}{7}
@@ -96,7 +96,7 @@
\entry {pattern matching}{29}
\entry {pipeline}{8}
\entry {POSIX}{3}
\entry {POSIX Mode}{92}
\entry {POSIX Mode}{93}
\entry {process group}{3}
\entry {process group ID}{3}
\entry {process substitution}{28}
BIN
View File
Binary file not shown.
+1000 -887
View File
File diff suppressed because it is too large Load Diff
+375 -301
View File
@@ -1,17 +1,13 @@
This is bashref.info, produced by makeinfo version 4.13 from
/usr/homes/chet/src/bash/src/doc/bashref.texi.
/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.2, 14 July 2012).
the Bash shell (version 4.2, 8 January 2013).
This is Edition 4.2, last updated 14 July 2012, of `The GNU Bash
This is Edition 4.2, last updated 8 January 2013, of `The GNU Bash
Reference Manual', for `Bash', Version 4.2.
Copyright (C) 1988-2012 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
Copyright (C) 1988-2013 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
@@ -20,7 +16,6 @@ preserved on all copies.
no Back-Cover Texts. A copy of the license is included in the
section entitled "GNU Free Documentation License".
INFO-DIR-SECTION Basics
START-INFO-DIR-ENTRY
* Bash: (bash). The GNU Bourne-Again SHell.
@@ -33,9 +28,10 @@ Bash Features
*************
This text is a brief description of the features that are present in
the Bash shell (version 4.2, 14 July 2012).
the Bash shell (version 4.2, 8 January 2013). The Bash home page is
`http://www.gnu.org/software/bash/'.
This is Edition 4.2, last updated 14 July 2012, of `The GNU Bash
This is Edition 4.2, last updated 8 January 2013, of `The GNU Bash
Reference Manual', for `Bash', Version 4.2.
Bash contains features that appear in other popular shells, and some
@@ -885,13 +881,14 @@ File: bashref.info, Node: Conditional Constructs, Next: Command Grouping, Pre
When the `==' and `!=' operators are used, the string to the right
of the operator is considered a pattern and matched according to
the rules described below in *note Pattern Matching::. If the
shell option `nocasematch' (see the description of `shopt' in
*note The Shopt Builtin::) is enabled, the match is performed
without regard to the case of alphabetic characters. The return
value is 0 if the string matches (`==') or does not match
(`!=')the pattern, and 1 otherwise. Any part of the pattern may
be quoted to force the quoted portion to be matched as a string.
the rules described below in *note Pattern Matching::. The `='
operator is identical to `=='. If the shell option `nocasematch'
(see the description of `shopt' in *note The Shopt Builtin::) is
enabled, the match is performed without regard to the case of
alphabetic characters. The return value is 0 if the string
matches (`==') or does not match (`!=')the pattern, and 1
otherwise. Any part of the pattern may be quoted to force the
quoted portion to be matched as a string.
An additional binary operator, `=~', is available, with the same
precedence as `==' and `!='. When it is used, the string to the
@@ -1053,7 +1050,9 @@ not available in subshells.
available as the value of the variable `NAME'_PID. The `wait' builtin
command may be used to wait for the coprocess to terminate.
The return status of a coprocess is the exit status of COMMAND.
Since the coprocess is created as an asynchronous command, the
`coproc' command always returns success. The return status of a
coprocess is the exit status of COMMAND.

File: bashref.info, Node: GNU Parallel, Prev: Coprocesses, Up: Shell Commands
@@ -1463,10 +1462,10 @@ may be prefixed with `0' to force each term to have the same width.
When either X or Y begins with a zero, the shell attempts to force all
generated terms to contain the same number of digits, zero-padding
where necessary. When characters are supplied, the expression expands
to each character lexicographically between X and Y, inclusive. Note
that both X and Y must be of the same type. When the increment is
supplied, it is used as the difference between each term. The default
increment is 1 or -1 as appropriate.
to each character lexicographically between X and Y, inclusive, using
the default C locale. Note that both X and Y must be of the same type.
When the increment is supplied, it is used as the difference between
each term. The default increment is 1 or -1 as appropriate.
Brace expansion is performed before any other expansions, and any
characters special to other expansions are preserved in the result. It
@@ -1772,7 +1771,11 @@ omitted, the operator tests only for existence.
substituted. If PARAMETER is `*' or `@', the value substituted is
the number of positional parameters. If PARAMETER is an array
name subscripted by `*' or `@', the value substituted is the
number of elements in the array.
number of elements in the array. If PARAMETER is an indexed array
name subscripted by a negative number, that number is interpreted
as relative to one greater than the maximum index of PARAMETER, so
negative indices count back from the end of the array, and an
index of -1 references the last element.
`${PARAMETER#WORD}'
`${PARAMETER##WORD}'
@@ -2022,7 +2025,7 @@ characters must be quoted if they are to be matched literally.
`[...]'
Matches any one of the enclosed characters. A pair of characters
separated by a hyphen denotes a RANGE EXPRESSION; any character
that sorts between those two characters, inclusive, using the
that falls between those two characters, inclusive, using the
current locale's collating sequence and character set, is matched.
If the first character following the `[' is a `!' or a `^' then
any character not enclosed is matched. A `-' may be matched by
@@ -2971,11 +2974,11 @@ standard.
status is zero unless N is greater than `$#' or less than zero,
non-zero otherwise.
`test[B'
`test'
`['
test EXPR
Evaluate a conditional expression EXPR and return a status of 0
Evaluate a conditional express ion EXPR and return a status of 0
(true) or 1 (false). Each operator and operand must be a separate
argument. Expressions are composed of the primaries described
below in *note Bash Conditional Expressions::. `test' does not
@@ -3084,14 +3087,16 @@ standard.
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
pipeline (which may consist of a single simple command), a list,
or a compound command returns 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.
`||' list except the command following the final `&&' or `||', any
command in a pipeline but the last, or if the command's return
status is being inverted using `!'. These are the same conditions
obeyed by the `errexit' (`-e') option.
Signals ignored upon entry to the shell cannot be trapped or reset.
Trapped signals that are not being ignored are reset to their
@@ -3591,7 +3596,9 @@ POSIX standard.
corresponding ARGUMENT is an integer representing the number
of seconds since the epoch. Two special argument values may
be used: -1 represents the current time, and -2 represents
the time the shell was invoked.
the time the shell was invoked. If no argument is specified,
conversion behaves as if -1 had been given. This is an
exception to the usual `printf' behavior.
Arguments to non-string format specifiers are treated as C
language constants, except that a leading plus or minus sign is
@@ -3675,12 +3682,14 @@ POSIX standard.
`-t TIMEOUT'
Cause `read' to time out and return failure if a complete
line of input is not read within TIMEOUT seconds. TIMEOUT
may be a decimal number with a fractional portion following
the decimal point. This option is only effective if `read'
is reading input from a terminal, pipe, or other special
file; it has no effect when reading from regular files. If
TIMEOUT is 0, `read' returns immediately, without trying to
line of input (or a specified number of characters) is not
read within TIMEOUT seconds. TIMEOUT may be a decimal
number with a fractional portion following the decimal point.
This option is only effective if `read' is reading input from
a terminal, pipe, or other special file; it has no effect
when reading from regular files. If `read' times out, `read'
saves any partial input read into the specified variable NAME.
If TIMEOUT is 0, `read' returns immediately, without trying to
read and data. The exit status is 0 if input is available on
the specified file descriptor, non-zero otherwise. The exit
status is greater than 128 if the timeout is exceeded.
@@ -3903,12 +3912,15 @@ parameters, or to display the names and values of shell variables.
Environment::), and may cause subshells to exit before
executing all the commands in the subshell.
If a shell function executes in a context where `-e' is being
ignored, even if `-e' is set, none of the commands executed
within the function body will be affected by the `-e' setting.
If a shell function sets `-e' while executing in a context
where `-e' is ignored, that setting will not have any effect
until the command containing the function call completes.
If a compound command or shell function executes in a context
where `-e' is being ignored, none of the commands executed
within the compound command or function body will be affected
by the `-e' setting, even if `-e' is set and a command
returns a failure status. If a compound command or shell
function sets `-e' while executing in a context where `-e' is
ignored, that setting will not have any effect until the
compound command or the command containing the function call
completes.
`-f'
Disable filename expansion (globbing).
@@ -4243,6 +4255,10 @@ This builtin allows you to change additional shell optional behavior.
This is the behavior of POSIX mode through version 4.1. The
default Bash behavior remains as in previous versions.
`compat42'
If set, Bash does not process the replacement string in the
pattern substitution word expansion using quote removal.
`complete_fullquote'
If set, Bash quotes all shell metacharacters in filenames and
directory names when performing completion. If not set, Bash
@@ -4623,6 +4639,21 @@ Variables::).
unless the shell is executing a command as the result of a trap,
in which case it is the command executing at the time of the trap.
`BASH_COMPAT'
The value is used to set the shell's compatibility level. *Note
The Shopt Builtin::, for a description of the various compatibility
levels and their effects. The value may be a decimal number
(e.g., 4.2) or an integer (e.g., 42) corresponding to the desired
compatibility level. If `BASH_COMPAT' is unset or set to the
empty string, the compatibility level is set to the default for
the current version. If `BASH_COMPAT' is set to a value that is
not one of the valid compatibility levels, the shell prints an
error message and sets the compatibility level to the default for
the current version. The valid compatibility levels correspond to
the compatibility options accepted by the `shopt' builtin
described above (for example, COMPAT42 means that 4.2 and 42 are
valid values). The current version is also a valid value.
`BASH_ENV'
If this variable is set when Bash is invoked to execute a shell
script, its value is expanded and used as the name of a startup
@@ -4697,10 +4728,18 @@ Variables::).
`BASH_XTRACEFD' to 2 (the standard error file descriptor) and then
unsetting it will result in the standard error being closed.
`CHILD_MAX'
Set the number of exited child status values for the shell to
remember. Bash will not allow this value to be decreased below a
POSIX-mandated minimum, and there is a maximum value (currently
8192) that this may not exceed. The minimum value is
system-dependent.
`COLUMNS'
Used by the `select' command to determine the terminal width when
printing selection lists. Automatically set by an interactive
shell upon receipt of a `SIGWINCH'.
printing selection lists. Automatically set if the `checkwinsize'
option is enabled (*note The Shopt Builtin::), or in an
interactive shell upon receipt of a `SIGWINCH'.
`COMP_CWORD'
An index into `${COMP_WORDS}' of the word containing the current
@@ -4978,8 +5017,9 @@ Variables::).
`LINES'
Used by the `select' command to determine the column length for
printing selection lists. Automatically set by an interactive
shell upon receipt of a `SIGWINCH'.
printing selection lists. Automatically set if the `checkwinsize'
option is enabled (*note The Shopt Builtin::), or in an
interactive shell upon receipt of a `SIGWINCH'.
`MACHTYPE'
A string that fully describes the system type on which Bash is
@@ -5670,6 +5710,9 @@ link itself.
True if the shell variable VARNAME is set (has been assigned a
value).
`-R VARNAME'
True if the shell variable VARNAME is set and is a name reference.
`-z STRING'
True if the length of STRING is zero.
@@ -5679,8 +5722,11 @@ link itself.
`STRING1 == STRING2'
`STRING1 = STRING2'
True if the strings are equal. `=' should be used with the `test'
command for POSIX conformance.
True if the strings are equal. When used with the `[[' command,
this performs pattern matching as described above (*note
Conditional Constructs::).
`=' should be used with the `test' command for POSIX conformance.
`STRING1 != STRING2'
True if the strings are not equal.
@@ -5893,6 +5939,11 @@ index assigned to by the statement plus one. Indexing starts at zero.
array elements may be assigned to using the `NAME[SUBSCRIPT]=VALUE'
syntax introduced above.
When assigning to an indexed array, if NAME is subscripted by a
negative number, that number is interpreted as relative to one greater
than the maximum index of NAME, so negative indices count back from the
end of the array, and an index of -1 references the last element.
Any element of an array may be referenced using `${NAME[SUBSCRIPT]}'.
The braces are required to avoid conflicts with the shell's filename
expansion operators. If the SUBSCRIPT is `@' or `*', the word expands
@@ -5911,18 +5962,20 @@ parameters `@' and `*'. `${#NAME[SUBSCRIPT]}' expands to the length of
number of elements in the array. Referencing an array variable without
a subscript is equivalent to referencing with a subscript of 0. If the
SUBSCRIPT used to reference an element of an indexed array evaluates to
a number less than zero, it is used as an offset from one greater than
the array's maximum index (so a subcript of -1 refers to the last
element of the array).
a number less than zero, it is interpreted as relative to one greater
than the maximum index of the array, so negative indices count back
from the end of the array, and an index of -1 refers to the last
element.
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
expansion. `unset NAME', where NAME is an array, removes the entire
array. A subscript of `*' or `@' also removes the entire array.
NAME[SUBSCRIPT]' destroys the array element at index SUBSCRIPT.
Negative subscripts to indexed arrays are interpreted as described
above. Care must be taken to avoid unwanted side effects caused by
filename 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'
option to specify an indexed array and a `-A' option to specify an
@@ -6610,8 +6663,10 @@ File: bashref.info, Node: Job Control Builtins, Next: Job Control Variables,
last command waited for. If a job spec is given, all processes in
the job are waited for. If no arguments are given, all currently
active child processes are waited for, and the return status is
zero. If neither JOBSPEC nor PID specifies an active child process
of the shell, the return status is 127.
zero. If the `-n' option is supplied, `wait' waits for any job to
terminate and returns its exit status. If neither JOBSPEC nor PID
specifies an active child process of the shell, the return status
is 127.
`disown'
disown [-ar] [-h] [JOBSPEC ...]
@@ -7120,8 +7175,10 @@ Variable Settings
`history-size'
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.
history list. If set to zero, any existing history entries
are deleted and no new entries are saved. If set to a value
less than zero, the number of history entries is not limited.
By default, the number of history entries is not limited.
`horizontal-scroll-mode'
This variable can be set to either `on' or `off'. Setting it
@@ -7229,6 +7286,11 @@ Variable Settings
be listed immediately instead of ringing the bell. The
default value is `off'.
`show-mode-in-prompt'
If set to `on', add a character to the beginning of the prompt
indicating the editing mode: emacs (`@'), vi command (`:'),
or vi insertion (`+'). The default value is `off'.
`skip-completed-text'
If set to `on', this alters the default completion behavior
when inserting a single match into the line. It's only
@@ -9112,8 +9174,8 @@ figure out how `configure' could check whether or not to do them, and
mail diffs or instructions to <bash-maintainers@gnu.org> so they can be
considered for the next release.
The file `configure.in' is used to create `configure' by a program
called Autoconf. You only need `configure.in' if you want to change it
The file `configure.ac' is used to create `configure' by a program
called Autoconf. You only need `configure.ac' if you want to change it
or regenerate `configure' using a newer version of Autoconf. If you do
this, make sure you are using Autoconf version 2.50 or newer.
@@ -9339,9 +9401,9 @@ compiled and linked, rather than changing run-time features.
following options, but it is processed first, so individual options may
be enabled using `enable-FEATURE'.
All of the following options except for `disabled-builtins' and
`xpg-echo-default' are enabled by default, unless the operating system
does not provide the necessary support.
All of the following options except for `disabled-builtins',
`directpand-default', and `xpg-echo-default' are enabled by default,
unless the operating system does not provide the necessary support.
`--enable-alias'
Allow alias expansion and include the `alias' and `unalias'
@@ -9395,6 +9457,11 @@ does not provide the necessary support.
`--enable-debugger'
Include support for the bash debugger (distributed separately).
`--enable-direxpand-default'
Cause the `direxpand' shell option (*note The Shopt Builtin::) to
be enabled by default when the shell starts. It is normally
disabled by default.
`--enable-directory-stack'
Include support for a `csh'-like directory stack and the `pushd',
`popd', and `dirs' builtins (*note The Directory Stack::).
@@ -9528,8 +9595,7 @@ newsgroup `gnu.bash.bug'.
`bashbug' inserts the first three items automatically into the template
it provides for filing a bug report.
Please send all reports concerning this manual to
<chet.ramey@case.edu>.
Please send all reports concerning this manual to <bug-bash@gnu.org>.

File: bashref.info, Node: Major Differences From The Bourne Shell, Next: GNU Free Documentation License, Prev: Reporting Bugs, Up: Top
@@ -9665,6 +9731,10 @@ the baseline reference.
not all words (*note Word Splitting::). This closes a
longstanding shell security hole.
* The filename expansion bracket expression code uses `!' and `^' to
negate the set of characters between the brackets. The Bourne
shell uses only `!'.
* Bash implements the full set of POSIX filename expansion operators,
including CHARACTER CLASSES, EQUIVALENCE CLASSES, and COLLATING
SYMBOLS (*note Filename Expansion::).
@@ -10435,7 +10505,7 @@ D.1 Index of Shell Builtin Commands
* dirs: Directory Stack Builtins.
(line 7)
* disown: Job Control Builtins.
(line 87)
(line 89)
* echo: Bash Builtins. (line 241)
* enable: Bash Builtins. (line 303)
* eval: Bourne Shell Builtins.
@@ -10472,8 +10542,8 @@ D.1 Index of Shell Builtin Commands
(line 61)
* pwd: Bourne Shell Builtins.
(line 196)
* read: Bash Builtins. (line 471)
* readarray: Bash Builtins. (line 555)
* read: Bash Builtins. (line 473)
* readarray: Bash Builtins. (line 559)
* readonly: Bourne Shell Builtins.
(line 206)
* return: Bourne Shell Builtins.
@@ -10482,23 +10552,23 @@ D.1 Index of Shell Builtin Commands
* shift: Bourne Shell Builtins.
(line 241)
* shopt: The Shopt Builtin. (line 9)
* source: Bash Builtins. (line 564)
* source: Bash Builtins. (line 568)
* suspend: Job Control Builtins.
(line 99)
(line 101)
* test: Bourne Shell Builtins.
(line 254)
* times: Bourne Shell Builtins.
(line 330)
* trap: Bourne Shell Builtins.
(line 336)
* type: Bash Builtins. (line 569)
* typeset: Bash Builtins. (line 601)
* ulimit: Bash Builtins. (line 607)
* type: Bash Builtins. (line 573)
* typeset: Bash Builtins. (line 605)
* ulimit: Bash Builtins. (line 611)
* umask: Bourne Shell Builtins.
(line 383)
* unalias: Bash Builtins. (line 698)
(line 385)
* unalias: Bash Builtins. (line 702)
* unset: Bourne Shell Builtins.
(line 401)
(line 403)
* wait: Job Control Builtins.
(line 76)
@@ -10570,15 +10640,16 @@ D.3 Parameter and Variable Index
* BASH_ARGV: Bash Variables. (line 47)
* BASH_CMDS: Bash Variables. (line 57)
* BASH_COMMAND: Bash Variables. (line 64)
* BASH_ENV: Bash Variables. (line 69)
* BASH_EXECUTION_STRING: Bash Variables. (line 75)
* BASH_LINENO: Bash Variables. (line 78)
* BASH_REMATCH: Bash Variables. (line 86)
* BASH_SOURCE: Bash Variables. (line 94)
* BASH_SUBSHELL: Bash Variables. (line 101)
* BASH_VERSINFO: Bash Variables. (line 106)
* BASH_VERSION: Bash Variables. (line 129)
* BASH_XTRACEFD: Bash Variables. (line 132)
* BASH_COMPAT: Bash Variables. (line 69)
* BASH_ENV: Bash Variables. (line 84)
* BASH_EXECUTION_STRING: Bash Variables. (line 90)
* BASH_LINENO: Bash Variables. (line 93)
* BASH_REMATCH: Bash Variables. (line 101)
* BASH_SOURCE: Bash Variables. (line 109)
* BASH_SUBSHELL: Bash Variables. (line 116)
* BASH_VERSINFO: Bash Variables. (line 121)
* BASH_VERSION: Bash Variables. (line 144)
* BASH_XTRACEFD: Bash Variables. (line 147)
* BASHOPTS: Bash Variables. (line 16)
* BASHPID: Bash Variables. (line 25)
* bell-style: Readline Init File Syntax.
@@ -10587,18 +10658,19 @@ D.3 Parameter and Variable Index
(line 45)
* CDPATH: Bourne Shell Variables.
(line 9)
* CHILD_MAX: Bash Variables. (line 158)
* colored-stats: Readline Init File Syntax.
(line 50)
* COLUMNS: Bash Variables. (line 143)
* COLUMNS: Bash Variables. (line 165)
* comment-begin: Readline Init File Syntax.
(line 56)
* COMP_CWORD: Bash Variables. (line 148)
* COMP_KEY: Bash Variables. (line 177)
* COMP_LINE: Bash Variables. (line 154)
* COMP_POINT: Bash Variables. (line 159)
* COMP_TYPE: Bash Variables. (line 167)
* COMP_WORDBREAKS: Bash Variables. (line 181)
* COMP_WORDS: Bash Variables. (line 187)
* COMP_CWORD: Bash Variables. (line 171)
* COMP_KEY: Bash Variables. (line 200)
* COMP_LINE: Bash Variables. (line 177)
* COMP_POINT: Bash Variables. (line 182)
* COMP_TYPE: Bash Variables. (line 190)
* COMP_WORDBREAKS: Bash Variables. (line 204)
* COMP_WORDS: Bash Variables. (line 210)
* completion-display-width: Readline Init File Syntax.
(line 61)
* completion-ignore-case: Readline Init File Syntax.
@@ -10609,132 +10681,134 @@ D.3 Parameter and Variable Index
(line 79)
* completion-query-items: Readline Init File Syntax.
(line 86)
* COMPREPLY: Bash Variables. (line 195)
* COMPREPLY: Bash Variables. (line 218)
* convert-meta: Readline Init File Syntax.
(line 96)
* COPROC: Bash Variables. (line 201)
* DIRSTACK: Bash Variables. (line 205)
* COPROC: Bash Variables. (line 224)
* DIRSTACK: Bash Variables. (line 228)
* disable-completion: Readline Init File Syntax.
(line 102)
* editing-mode: Readline Init File Syntax.
(line 107)
* EMACS: Bash Variables. (line 215)
* EMACS: Bash Variables. (line 238)
* enable-keypad: Readline Init File Syntax.
(line 118)
* ENV: Bash Variables. (line 220)
* EUID: Bash Variables. (line 224)
* ENV: Bash Variables. (line 243)
* EUID: Bash Variables. (line 247)
* expand-tilde: Readline Init File Syntax.
(line 129)
* FCEDIT: Bash Variables. (line 228)
* FIGNORE: Bash Variables. (line 232)
* FUNCNAME: Bash Variables. (line 238)
* FUNCNEST: Bash Variables. (line 256)
* GLOBIGNORE: Bash Variables. (line 261)
* GROUPS: Bash Variables. (line 267)
* histchars: Bash Variables. (line 273)
* HISTCMD: Bash Variables. (line 288)
* HISTCONTROL: Bash Variables. (line 293)
* HISTFILE: Bash Variables. (line 309)
* HISTFILESIZE: Bash Variables. (line 313)
* HISTIGNORE: Bash Variables. (line 324)
* FCEDIT: Bash Variables. (line 251)
* FIGNORE: Bash Variables. (line 255)
* FUNCNAME: Bash Variables. (line 261)
* FUNCNEST: Bash Variables. (line 279)
* GLOBIGNORE: Bash Variables. (line 284)
* GROUPS: Bash Variables. (line 290)
* histchars: Bash Variables. (line 296)
* HISTCMD: Bash Variables. (line 311)
* HISTCONTROL: Bash Variables. (line 316)
* HISTFILE: Bash Variables. (line 332)
* HISTFILESIZE: Bash Variables. (line 336)
* HISTIGNORE: Bash Variables. (line 347)
* history-preserve-point: Readline Init File Syntax.
(line 133)
* history-size: Readline Init File Syntax.
(line 139)
* HISTSIZE: Bash Variables. (line 343)
* HISTTIMEFORMAT: Bash Variables. (line 350)
* HISTSIZE: Bash Variables. (line 366)
* HISTTIMEFORMAT: Bash Variables. (line 373)
* HOME: Bourne Shell Variables.
(line 13)
* horizontal-scroll-mode: Readline Init File Syntax.
(line 144)
* HOSTFILE: Bash Variables. (line 359)
* HOSTNAME: Bash Variables. (line 370)
* HOSTTYPE: Bash Variables. (line 373)
(line 146)
* HOSTFILE: Bash Variables. (line 382)
* HOSTNAME: Bash Variables. (line 393)
* HOSTTYPE: Bash Variables. (line 396)
* IFS: Bourne Shell Variables.
(line 18)
* IGNOREEOF: Bash Variables. (line 376)
* IGNOREEOF: Bash Variables. (line 399)
* input-meta: Readline Init File Syntax.
(line 151)
* INPUTRC: Bash Variables. (line 386)
(line 153)
* INPUTRC: Bash Variables. (line 409)
* isearch-terminators: Readline Init File Syntax.
(line 158)
(line 160)
* keymap: Readline Init File Syntax.
(line 165)
* LANG: Bash Variables. (line 390)
* LC_ALL: Bash Variables. (line 394)
* LC_COLLATE: Bash Variables. (line 398)
* LC_CTYPE: Bash Variables. (line 405)
(line 167)
* LANG: Bash Variables. (line 413)
* LC_ALL: Bash Variables. (line 417)
* LC_COLLATE: Bash Variables. (line 421)
* LC_CTYPE: Bash Variables. (line 428)
* LC_MESSAGES <1>: Locale Translation. (line 11)
* LC_MESSAGES: Bash Variables. (line 410)
* LC_NUMERIC: Bash Variables. (line 414)
* LINENO: Bash Variables. (line 418)
* LINES: Bash Variables. (line 422)
* MACHTYPE: Bash Variables. (line 427)
* LC_MESSAGES: Bash Variables. (line 433)
* LC_NUMERIC: Bash Variables. (line 437)
* LINENO: Bash Variables. (line 441)
* LINES: Bash Variables. (line 445)
* MACHTYPE: Bash Variables. (line 451)
* MAIL: Bourne Shell Variables.
(line 22)
* MAILCHECK: Bash Variables. (line 431)
* MAILCHECK: Bash Variables. (line 455)
* MAILPATH: Bourne Shell Variables.
(line 27)
* MAPFILE: Bash Variables. (line 439)
* MAPFILE: Bash Variables. (line 463)
* mark-modified-lines: Readline Init File Syntax.
(line 192)
(line 194)
* mark-symlinked-directories: Readline Init File Syntax.
(line 197)
(line 199)
* match-hidden-files: Readline Init File Syntax.
(line 202)
(line 204)
* menu-complete-display-prefix: Readline Init File Syntax.
(line 209)
(line 211)
* meta-flag: Readline Init File Syntax.
(line 151)
* OLDPWD: Bash Variables. (line 443)
(line 153)
* OLDPWD: Bash Variables. (line 467)
* OPTARG: Bourne Shell Variables.
(line 34)
* OPTERR: Bash Variables. (line 446)
* OPTERR: Bash Variables. (line 470)
* OPTIND: Bourne Shell Variables.
(line 38)
* OSTYPE: Bash Variables. (line 450)
* OSTYPE: Bash Variables. (line 474)
* output-meta: Readline Init File Syntax.
(line 214)
(line 216)
* page-completions: Readline Init File Syntax.
(line 219)
(line 221)
* PATH: Bourne Shell Variables.
(line 42)
* PIPESTATUS: Bash Variables. (line 453)
* POSIXLY_CORRECT: Bash Variables. (line 458)
* PPID: Bash Variables. (line 467)
* PROMPT_COMMAND: Bash Variables. (line 471)
* PROMPT_DIRTRIM: Bash Variables. (line 475)
* PIPESTATUS: Bash Variables. (line 477)
* POSIXLY_CORRECT: Bash Variables. (line 482)
* PPID: Bash Variables. (line 491)
* PROMPT_COMMAND: Bash Variables. (line 495)
* PROMPT_DIRTRIM: Bash Variables. (line 499)
* PS1: Bourne Shell Variables.
(line 48)
* PS2: Bourne Shell Variables.
(line 53)
* PS3: Bash Variables. (line 481)
* PS4: Bash Variables. (line 486)
* PWD: Bash Variables. (line 492)
* RANDOM: Bash Variables. (line 495)
* READLINE_LINE: Bash Variables. (line 500)
* READLINE_POINT: Bash Variables. (line 504)
* REPLY: Bash Variables. (line 508)
* PS3: Bash Variables. (line 505)
* PS4: Bash Variables. (line 510)
* PWD: Bash Variables. (line 516)
* RANDOM: Bash Variables. (line 519)
* READLINE_LINE: Bash Variables. (line 524)
* READLINE_POINT: Bash Variables. (line 528)
* REPLY: Bash Variables. (line 532)
* revert-all-at-newline: Readline Init File Syntax.
(line 229)
* SECONDS: Bash Variables. (line 511)
* SHELL: Bash Variables. (line 517)
* SHELLOPTS: Bash Variables. (line 522)
* SHLVL: Bash Variables. (line 531)
(line 231)
* SECONDS: Bash Variables. (line 535)
* SHELL: Bash Variables. (line 541)
* SHELLOPTS: Bash Variables. (line 546)
* SHLVL: Bash Variables. (line 555)
* show-all-if-ambiguous: Readline Init File Syntax.
(line 235)
(line 237)
* show-all-if-unmodified: Readline Init File Syntax.
(line 241)
(line 243)
* show-mode-in-prompt: Readline Init File Syntax.
(line 252)
* skip-completed-text: Readline Init File Syntax.
(line 250)
(line 257)
* TEXTDOMAIN: Locale Translation. (line 11)
* TEXTDOMAINDIR: Locale Translation. (line 11)
* TIMEFORMAT: Bash Variables. (line 536)
* TMOUT: Bash Variables. (line 574)
* TMPDIR: Bash Variables. (line 586)
* UID: Bash Variables. (line 590)
* TIMEFORMAT: Bash Variables. (line 560)
* TMOUT: Bash Variables. (line 598)
* TMPDIR: Bash Variables. (line 610)
* UID: Bash Variables. (line 614)
* visible-stats: Readline Init File Syntax.
(line 263)
(line 270)

File: bashref.info, Node: Function Index, Next: Concept Index, Prev: Variable Index, Up: Indexes
@@ -11007,134 +11081,134 @@ D.5 Concept Index

Tag Table:
Node: Top1091
Node: Introduction2943
Node: What is Bash?3171
Node: What is a shell?4284
Node: Definitions6823
Node: Basic Shell Features9741
Node: Shell Syntax10960
Node: Shell Operation11990
Node: Quoting13284
Node: Escape Character14587
Node: Single Quotes15072
Node: Double Quotes15420
Node: ANSI-C Quoting16545
Node: Locale Translation17789
Node: Comments18685
Node: Shell Commands19303
Node: Simple Commands20175
Node: Pipelines20806
Node: Lists23505
Node: Compound Commands25234
Node: Looping Constructs26240
Node: Conditional Constructs28703
Node: Command Grouping39536
Node: Coprocesses41015
Node: GNU Parallel42743
Node: Shell Functions45211
Node: Shell Parameters50295
Node: Positional Parameters54424
Node: Special Parameters55324
Node: Shell Expansions58288
Node: Brace Expansion60214
Node: Tilde Expansion62968
Node: Shell Parameter Expansion65317
Node: Command Substitution77321
Node: Arithmetic Expansion78654
Node: Process Substitution79504
Node: Word Splitting80554
Node: Filename Expansion82177
Node: Pattern Matching84342
Node: Quote Removal88042
Node: Redirections88337
Node: Executing Commands97501
Node: Simple Command Expansion98171
Node: Command Search and Execution100101
Node: Command Execution Environment102438
Node: Environment105424
Node: Exit Status107083
Node: Signals108705
Node: Shell Scripts110673
Node: Shell Builtin Commands113191
Node: Bourne Shell Builtins115219
Node: Bash Builtins134811
Node: Modifying Shell Behavior161841
Node: The Set Builtin162186
Node: The Shopt Builtin172358
Node: Special Builtins186409
Node: Shell Variables187388
Node: Bourne Shell Variables187828
Node: Bash Variables189859
Node: Bash Features215369
Node: Invoking Bash216268
Node: Bash Startup Files222046
Node: Interactive Shells227065
Node: What is an Interactive Shell?227475
Node: Is this Shell Interactive?228124
Node: Interactive Shell Behavior228939
Node: Bash Conditional Expressions232227
Node: Shell Arithmetic236015
Node: Aliases238791
Node: Arrays241347
Node: The Directory Stack245633
Node: Directory Stack Builtins246352
Node: Controlling the Prompt249308
Node: The Restricted Shell252080
Node: Bash POSIX Mode253917
Node: Job Control263304
Node: Job Control Basics263764
Node: Job Control Builtins268483
Node: Job Control Variables272835
Node: Command Line Editing273993
Node: Introduction and Notation275665
Node: Readline Interaction277287
Node: Readline Bare Essentials278478
Node: Readline Movement Commands280267
Node: Readline Killing Commands281232
Node: Readline Arguments283152
Node: Searching284196
Node: Readline Init File286382
Node: Readline Init File Syntax287529
Node: Conditional Init Constructs303962
Node: Sample Init File306495
Node: Bindable Readline Commands309612
Node: Commands For Moving310819
Node: Commands For History311963
Node: Commands For Text316148
Node: Commands For Killing318821
Node: Numeric Arguments321278
Node: Commands For Completion322417
Node: Keyboard Macros326609
Node: Miscellaneous Commands327297
Node: Readline vi Mode333103
Node: Programmable Completion334010
Node: Programmable Completion Builtins341260
Node: A Programmable Completion Example351006
Node: Using History Interactively356256
Node: Bash History Facilities356940
Node: Bash History Builtins359939
Node: History Interaction363867
Node: Event Designators366572
Node: Word Designators367794
Node: Modifiers369433
Node: Installing Bash370837
Node: Basic Installation371974
Node: Compilers and Options374666
Node: Compiling For Multiple Architectures375407
Node: Installation Names377071
Node: Specifying the System Type377889
Node: Sharing Defaults378605
Node: Operation Controls379278
Node: Optional Features380236
Node: Reporting Bugs389808
Node: Major Differences From The Bourne Shell391009
Node: GNU Free Documentation License407701
Node: Indexes432897
Node: Builtin Index433351
Node: Reserved Word Index440178
Node: Variable Index442626
Node: Function Index455862
Node: Concept Index463090
Node: Top924
Node: Introduction2840
Node: What is Bash?3068
Node: What is a shell?4181
Node: Definitions6720
Node: Basic Shell Features9638
Node: Shell Syntax10857
Node: Shell Operation11887
Node: Quoting13181
Node: Escape Character14484
Node: Single Quotes14969
Node: Double Quotes15317
Node: ANSI-C Quoting16442
Node: Locale Translation17686
Node: Comments18582
Node: Shell Commands19200
Node: Simple Commands20072
Node: Pipelines20703
Node: Lists23402
Node: Compound Commands25131
Node: Looping Constructs26137
Node: Conditional Constructs28600
Node: Command Grouping39478
Node: Coprocesses40957
Node: GNU Parallel42790
Node: Shell Functions45258
Node: Shell Parameters50342
Node: Positional Parameters54471
Node: Special Parameters55371
Node: Shell Expansions58335
Node: Brace Expansion60261
Node: Tilde Expansion63042
Node: Shell Parameter Expansion65391
Node: Command Substitution77685
Node: Arithmetic Expansion79018
Node: Process Substitution79868
Node: Word Splitting80918
Node: Filename Expansion82541
Node: Pattern Matching84706
Node: Quote Removal88406
Node: Redirections88701
Node: Executing Commands97865
Node: Simple Command Expansion98535
Node: Command Search and Execution100465
Node: Command Execution Environment102802
Node: Environment105788
Node: Exit Status107447
Node: Signals109069
Node: Shell Scripts111037
Node: Shell Builtin Commands113555
Node: Bourne Shell Builtins115583
Node: Bash Builtins135359
Node: Modifying Shell Behavior162686
Node: The Set Builtin163031
Node: The Shopt Builtin173357
Node: Special Builtins187561
Node: Shell Variables188540
Node: Bourne Shell Variables188980
Node: Bash Variables191011
Node: Bash Features217886
Node: Invoking Bash218785
Node: Bash Startup Files224563
Node: Interactive Shells229582
Node: What is an Interactive Shell?229992
Node: Is this Shell Interactive?230641
Node: Interactive Shell Behavior231456
Node: Bash Conditional Expressions234744
Node: Shell Arithmetic238746
Node: Aliases241522
Node: Arrays244078
Node: The Directory Stack248767
Node: Directory Stack Builtins249486
Node: Controlling the Prompt252442
Node: The Restricted Shell255214
Node: Bash POSIX Mode257051
Node: Job Control266438
Node: Job Control Basics266898
Node: Job Control Builtins271617
Node: Job Control Variables276079
Node: Command Line Editing277237
Node: Introduction and Notation278909
Node: Readline Interaction280531
Node: Readline Bare Essentials281722
Node: Readline Movement Commands283511
Node: Readline Killing Commands284476
Node: Readline Arguments286396
Node: Searching287440
Node: Readline Init File289626
Node: Readline Init File Syntax290773
Node: Conditional Init Constructs307610
Node: Sample Init File310143
Node: Bindable Readline Commands313260
Node: Commands For Moving314467
Node: Commands For History315611
Node: Commands For Text319796
Node: Commands For Killing322469
Node: Numeric Arguments324926
Node: Commands For Completion326065
Node: Keyboard Macros330257
Node: Miscellaneous Commands330945
Node: Readline vi Mode336751
Node: Programmable Completion337658
Node: Programmable Completion Builtins344908
Node: A Programmable Completion Example354654
Node: Using History Interactively359904
Node: Bash History Facilities360588
Node: Bash History Builtins363587
Node: History Interaction367515
Node: Event Designators370220
Node: Word Designators371442
Node: Modifiers373081
Node: Installing Bash374485
Node: Basic Installation375622
Node: Compilers and Options378314
Node: Compiling For Multiple Architectures379055
Node: Installation Names380719
Node: Specifying the System Type381537
Node: Sharing Defaults382253
Node: Operation Controls382926
Node: Optional Features383884
Node: Reporting Bugs393672
Node: Major Differences From The Bourne Shell394870
Node: GNU Free Documentation License411729
Node: Indexes436925
Node: Builtin Index437379
Node: Reserved Word Index444206
Node: Variable Index446654
Node: Function Index460177
Node: Concept Index467405

End Tag Table
+36 -37
View File
@@ -1,6 +1,6 @@
This is TeX, Version 3.1415926 (TeX Live 2011/Fink) (format=tex 2012.4.18) 16 JUL 2012 16:12
**/usr/homes/chet/src/bash/src/doc/bashref.texi
(/usr/homes/chet/src/bash/src/doc/bashref.texi (./texinfo.tex
This is TeX, Version 3.1415926 (TeX Live 2011/Fink) (format=tex 2012.4.18) 11 JAN 2013 16:34
**/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]:
\bindingoffset=\dimen16
\normaloffset=\dimen17
@@ -178,7 +178,7 @@ This is `epsf.tex' v2.7.4 <14 February 2011>
Chapter 2 [1] [2] [3] Chapter 3 [4] [5] [6]
[7] [8] [9] [10]
Overfull \hbox (43.33539pt too wide) in paragraph at lines 878--878
Overfull \hbox (43.33539pt too wide) in paragraph at lines 866--866
[]@texttt case @textttsl word @texttt in [ [(] @textttsl pat-tern @texttt [| @
textttsl pat-tern@texttt ][]) @textttsl command-list @texttt ;;][] esac[]
@@ -191,7 +191,7 @@ textttsl pat-tern@texttt ][]) @textttsl command-list @texttt ;;][] esac[]
.etc.
[11] [12] [13] [14] [15]
Overfull \hbox (89.6747pt too wide) in paragraph at lines 1262--1262
Overfull \hbox (89.6747pt too wide) in paragraph at lines 1253--1253
[]@texttt cat list | parallel "do-something1 {} config-{} ; do-something2 < {}
" | process-output[]
@@ -204,7 +204,7 @@ Overfull \hbox (89.6747pt too wide) in paragraph at lines 1262--1262
.etc.
Overfull \hbox (89.6747pt too wide) in paragraph at lines 1277--1277
Overfull \hbox (89.6747pt too wide) in paragraph at lines 1268--1268
[]@texttt { echo foss.org.my ; echo debian.org; echo freenetproject.org; } | p
arallel traceroute[]
@@ -217,7 +217,7 @@ arallel traceroute[]
.etc.
Overfull \hbox (106.92076pt too wide) in paragraph at lines 1283--1283
Overfull \hbox (106.92076pt too wide) in paragraph at lines 1274--1274
[]@texttt { echo foss.org.my ; echo debian.org; echo freenetproject.org; } | p
arallel -k traceroute[]
@@ -231,8 +231,8 @@ arallel -k traceroute[]
[16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30]
[31] [32] [33] [34] [35] [36] [37] [38] Chapter 4 [39] [40] [41] [42] [43]
[44] [45] [46] [47]
Underfull \hbox (badness 5231) in paragraph at lines 3718--3731
[44] [45] [46]
Underfull \hbox (badness 5231) in paragraph at lines 3723--3736
@texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr
m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
@@ -244,9 +244,9 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
.@texttt c
.etc.
[48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62]
[63] [64]
Underfull \hbox (badness 5460) in paragraph at lines 4991--4997
[47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61]
[62] [63] [64]
Underfull \hbox (badness 5460) in paragraph at lines 5010--5016
[]@textrm If set, range ex-pres-sions used in pat-tern match-ing (see
@hbox(8.2125+2.73749)x433.62, glue set 3.79674
@@ -257,9 +257,9 @@ Underfull \hbox (badness 5460) in paragraph at lines 4991--4997
.@glue 3.65 plus 1.825 minus 1.21666
.etc.
[65] [66] [67] Chapter 5 [68] [69] [70] [71] [72] [73] [74] [75] [76] [77]
[65] [66] Chapter 5 [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77]
Chapter 6 [78]
Overfull \hbox (51.96864pt too wide) in paragraph at lines 5891--5891
Overfull \hbox (51.96864pt too wide) in paragraph at lines 5935--5935
[]@texttt bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@t
exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
@@ -272,7 +272,7 @@ exttt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
.etc.
Overfull \hbox (76.23077pt too wide) in paragraph at lines 5892--5892
Overfull \hbox (76.23077pt too wide) in paragraph at lines 5936--5936
[]@texttt bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@texttt
] [-O @textttsl shopt_option@texttt ] -c @textttsl string @texttt [@textttsl ar
-
@@ -286,7 +286,7 @@ Overfull \hbox (76.23077pt too wide) in paragraph at lines 5892--5892
.etc.
Overfull \hbox (34.72258pt too wide) in paragraph at lines 5893--5893
Overfull \hbox (34.72258pt too wide) in paragraph at lines 5937--5937
[]@texttt bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @textttsl op-tion@text
tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
@@ -299,7 +299,7 @@ tt ] [-O @textttsl shopt_option@texttt ] [@textttsl ar-
.etc.
[79] [80]
Underfull \hbox (badness 2245) in paragraph at lines 6065--6067
Underfull \hbox (badness 2245) in paragraph at lines 6109--6111
[]@textrm When a lo-gin shell ex-its, Bash reads and ex-e-cutes com-mands from
the file
@@ -312,7 +312,7 @@ the file
.etc.
[81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94]
Underfull \hbox (badness 2521) in paragraph at lines 7263--7266
Underfull \hbox (badness 2521) in paragraph at lines 7321--7324
@textrm `@texttt --enable-strict-posix-default[]@textrm '[] to @texttt configur
e[] @textrm when build-ing (see Sec-tion 10.8
@@ -325,9 +325,9 @@ e[] @textrm when build-ing (see Sec-tion 10.8
.etc.
Chapter 7 [95] [96] [97] [98] [99]
(/usr/homes/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8 [100]
[101] [102] [103] [104] [105] [106]
Underfull \hbox (badness 5231) in paragraph at lines 561--577
(/Users/chet/src/bash/src/lib/readline/doc/rluser.texi Chapter 8 [100] [101]
[102] [103] [104] [105] [106]
Underfull \hbox (badness 5231) in paragraph at lines 565--581
@texttt emacs-meta[]@textrm , @texttt emacs-ctlx[]@textrm , @texttt vi[]@textr
m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
@@ -340,7 +340,7 @@ m , @texttt vi-move[]@textrm , @texttt vi-command[]@textrm , and
.etc.
[107] [108] [109] [110] [111] [112]
Overfull \hbox (26.43913pt too wide) in paragraph at lines 918--918
Overfull \hbox (26.43913pt too wide) in paragraph at lines 929--929
[]@texttt Meta-Control-h: backward-kill-word Text after the function name is i
gnored[]
@@ -354,7 +354,7 @@ gnored[]
[113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124]
[125] [126]
Overfull \hbox (12.05716pt too wide) in paragraph at lines 1866--1866
Overfull \hbox (12.05716pt too wide) in paragraph at lines 1877--1877
[]@texttt complete [-abcdefgjksuv] [-o @textttsl comp-option@texttt ] [-DE] [-
A @textttsl ac-tion@texttt ] [-
@@ -367,7 +367,7 @@ A @textttsl ac-tion@texttt ] [-
.etc.
[127]
Underfull \hbox (badness 2753) in paragraph at lines 1980--1983
Underfull \hbox (badness 2753) in paragraph at lines 1991--1994
@texttt hostname[]@textrm Hostnames, as taken from the file spec-i-fied by
@hbox(7.60416+2.12917)x433.62, glue set 3.02202
@@ -379,7 +379,7 @@ Underfull \hbox (badness 2753) in paragraph at lines 1980--1983
.etc.
[128] [129] [130]
Overfull \hbox (26.43913pt too wide) in paragraph at lines 2131--2131
Overfull \hbox (26.43913pt too wide) in paragraph at lines 2142--2142
[] @texttt # Tilde expansion, with side effect of expanding tilde to full p
athname[]
@@ -391,9 +391,9 @@ athname[]
.@penalty 10000
.etc.
[131]) (/usr/homes/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9
[132] [133] [134] [135] [136]) Chapter 10 [137] [138] [139] [140] [141]
Underfull \hbox (badness 2772) in paragraph at lines 7869--7873
[131]) (/Users/chet/src/bash/src/lib/readline/doc/hsuser.texi Chapter 9
[132] [133] [134] [135] [136]) Chapter 10 [137] [138] [139] [140]
Underfull \hbox (badness 2772) in paragraph at lines 7929--7933
[]@textrm Enable sup-port for large files (@texttt http://www.sas.com/standard
s/large_
@@ -405,18 +405,17 @@ s/large_
.@textrm a
.etc.
[142] [143] [144] Appendix A [145] [146] Appendix B [147] [148] [149] [150]
[151] [152] [153] Appendix C [154] (./fdl.texi [155] [156] [157] [158] [159]
[160] [161]) Appendix D [162] (./bashref.bts) [163] (./bashref.rws)
(./bashref.vrs [164] [165]) (./bashref.fns [166] [167]) (./bashref.cps [168])
[169] [170] )
[141] [142] [143] Appendix A [144] Appendix B [145] [146] [147] [148] [149]
[150] Appendix C [151] (./fdl.texi [152] [153] [154] [155] [156] [157] [158])
Appendix D [159] (./bashref.bts) [160] (./bashref.rws) (./bashref.vrs [161]
[162]) (./bashref.fns [163] [164]) (./bashref.cps [165]) [166] )
Here is how much of TeX's memory you used:
2085 strings out of 497974
28645 string characters out of 3220833
65556 words of memory out of 3000000
28613 string characters out of 3220833
65396 words of memory out of 3000000
2901 multiletter control sequences out of 15000+200000
32127 words of font info for 112 fonts, out of 3000000 for 9000
51 hyphenation exceptions out of 8191
16i,6n,14p,319b,705s stack positions out of 5000i,500n,10000p,200000b,50000s
16i,6n,14p,315b,705s stack positions out of 5000i,500n,10000p,200000b,50000s
Output written on bashref.dvi (176 pages, 709392 bytes).
Output written on bashref.dvi (172 pages, 715952 bytes).
BIN
View File
Binary file not shown.
+5519 -5370
View File
File diff suppressed because it is too large Load Diff
+8 -6
View File
@@ -3615,7 +3615,7 @@ The @code{ERR} trap is not executed if the failed command is part of the
command list immediately following an @code{until} or @code{while} keyword,
part of the test following the @code{if} or @code{elif} reserved words,
part of a command executed in a @code{&&} or @code{||} list
except the command following the final @code{&&) or @code{||},
except the command following the final @code{&&} or @code{||},
any command in a pipeline but the last,
or if the command's return
status is being inverted using @code{!}.
@@ -5314,7 +5314,7 @@ in which case it is the command executing at the time of the trap.
@item BASH_COMPAT
The value is used to set the shell's compatibility level.
@xref{The Shopt Builtin} for a description of the various compatibility
@xref{The Shopt Builtin}, for a description of the various compatibility
levels and their effects.
The value may be a decimal number (e.g., 4.2) or an integer (e.g., 42)
corresponding to the desired compatibility level.
@@ -5419,8 +5419,9 @@ The minimum value is system-dependent.
@item COLUMNS
Used by the @code{select} command to determine the terminal width
when printing selection lists. Automatically set by an interactive shell
upon receipt of a
when printing selection lists.
Automatically set if the @code{checkwinsize} option is enabled
(@pxref{The Shopt Builtin}), or in an interactive shell upon receipt of a
@code{SIGWINCH}.
@item COMP_CWORD
@@ -5716,8 +5717,9 @@ The line number in the script or shell function currently executing.
@item LINES
Used by the @code{select} command to determine the column length
for printing selection lists. Automatically set by an interactive shell
upon receipt of a
for printing selection lists.
Automatically set if the @code{checkwinsize} option is enabled
(@pxref{The Shopt Builtin}), or in an interactive shell upon receipt of a
@code{SIGWINCH}.
@item MACHTYPE
+1 -6
View File
@@ -6,11 +6,7 @@ This is Edition @value{EDITION}, last updated @value{UPDATED},
of @cite{The GNU Bash Reference Manual},
for @code{Bash}, Version @value{VERSION}.
Copyright @copyright{} 1988--2012 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
are preserved on all copies.
Copyright @copyright{} 1988--2013 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@@ -19,6 +15,5 @@ any later version published by the Free Software Foundation; with no
Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled
``GNU Free Documentation License''.
@end quotation
@endinput
+33 -33
View File
@@ -36,7 +36,7 @@
@numsubsecentry{Word Splitting}{3.5.7}{Word Splitting}{28}
@numsubsecentry{Filename Expansion}{3.5.8}{Filename Expansion}{29}
@numsubsubsecentry{Pattern Matching}{3.5.8.1}{Pattern Matching}{29}
@numsubsecentry{Quote Removal}{3.5.9}{Quote Removal}{30}
@numsubsecentry{Quote Removal}{3.5.9}{Quote Removal}{31}
@numsecentry{Redirections}{3.6}{Redirections}{31}
@numsubsecentry{Redirecting Input}{3.6.1}{}{32}
@numsubsecentry{Redirecting Output}{3.6.2}{}{32}
@@ -45,7 +45,7 @@
@numsubsecentry{Appending Standard Output and Standard Error}{3.6.5}{}{33}
@numsubsecentry{Here Documents}{3.6.6}{}{33}
@numsubsecentry{Here Strings}{3.6.7}{}{33}
@numsubsecentry{Duplicating File Descriptors}{3.6.8}{}{33}
@numsubsecentry{Duplicating File Descriptors}{3.6.8}{}{34}
@numsubsecentry{Moving File Descriptors}{3.6.9}{}{34}
@numsubsecentry{Opening File Descriptors for Reading and Writing}{3.6.10}{}{34}
@numsecentry{Executing Commands}{3.7}{Executing Commands}{34}
@@ -56,16 +56,16 @@
@numsubsecentry{Exit Status}{3.7.5}{Exit Status}{37}
@numsubsecentry{Signals}{3.7.6}{Signals}{38}
@numsecentry{Shell Scripts}{3.8}{Shell Scripts}{38}
@numchapentry{Shell Builtin Commands}{4}{Shell Builtin Commands}{41}
@numsecentry{Bourne Shell Builtins}{4.1}{Bourne Shell Builtins}{41}
@numsecentry{Bash Builtin Commands}{4.2}{Bash Builtins}{48}
@numsecentry{Modifying Shell Behavior}{4.3}{Modifying Shell Behavior}{58}
@numsubsecentry{The Set Builtin}{4.3.1}{The Set Builtin}{58}
@numsubsecentry{The Shopt Builtin}{4.3.2}{The Shopt Builtin}{62}
@numchapentry{Shell Builtin Commands}{4}{Shell Builtin Commands}{40}
@numsecentry{Bourne Shell Builtins}{4.1}{Bourne Shell Builtins}{40}
@numsecentry{Bash Builtin Commands}{4.2}{Bash Builtins}{47}
@numsecentry{Modifying Shell Behavior}{4.3}{Modifying Shell Behavior}{57}
@numsubsecentry{The Set Builtin}{4.3.1}{The Set Builtin}{57}
@numsubsecentry{The Shopt Builtin}{4.3.2}{The Shopt Builtin}{61}
@numsecentry{Special Builtins}{4.4}{Special Builtins}{67}
@numchapentry{Shell Variables}{5}{Shell Variables}{69}
@numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{69}
@numsecentry{Bash Variables}{5.2}{Bash Variables}{69}
@numchapentry{Shell Variables}{5}{Shell Variables}{68}
@numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{68}
@numsecentry{Bash Variables}{5.2}{Bash Variables}{68}
@numchapentry{Bash Features}{6}{Bash Features}{79}
@numsecentry{Invoking Bash}{6.1}{Invoking Bash}{79}
@numsecentry{Bash Startup Files}{6.2}{Bash Startup Files}{81}
@@ -77,11 +77,11 @@
@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{86}
@numsecentry{Aliases}{6.6}{Aliases}{87}
@numsecentry{Arrays}{6.7}{Arrays}{88}
@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{89}
@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{89}
@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{90}
@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{90}
@numsecentry{Controlling the Prompt}{6.9}{Controlling the Prompt}{91}
@numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{92}
@numsecentry{Bash POSIX Mode}{6.11}{Bash POSIX Mode}{92}
@numsecentry{Bash POSIX Mode}{6.11}{Bash POSIX Mode}{93}
@numchapentry{Job Control}{7}{Job Control}{97}
@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{97}
@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{98}
@@ -118,22 +118,22 @@
@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{136}
@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{136}
@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{137}
@numchapentry{Installing Bash}{10}{Installing Bash}{139}
@numsecentry{Basic Installation}{10.1}{Basic Installation}{139}
@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{140}
@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{140}
@numsecentry{Installation Names}{10.4}{Installation Names}{140}
@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{140}
@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{141}
@numsecentry{Operation Controls}{10.7}{Operation Controls}{141}
@numsecentry{Optional Features}{10.8}{Optional Features}{141}
@appentry{Reporting Bugs}{A}{Reporting Bugs}{147}
@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{149}
@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{153}
@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{155}
@appentry{Indexes}{D}{Indexes}{163}
@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{163}
@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{164}
@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{164}
@appsecentry{Function Index}{D.4}{Function Index}{166}
@appsecentry{Concept Index}{D.5}{Concept Index}{168}
@numchapentry{Installing Bash}{10}{Installing Bash}{138}
@numsecentry{Basic Installation}{10.1}{Basic Installation}{138}
@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{139}
@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{139}
@numsecentry{Installation Names}{10.4}{Installation Names}{139}
@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{139}
@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{140}
@numsecentry{Operation Controls}{10.7}{Operation Controls}{140}
@numsecentry{Optional Features}{10.8}{Optional Features}{140}
@appentry{Reporting Bugs}{A}{Reporting Bugs}{145}
@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{146}
@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{150}
@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{152}
@appentry{Indexes}{D}{Indexes}{160}
@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{160}
@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{161}
@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{161}
@appsecentry{Function Index}{D.4}{Function Index}{163}
@appsecentry{Concept Index}{D.5}{Concept Index}{165}
+61 -58
View File
@@ -4,81 +4,83 @@
\entry{*}{19}{\code {*}}
\entry{@}{19}{\code {@}}
\entry{#}{19}{\code {#}}
\entry{?}{19}{\code {?}}
\entry{-}{19}{\code {-}}
\entry{?}{20}{\code {?}}
\entry{-}{20}{\code {-}}
\entry{$}{20}{\code {$}}
\entry{!}{20}{\code {!}}
\entry{0}{20}{\code {0}}
\entry{_}{20}{\code {_}}
\entry{CDPATH}{69}{\code {CDPATH}}
\entry{HOME}{69}{\code {HOME}}
\entry{IFS}{69}{\code {IFS}}
\entry{MAIL}{69}{\code {MAIL}}
\entry{MAILPATH}{69}{\code {MAILPATH}}
\entry{OPTARG}{69}{\code {OPTARG}}
\entry{OPTIND}{69}{\code {OPTIND}}
\entry{PATH}{69}{\code {PATH}}
\entry{PS1}{69}{\code {PS1}}
\entry{PS2}{69}{\code {PS2}}
\entry{BASH}{69}{\code {BASH}}
\entry{BASHOPTS}{70}{\code {BASHOPTS}}
\entry{BASHPID}{70}{\code {BASHPID}}
\entry{BASH_ALIASES}{70}{\code {BASH_ALIASES}}
\entry{BASH_ARGC}{70}{\code {BASH_ARGC}}
\entry{BASH_ARGV}{70}{\code {BASH_ARGV}}
\entry{BASH_CMDS}{70}{\code {BASH_CMDS}}
\entry{BASH_COMMAND}{70}{\code {BASH_COMMAND}}
\entry{CDPATH}{68}{\code {CDPATH}}
\entry{HOME}{68}{\code {HOME}}
\entry{IFS}{68}{\code {IFS}}
\entry{MAIL}{68}{\code {MAIL}}
\entry{MAILPATH}{68}{\code {MAILPATH}}
\entry{OPTARG}{68}{\code {OPTARG}}
\entry{OPTIND}{68}{\code {OPTIND}}
\entry{PATH}{68}{\code {PATH}}
\entry{PS1}{68}{\code {PS1}}
\entry{PS2}{68}{\code {PS2}}
\entry{BASH}{68}{\code {BASH}}
\entry{BASHOPTS}{69}{\code {BASHOPTS}}
\entry{BASHPID}{69}{\code {BASHPID}}
\entry{BASH_ALIASES}{69}{\code {BASH_ALIASES}}
\entry{BASH_ARGC}{69}{\code {BASH_ARGC}}
\entry{BASH_ARGV}{69}{\code {BASH_ARGV}}
\entry{BASH_CMDS}{69}{\code {BASH_CMDS}}
\entry{BASH_COMMAND}{69}{\code {BASH_COMMAND}}
\entry{BASH_COMPAT}{69}{\code {BASH_COMPAT}}
\entry{BASH_ENV}{70}{\code {BASH_ENV}}
\entry{BASH_EXECUTION_STRING}{70}{\code {BASH_EXECUTION_STRING}}
\entry{BASH_LINENO}{71}{\code {BASH_LINENO}}
\entry{BASH_REMATCH}{71}{\code {BASH_REMATCH}}
\entry{BASH_SOURCE}{71}{\code {BASH_SOURCE}}
\entry{BASH_SUBSHELL}{71}{\code {BASH_SUBSHELL}}
\entry{BASH_VERSINFO}{71}{\code {BASH_VERSINFO}}
\entry{BASH_LINENO}{70}{\code {BASH_LINENO}}
\entry{BASH_REMATCH}{70}{\code {BASH_REMATCH}}
\entry{BASH_SOURCE}{70}{\code {BASH_SOURCE}}
\entry{BASH_SUBSHELL}{70}{\code {BASH_SUBSHELL}}
\entry{BASH_VERSINFO}{70}{\code {BASH_VERSINFO}}
\entry{BASH_VERSION}{71}{\code {BASH_VERSION}}
\entry{BASH_XTRACEFD}{71}{\code {BASH_XTRACEFD}}
\entry{COLUMNS}{72}{\code {COLUMNS}}
\entry{COMP_CWORD}{72}{\code {COMP_CWORD}}
\entry{COMP_LINE}{72}{\code {COMP_LINE}}
\entry{COMP_POINT}{72}{\code {COMP_POINT}}
\entry{CHILD_MAX}{71}{\code {CHILD_MAX}}
\entry{COLUMNS}{71}{\code {COLUMNS}}
\entry{COMP_CWORD}{71}{\code {COMP_CWORD}}
\entry{COMP_LINE}{71}{\code {COMP_LINE}}
\entry{COMP_POINT}{71}{\code {COMP_POINT}}
\entry{COMP_TYPE}{72}{\code {COMP_TYPE}}
\entry{COMP_KEY}{72}{\code {COMP_KEY}}
\entry{COMP_WORDBREAKS}{72}{\code {COMP_WORDBREAKS}}
\entry{COMP_WORDS}{72}{\code {COMP_WORDS}}
\entry{COMPREPLY}{73}{\code {COMPREPLY}}
\entry{COPROC}{73}{\code {COPROC}}
\entry{DIRSTACK}{73}{\code {DIRSTACK}}
\entry{EMACS}{73}{\code {EMACS}}
\entry{ENV}{73}{\code {ENV}}
\entry{EUID}{73}{\code {EUID}}
\entry{FCEDIT}{73}{\code {FCEDIT}}
\entry{COMPREPLY}{72}{\code {COMPREPLY}}
\entry{COPROC}{72}{\code {COPROC}}
\entry{DIRSTACK}{72}{\code {DIRSTACK}}
\entry{EMACS}{72}{\code {EMACS}}
\entry{ENV}{72}{\code {ENV}}
\entry{EUID}{72}{\code {EUID}}
\entry{FCEDIT}{72}{\code {FCEDIT}}
\entry{FIGNORE}{73}{\code {FIGNORE}}
\entry{FUNCNAME}{73}{\code {FUNCNAME}}
\entry{FUNCNEST}{73}{\code {FUNCNEST}}
\entry{GLOBIGNORE}{73}{\code {GLOBIGNORE}}
\entry{GROUPS}{74}{\code {GROUPS}}
\entry{histchars}{74}{\code {histchars}}
\entry{HISTCMD}{74}{\code {HISTCMD}}
\entry{HISTCONTROL}{74}{\code {HISTCONTROL}}
\entry{GROUPS}{73}{\code {GROUPS}}
\entry{histchars}{73}{\code {histchars}}
\entry{HISTCMD}{73}{\code {HISTCMD}}
\entry{HISTCONTROL}{73}{\code {HISTCONTROL}}
\entry{HISTFILE}{74}{\code {HISTFILE}}
\entry{HISTFILESIZE}{74}{\code {HISTFILESIZE}}
\entry{HISTIGNORE}{74}{\code {HISTIGNORE}}
\entry{HISTSIZE}{75}{\code {HISTSIZE}}
\entry{HISTTIMEFORMAT}{75}{\code {HISTTIMEFORMAT}}
\entry{HOSTFILE}{75}{\code {HOSTFILE}}
\entry{HISTSIZE}{74}{\code {HISTSIZE}}
\entry{HISTTIMEFORMAT}{74}{\code {HISTTIMEFORMAT}}
\entry{HOSTFILE}{74}{\code {HOSTFILE}}
\entry{HOSTNAME}{75}{\code {HOSTNAME}}
\entry{HOSTTYPE}{75}{\code {HOSTTYPE}}
\entry{IGNOREEOF}{75}{\code {IGNOREEOF}}
\entry{INPUTRC}{75}{\code {INPUTRC}}
\entry{LANG}{75}{\code {LANG}}
\entry{LC_ALL}{75}{\code {LC_ALL}}
\entry{LC_COLLATE}{76}{\code {LC_COLLATE}}
\entry{LC_CTYPE}{76}{\code {LC_CTYPE}}
\entry{LC_MESSAGES}{76}{\code {LC_MESSAGES}}
\entry{LC_NUMERIC}{76}{\code {LC_NUMERIC}}
\entry{LINENO}{76}{\code {LINENO}}
\entry{LINES}{76}{\code {LINES}}
\entry{MACHTYPE}{76}{\code {MACHTYPE}}
\entry{LC_COLLATE}{75}{\code {LC_COLLATE}}
\entry{LC_CTYPE}{75}{\code {LC_CTYPE}}
\entry{LC_MESSAGES}{75}{\code {LC_MESSAGES}}
\entry{LC_NUMERIC}{75}{\code {LC_NUMERIC}}
\entry{LINENO}{75}{\code {LINENO}}
\entry{LINES}{75}{\code {LINES}}
\entry{MACHTYPE}{75}{\code {MACHTYPE}}
\entry{MAILCHECK}{76}{\code {MAILCHECK}}
\entry{MAPFILE}{76}{\code {MAPFILE}}
\entry{OLDPWD}{76}{\code {OLDPWD}}
@@ -86,13 +88,13 @@
\entry{OSTYPE}{76}{\code {OSTYPE}}
\entry{PIPESTATUS}{76}{\code {PIPESTATUS}}
\entry{POSIXLY_CORRECT}{76}{\code {POSIXLY_CORRECT}}
\entry{PPID}{77}{\code {PPID}}
\entry{PROMPT_COMMAND}{77}{\code {PROMPT_COMMAND}}
\entry{PROMPT_DIRTRIM}{77}{\code {PROMPT_DIRTRIM}}
\entry{PS3}{77}{\code {PS3}}
\entry{PS4}{77}{\code {PS4}}
\entry{PWD}{77}{\code {PWD}}
\entry{RANDOM}{77}{\code {RANDOM}}
\entry{PPID}{76}{\code {PPID}}
\entry{PROMPT_COMMAND}{76}{\code {PROMPT_COMMAND}}
\entry{PROMPT_DIRTRIM}{76}{\code {PROMPT_DIRTRIM}}
\entry{PS3}{76}{\code {PS3}}
\entry{PS4}{76}{\code {PS4}}
\entry{PWD}{76}{\code {PWD}}
\entry{RANDOM}{76}{\code {RANDOM}}
\entry{READLINE_LINE}{77}{\code {READLINE_LINE}}
\entry{READLINE_POINT}{77}{\code {READLINE_POINT}}
\entry{REPLY}{77}{\code {REPLY}}
@@ -100,7 +102,7 @@
\entry{SHELL}{77}{\code {SHELL}}
\entry{SHELLOPTS}{77}{\code {SHELLOPTS}}
\entry{SHLVL}{77}{\code {SHLVL}}
\entry{TIMEFORMAT}{78}{\code {TIMEFORMAT}}
\entry{TIMEFORMAT}{77}{\code {TIMEFORMAT}}
\entry{TMOUT}{78}{\code {TMOUT}}
\entry{TMPDIR}{78}{\code {TMPDIR}}
\entry{UID}{78}{\code {UID}}
@@ -135,5 +137,6 @@
\entry{revert-all-at-newline}{108}{\code {revert-all-at-newline}}
\entry{show-all-if-ambiguous}{108}{\code {show-all-if-ambiguous}}
\entry{show-all-if-unmodified}{109}{\code {show-all-if-unmodified}}
\entry{show-mode-in-prompt}{109}{\code {show-mode-in-prompt}}
\entry{skip-completed-text}{109}{\code {skip-completed-text}}
\entry{visible-stats}{109}{\code {visible-stats}}
+61 -58
View File
@@ -7,9 +7,9 @@
\initial {*}
\entry {\code {*}}{19}
\initial {-}
\entry {\code {-}}{19}
\entry {\code {-}}{20}
\initial {?}
\entry {\code {?}}{19}
\entry {\code {?}}{20}
\initial {@}
\entry {\code {@}}{19}
\initial {_}
@@ -19,34 +19,36 @@
\initial {A}
\entry {\code {auto_resume}}{100}
\initial {B}
\entry {\code {BASH}}{69}
\entry {\code {BASH_ALIASES}}{70}
\entry {\code {BASH_ARGC}}{70}
\entry {\code {BASH_ARGV}}{70}
\entry {\code {BASH_CMDS}}{70}
\entry {\code {BASH_COMMAND}}{70}
\entry {\code {BASH}}{68}
\entry {\code {BASH_ALIASES}}{69}
\entry {\code {BASH_ARGC}}{69}
\entry {\code {BASH_ARGV}}{69}
\entry {\code {BASH_CMDS}}{69}
\entry {\code {BASH_COMMAND}}{69}
\entry {\code {BASH_COMPAT}}{69}
\entry {\code {BASH_ENV}}{70}
\entry {\code {BASH_EXECUTION_STRING}}{70}
\entry {\code {BASH_LINENO}}{71}
\entry {\code {BASH_REMATCH}}{71}
\entry {\code {BASH_SOURCE}}{71}
\entry {\code {BASH_SUBSHELL}}{71}
\entry {\code {BASH_VERSINFO}}{71}
\entry {\code {BASH_LINENO}}{70}
\entry {\code {BASH_REMATCH}}{70}
\entry {\code {BASH_SOURCE}}{70}
\entry {\code {BASH_SUBSHELL}}{70}
\entry {\code {BASH_VERSINFO}}{70}
\entry {\code {BASH_VERSION}}{71}
\entry {\code {BASH_XTRACEFD}}{71}
\entry {\code {BASHOPTS}}{70}
\entry {\code {BASHPID}}{70}
\entry {\code {BASHOPTS}}{69}
\entry {\code {BASHPID}}{69}
\entry {\code {bell-style}}{105}
\entry {\code {bind-tty-special-chars}}{105}
\initial {C}
\entry {\code {CDPATH}}{69}
\entry {\code {CDPATH}}{68}
\entry {\code {CHILD_MAX}}{71}
\entry {\code {colored-stats}}{105}
\entry {\code {COLUMNS}}{72}
\entry {\code {COLUMNS}}{71}
\entry {\code {comment-begin}}{105}
\entry {\code {COMP_CWORD}}{72}
\entry {\code {COMP_CWORD}}{71}
\entry {\code {COMP_KEY}}{72}
\entry {\code {COMP_LINE}}{72}
\entry {\code {COMP_POINT}}{72}
\entry {\code {COMP_LINE}}{71}
\entry {\code {COMP_POINT}}{71}
\entry {\code {COMP_TYPE}}{72}
\entry {\code {COMP_WORDBREAKS}}{72}
\entry {\code {COMP_WORDS}}{72}
@@ -55,45 +57,45 @@
\entry {\code {completion-map-case}}{105}
\entry {\code {completion-prefix-display-length}}{106}
\entry {\code {completion-query-items}}{106}
\entry {\code {COMPREPLY}}{73}
\entry {\code {COMPREPLY}}{72}
\entry {\code {convert-meta}}{106}
\entry {\code {COPROC}}{73}
\entry {\code {COPROC}}{72}
\initial {D}
\entry {\code {DIRSTACK}}{73}
\entry {\code {DIRSTACK}}{72}
\entry {\code {disable-completion}}{106}
\initial {E}
\entry {\code {editing-mode}}{106}
\entry {\code {EMACS}}{73}
\entry {\code {EMACS}}{72}
\entry {\code {enable-keypad}}{106}
\entry {\code {ENV}}{73}
\entry {\code {EUID}}{73}
\entry {\code {ENV}}{72}
\entry {\code {EUID}}{72}
\entry {\code {expand-tilde}}{106}
\initial {F}
\entry {\code {FCEDIT}}{73}
\entry {\code {FCEDIT}}{72}
\entry {\code {FIGNORE}}{73}
\entry {\code {FUNCNAME}}{73}
\entry {\code {FUNCNEST}}{73}
\initial {G}
\entry {\code {GLOBIGNORE}}{73}
\entry {\code {GROUPS}}{74}
\entry {\code {GROUPS}}{73}
\initial {H}
\entry {\code {histchars}}{74}
\entry {\code {HISTCMD}}{74}
\entry {\code {HISTCONTROL}}{74}
\entry {\code {histchars}}{73}
\entry {\code {HISTCMD}}{73}
\entry {\code {HISTCONTROL}}{73}
\entry {\code {HISTFILE}}{74}
\entry {\code {HISTFILESIZE}}{74}
\entry {\code {HISTIGNORE}}{74}
\entry {\code {history-preserve-point}}{107}
\entry {\code {history-size}}{107}
\entry {\code {HISTSIZE}}{75}
\entry {\code {HISTTIMEFORMAT}}{75}
\entry {\code {HOME}}{69}
\entry {\code {HISTSIZE}}{74}
\entry {\code {HISTTIMEFORMAT}}{74}
\entry {\code {HOME}}{68}
\entry {\code {horizontal-scroll-mode}}{107}
\entry {\code {HOSTFILE}}{75}
\entry {\code {HOSTFILE}}{74}
\entry {\code {HOSTNAME}}{75}
\entry {\code {HOSTTYPE}}{75}
\initial {I}
\entry {\code {IFS}}{69}
\entry {\code {IFS}}{68}
\entry {\code {IGNOREEOF}}{75}
\entry {\code {input-meta}}{107}
\entry {\code {INPUTRC}}{75}
@@ -103,17 +105,17 @@
\initial {L}
\entry {\code {LANG}}{75}
\entry {\code {LC_ALL}}{75}
\entry {\code {LC_COLLATE}}{76}
\entry {\code {LC_CTYPE}}{76}
\entry {\code {LC_MESSAGES}}{7, 76}
\entry {\code {LC_NUMERIC}}{76}
\entry {\code {LINENO}}{76}
\entry {\code {LINES}}{76}
\entry {\code {LC_COLLATE}}{75}
\entry {\code {LC_CTYPE}}{75}
\entry {\code {LC_MESSAGES}}{7, 75}
\entry {\code {LC_NUMERIC}}{75}
\entry {\code {LINENO}}{75}
\entry {\code {LINES}}{75}
\initial {M}
\entry {\code {MACHTYPE}}{76}
\entry {\code {MAIL}}{69}
\entry {\code {MACHTYPE}}{75}
\entry {\code {MAIL}}{68}
\entry {\code {MAILCHECK}}{76}
\entry {\code {MAILPATH}}{69}
\entry {\code {MAILPATH}}{68}
\entry {\code {MAPFILE}}{76}
\entry {\code {mark-modified-lines}}{108}
\entry {\code {mark-symlinked-directories}}{108}
@@ -122,26 +124,26 @@
\entry {\code {meta-flag}}{107}
\initial {O}
\entry {\code {OLDPWD}}{76}
\entry {\code {OPTARG}}{69}
\entry {\code {OPTARG}}{68}
\entry {\code {OPTERR}}{76}
\entry {\code {OPTIND}}{69}
\entry {\code {OPTIND}}{68}
\entry {\code {OSTYPE}}{76}
\entry {\code {output-meta}}{108}
\initial {P}
\entry {\code {page-completions}}{108}
\entry {\code {PATH}}{69}
\entry {\code {PATH}}{68}
\entry {\code {PIPESTATUS}}{76}
\entry {\code {POSIXLY_CORRECT}}{76}
\entry {\code {PPID}}{77}
\entry {\code {PROMPT_COMMAND}}{77}
\entry {\code {PROMPT_DIRTRIM}}{77}
\entry {\code {PS1}}{69}
\entry {\code {PS2}}{69}
\entry {\code {PS3}}{77}
\entry {\code {PS4}}{77}
\entry {\code {PWD}}{77}
\entry {\code {PPID}}{76}
\entry {\code {PROMPT_COMMAND}}{76}
\entry {\code {PROMPT_DIRTRIM}}{76}
\entry {\code {PS1}}{68}
\entry {\code {PS2}}{68}
\entry {\code {PS3}}{76}
\entry {\code {PS4}}{76}
\entry {\code {PWD}}{76}
\initial {R}
\entry {\code {RANDOM}}{77}
\entry {\code {RANDOM}}{76}
\entry {\code {READLINE_LINE}}{77}
\entry {\code {READLINE_POINT}}{77}
\entry {\code {REPLY}}{77}
@@ -153,11 +155,12 @@
\entry {\code {SHLVL}}{77}
\entry {\code {show-all-if-ambiguous}}{108}
\entry {\code {show-all-if-unmodified}}{109}
\entry {\code {show-mode-in-prompt}}{109}
\entry {\code {skip-completed-text}}{109}
\initial {T}
\entry {\code {TEXTDOMAIN}}{7}
\entry {\code {TEXTDOMAINDIR}}{7}
\entry {\code {TIMEFORMAT}}{78}
\entry {\code {TIMEFORMAT}}{77}
\entry {\code {TMOUT}}{78}
\entry {\code {TMPDIR}}{78}
\initial {U}
+199 -183
View File
@@ -866,67 +866,70 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
The corresponding _a_r_g_u_m_e_n_t is an integer representing the
number of seconds since the epoch. Two special argument
values may be used: -1 represents the current time, and
-2 represents the time the shell was invoked.
-2 represents the time the shell was invoked. If no
argument is specified, conversion behaves as if -1 had
been given. This is an exception to the usual pprriinnttff
behavior.
Arguments to non-string format specifiers are treated as C con-
Arguments to non-string format specifiers are treated as C con-
stants, except that a leading plus or minus sign is allowed, and
if the leading character is a single or double quote, the value
if the leading character is a single or double quote, the value
is the ASCII value of the following character.
The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_-
The _f_o_r_m_a_t is reused as necessary to consume all of the _a_r_g_u_-
_m_e_n_t_s. If the _f_o_r_m_a_t requires more _a_r_g_u_m_e_n_t_s than are supplied,
the extra format specifications behave as if a zero value or
null string, as appropriate, had been supplied. The return
the extra format specifications behave as if a zero value or
null string, as appropriate, had been supplied. The return
value is zero on success, non-zero on failure.
ppuusshhdd [--nn] [+_n] [-_n]
ppuusshhdd [--nn] [_d_i_r]
Adds a directory to the top of the directory stack, or rotates
the stack, making the new top of the stack the current working
Adds a directory to the top of the directory stack, or rotates
the stack, making the new top of the stack the current working
directory. With no arguments, exchanges the top two directories
and returns 0, unless the directory stack is empty. Arguments,
and returns 0, unless the directory stack is empty. Arguments,
if supplied, have the following meanings:
--nn Suppresses the normal change of directory when adding
directories to the stack, so that only the stack is
--nn Suppresses the normal change of directory when adding
directories to the stack, so that only the stack is
manipulated.
++_n Rotates the stack so that the _nth directory (counting
from the left of the list shown by ddiirrss, starting with
++_n Rotates the stack so that the _nth directory (counting
from the left of the list shown by ddiirrss, starting with
zero) is at the top.
--_n Rotates the stack so that the _nth directory (counting
from the right of the list shown by ddiirrss, starting with
--_n Rotates the stack so that the _nth directory (counting
from the right of the list shown by ddiirrss, starting with
zero) is at the top.
_d_i_r Adds _d_i_r to the directory stack at the top, making it the
new current working directory as if it had been supplied
new current working directory as if it had been supplied
as the argument to the ccdd builtin.
If the ppuusshhdd command is successful, a ddiirrss is performed as well.
If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r
fails. With the second form, ppuusshhdd returns 0 unless the direc-
tory stack is empty, a non-existent directory stack element is
specified, or the directory change to the specified new current
If the first form is used, ppuusshhdd returns 0 unless the cd to _d_i_r
fails. With the second form, ppuusshhdd returns 0 unless the direc-
tory stack is empty, a non-existent directory stack element is
specified, or the directory change to the specified new current
directory fails.
ppwwdd [--LLPP]
Print the absolute pathname of the current working directory.
Print the absolute pathname of the current working directory.
The pathname printed contains no symbolic links if the --PP option
is supplied or the --oo pphhyyssiiccaall option to the sseett builtin command
is enabled. If the --LL option is used, the pathname printed may
contain symbolic links. The return status is 0 unless an error
occurs while reading the name of the current directory or an
is enabled. If the --LL option is used, the pathname printed may
contain symbolic links. The return status is 0 unless an error
occurs while reading the name of the current directory or an
invalid option is supplied.
rreeaadd [--eerrss] [--aa _a_n_a_m_e] [--dd _d_e_l_i_m] [--ii _t_e_x_t] [--nn _n_c_h_a_r_s] [--NN _n_c_h_a_r_s] [--pp
_p_r_o_m_p_t] [--tt _t_i_m_e_o_u_t] [--uu _f_d] [_n_a_m_e ...]
One line is read from the standard input, or from the file
descriptor _f_d supplied as an argument to the --uu option, and the
One line is read from the standard input, or from the file
descriptor _f_d supplied as an argument to the --uu option, and the
first word is assigned to the first _n_a_m_e, the second word to the
second _n_a_m_e, and so on, with leftover words and their interven-
ing separators assigned to the last _n_a_m_e. If there are fewer
second _n_a_m_e, and so on, with leftover words and their interven-
ing separators assigned to the last _n_a_m_e. If there are fewer
words read from the input stream than names, the remaining names
are assigned empty values. The characters in IIFFSS are used to
split the line into words. The backslash character (\\) may be
used to remove any special meaning for the next character read
and for line continuation. Options, if supplied, have the fol-
are assigned empty values. The characters in IIFFSS are used to
split the line into words. The backslash character (\\) may be
used to remove any special meaning for the next character read
and for line continuation. Options, if supplied, have the fol-
lowing meanings:
--aa _a_n_a_m_e
The words are assigned to sequential indices of the array
@@ -934,133 +937,138 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
new values are assigned. Other _n_a_m_e arguments are
ignored.
--dd _d_e_l_i_m
The first character of _d_e_l_i_m is used to terminate the
The first character of _d_e_l_i_m is used to terminate the
input line, rather than newline.
--ee If the standard input is coming from a terminal, rreeaaddlliinnee
(see RREEAADDLLIINNEE above) is used to obtain the line. Read-
line uses the current (or default, if line editing was
(see RREEAADDLLIINNEE above) is used to obtain the line. Read-
line uses the current (or default, if line editing was
not previously active) editing settings.
--ii _t_e_x_t
If rreeaaddlliinnee is being used to read the line, _t_e_x_t is
If rreeaaddlliinnee is being used to read the line, _t_e_x_t is
placed into the editing buffer before editing begins.
--nn _n_c_h_a_r_s
rreeaadd returns after reading _n_c_h_a_r_s characters rather than
waiting for a complete line of input, but honor a delim-
iter if fewer than _n_c_h_a_r_s characters are read before the
rreeaadd returns after reading _n_c_h_a_r_s characters rather than
waiting for a complete line of input, but honor a delim-
iter if fewer than _n_c_h_a_r_s characters are read before the
delimiter.
--NN _n_c_h_a_r_s
rreeaadd returns after reading exactly _n_c_h_a_r_s characters
rather than waiting for a complete line of input, unless
EOF is encountered or rreeaadd times out. Delimiter charac-
ters encountered in the input are not treated specially
and do not cause rreeaadd to return until _n_c_h_a_r_s characters
rreeaadd returns after reading exactly _n_c_h_a_r_s characters
rather than waiting for a complete line of input, unless
EOF is encountered or rreeaadd times out. Delimiter charac-
ters encountered in the input are not treated specially
and do not cause rreeaadd to return until _n_c_h_a_r_s characters
are read.
--pp _p_r_o_m_p_t
Display _p_r_o_m_p_t on standard error, without a trailing new-
line, before attempting to read any input. The prompt is
displayed only if input is coming from a terminal.
--rr Backslash does not act as an escape character. The back-
slash is considered to be part of the line. In particu-
lar, a backslash-newline pair may not be used as a line
slash is considered to be part of the line. In particu-
lar, a backslash-newline pair may not be used as a line
continuation.
--ss Silent mode. If input is coming from a terminal, charac-
ters are not echoed.
--tt _t_i_m_e_o_u_t
Cause rreeaadd to time out and return failure if a complete
line of input is not read within _t_i_m_e_o_u_t seconds. _t_i_m_e_-
_o_u_t may be a decimal number with a fractional portion
following the decimal point. This option is only effec-
tive if rreeaadd is reading input from a terminal, pipe, or
other special file; it has no effect when reading from
regular files. If _t_i_m_e_o_u_t is 0, rreeaadd returns immedi-
ately, without trying to read any data. The exit statis
is 0 if input is available on the specified file descrip-
tor, non-zero otherwise. The exit status is greater than
128 if the timeout is exceeded.
Cause rreeaadd to time out and return failure if a complete
line of input (or a specified number of characters) is
not read within _t_i_m_e_o_u_t seconds. _t_i_m_e_o_u_t may be a deci-
mal number with a fractional portion following the deci-
mal point. This option is only effective if rreeaadd is
reading input from a terminal, pipe, or other special
file; it has no effect when reading from regular files.
If rreeaadd times out, rreeaadd saves any partial input read into
the specified variable _n_a_m_e. If _t_i_m_e_o_u_t is 0, rreeaadd
returns immediately, without trying to read any data.
The exit status is 0 if input is available on the speci-
fied file descriptor, non-zero otherwise. The exit sta-
tus is greater than 128 if the timeout is exceeded.
--uu _f_d Read input from file descriptor _f_d.
If no _n_a_m_e_s are supplied, the line read is assigned to the vari-
able RREEPPLLYY. The return code is zero, unless end-of-file is
encountered, rreeaadd times out (in which case the return code is
greater than 128), a variable assignment error (such as assign-
ing to a readonly variable) occurs, or an invalid file descrip-
able RREEPPLLYY. The return code is zero, unless end-of-file is
encountered, rreeaadd times out (in which case the return code is
greater than 128), a variable assignment error (such as assign-
ing to a readonly variable) occurs, or an invalid file descrip-
tor is supplied as the argument to --uu.
rreeaaddoonnllyy [--aaAAff] [--pp] [_n_a_m_e[=_w_o_r_d] ...]
The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s
may not be changed by subsequent assignment. If the --ff option
is supplied, the functions corresponding to the _n_a_m_e_s are so
marked. The --aa option restricts the variables to indexed
arrays; the --AA option restricts the variables to associative
arrays. If both options are supplied, --AA takes precedence. If
no _n_a_m_e arguments are given, or if the --pp option is supplied, a
The given _n_a_m_e_s are marked readonly; the values of these _n_a_m_e_s
may not be changed by subsequent assignment. If the --ff option
is supplied, the functions corresponding to the _n_a_m_e_s are so
marked. The --aa option restricts the variables to indexed
arrays; the --AA option restricts the variables to associative
arrays. If both options are supplied, --AA takes precedence. If
no _n_a_m_e arguments are given, or if the --pp option is supplied, a
list of all readonly names is printed. The other options may be
used to restrict the output to a subset of the set of readonly
names. The --pp option causes output to be displayed in a format
that may be reused as input. If a variable name is followed by
=_w_o_r_d, the value of the variable is set to _w_o_r_d. The return
status is 0 unless an invalid option is encountered, one of the
used to restrict the output to a subset of the set of readonly
names. The --pp option causes output to be displayed in a format
that may be reused as input. If a variable name is followed by
=_w_o_r_d, the value of the variable is set to _w_o_r_d. The return
status is 0 unless an invalid option is encountered, one of the
_n_a_m_e_s is not a valid shell variable name, or --ff is supplied with
a _n_a_m_e that is not a function.
rreettuurrnn [_n]
Causes a function to stop executing and return the value speci-
fied by _n to its caller. If _n is omitted, the return status is
that of the last command executed in the function body. If
rreettuurrnn is used outside a function, but during execution of a
script by the .. (ssoouurrccee) command, it causes the shell to stop
executing that script and return either _n or the exit status of
the last command executed within the script as the exit status
of the script. If _n is supplied, the return value is its least
significant 8 bits. The return status is non-zero if rreettuurrnn is
supplied a non-numeric argument, or is used outside a function
and not during execution of a script by .. or ssoouurrccee. Any com-
mand associated with the RREETTUURRNN trap is executed before execu-
Causes a function to stop executing and return the value speci-
fied by _n to its caller. If _n is omitted, the return status is
that of the last command executed in the function body. If
rreettuurrnn is used outside a function, but during execution of a
script by the .. (ssoouurrccee) command, it causes the shell to stop
executing that script and return either _n or the exit status of
the last command executed within the script as the exit status
of the script. If _n is supplied, the return value is its least
significant 8 bits. The return status is non-zero if rreettuurrnn is
supplied a non-numeric argument, or is used outside a function
and not during execution of a script by .. or ssoouurrccee. Any com-
mand associated with the RREETTUURRNN trap is executed before execu-
tion resumes after the function or script.
sseett [----aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [--oo _o_p_t_i_o_n_-_n_a_m_e] [_a_r_g ...]
sseett [++aabbeeffhhkkmmnnppttuuvvxxBBCCEEHHPPTT] [++oo _o_p_t_i_o_n_-_n_a_m_e] [_a_r_g ...]
Without options, the name and value of each shell variable are
Without options, the name and value of each shell variable are
displayed in a format that can be reused as input for setting or
resetting the currently-set variables. Read-only variables can-
not be reset. In _p_o_s_i_x _m_o_d_e, only shell variables are listed.
The output is sorted according to the current locale. When
options are specified, they set or unset shell attributes. Any
arguments remaining after option processing are treated as val-
not be reset. In _p_o_s_i_x _m_o_d_e, only shell variables are listed.
The output is sorted according to the current locale. When
options are specified, they set or unset shell attributes. Any
arguments remaining after option processing are treated as val-
ues for the positional parameters and are assigned, in order, to
$$11, $$22, ...... $$_n. Options, if specified, have the following
$$11, $$22, ...... $$_n. Options, if specified, have the following
meanings:
--aa Automatically mark variables and functions which are
modified or created for export to the environment of
--aa Automatically mark variables and functions which are
modified or created for export to the environment of
subsequent commands.
--bb Report the status of terminated background jobs immedi-
--bb Report the status of terminated background jobs immedi-
ately, rather than before the next primary prompt. This
is effective only when job control is enabled.
--ee Exit immediately if a _p_i_p_e_l_i_n_e (which may consist of a
single _s_i_m_p_l_e _c_o_m_m_a_n_d), a _l_i_s_t, or a _c_o_m_p_o_u_n_d _c_o_m_m_a_n_d
(see SSHHEELLLL GGRRAAMMMMAARR above), exits with a non-zero sta-
tus. The shell does not exit if the command that fails
is part of the command list immediately following a
wwhhiillee or uunnttiill keyword, part of the test following the
iiff or eelliiff reserved words, part of any command executed
in a &&&& or |||| list except the command following the
final &&&& or ||||, any command in a pipeline but the last,
or if the command's return value is being inverted with
!!. If a compound command other than a subshell returns
a non-zero status because a command failed while --ee was
being ignored, the shell does not exit. A trap on EERRRR,
--ee Exit immediately if a _p_i_p_e_l_i_n_e (which may consist of a
single _s_i_m_p_l_e _c_o_m_m_a_n_d), a _l_i_s_t, or a _c_o_m_p_o_u_n_d _c_o_m_m_a_n_d
(see SSHHEELLLL GGRRAAMMMMAARR above), exits with a non-zero sta-
tus. The shell does not exit if the command that fails
is part of the command list immediately following a
wwhhiillee or uunnttiill keyword, part of the test following the
iiff or eelliiff reserved words, part of any command executed
in a &&&& or |||| list except the command following the
final &&&& or ||||, any command in a pipeline but the last,
or if the command's return value is being inverted with
!!. If a compound command other than a subshell returns
a non-zero status because a command failed while --ee was
being ignored, the shell does not exit. A trap on EERRRR,
if set, is executed before the shell exits. This option
applies to the shell environment and each subshell envi-
ronment separately (see CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENNTT
ronment separately (see CCOOMMMMAANNDD EEXXEECCUUTTIIOONN EENNVVIIRROONNMMEENNTT
above), and may cause subshells to exit before executing
all the commands in the subshell. If a shell function
executes in a context where --ee is being ignored, even if
--ee is set, none of the commands executed within the
function body will be affected by the --ee setting. If a
shell function sets --ee while executing in a context
where --ee is ignored, that setting will not have any
effect until the command containing the function call
completes.
all the commands in the subshell.
If a compound command or shell function executes in a
context where --ee is being ignored, none of the commands
executed within the compound command or function body
will be affected by the --ee setting, even if --ee is set
and a command returns a failure status. If a compound
command or shell function sets --ee while executing in a
context where --ee is ignored, that setting will not have
any effect until the compound command or the command
containing the function call completes.
--ff Disable pathname expansion.
--hh Remember the location of commands as they are looked up
for execution. This is enabled by default.
@@ -1298,6 +1306,10 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
considered quoted. This is the behavior of posix mode
through version 4.1. The default bash behavior remains
as in previous versions.
ccoommppaatt4422
If set, bbaasshh does not process the replacement string in
the pattern substitution word expansion using quote
removal.
ccoommpplleettee__ffuullllqquuoottee
If set, bbaasshh quotes all shell metacharacters in file-
names and directory names when performing completion.
@@ -1573,55 +1585,58 @@ BBAASSHH BBUUIILLTTIINN CCOOMMMMAANNDDSS
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.
If a _s_i_g_s_p_e_c is EERRRR, the command _a_r_g is executed whenever a a
pipeline (which may consist of a single simple command), a list,
or a compound command returns 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 except the command
following the final &&&& or ||||, any command in a pipeline but the
last, or if the command's return value is being inverted using
!!. These are the same conditions obeyed by the eerrrreexxiitt (--ee)
option.
Signals ignored upon entry to the shell cannot be trapped or
reset. Trapped signals that are not being ignored are reset to
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
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, which is not necessar-
ily the file that appears first in PPAATTHH. If the --aa option is
used, ttyyppee prints all of the places that contain an executable
ily 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
not consulted when using --aa. The --ff option suppresses shell
function 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:
@@ -1630,11 +1645,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)
@@ -1643,65 +1658,66 @@ 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 and, on some systems, to its children
--xx The maximum number of file locks
--TT The maximum number of threads
If _l_i_m_i_t is given, and the --aa option is not used, _l_i_m_i_t is the
new value of the specified resource. 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 status is 0 unless an invalid option or argument is sup-
If _l_i_m_i_t is given, and the --aa option is not used, _l_i_m_i_t is the
new value of the specified resource. 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 status is 0 unless an invalid option or argument is sup-
plied, 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] [-nn] [_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 the --vv option is given, each _n_a_m_e refers to a shell variable,
and that variable is removed. 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. If the --nn option
is supplied, and _n_a_m_e is a variable with the _n_a_m_e_r_e_f attribute,
_n_a_m_e will be unset rather than the variable it references. --nn
has no effect if the --ff option is supplied. If no options are
supplied, each _n_a_m_e refers to a variable; if there is no vari-
able by that name, any function with that name is unset. Each
unset variable or function is removed from the environment
passed to subsequent commands. If any of CCOOMMPP__WWOORRDDBBRREEAAKKSS, RRAANN--
and that variable is removed. 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. If the --nn option
is supplied, and _n_a_m_e is a variable with the _n_a_m_e_r_e_f attribute,
_n_a_m_e will be unset rather than the variable it references. --nn
has no effect if the --ff option is supplied. If no options are
supplied, each _n_a_m_e refers to a variable; if there is no vari-
able by that name, any function with that name is unset. Each
unset variable or function is removed from the environment
passed to subsequent commands. If any of CCOOMMPP__WWOORRDDBBRREEAAKKSS, RRAANN--
DDOOMM, SSEECCOONNDDSS, LLIINNEENNOO, HHIISSTTCCMMDD, FFUUNNCCNNAAMMEE, GGRROOUUPPSS, or DDIIRRSSTTAACCKK are
unset, they lose their special properties, even if they are sub-
sequently reset. The exit status is true unless a _n_a_m_e is read-
only.
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
last process or job waited for.
wwaaiitt [----nn] [_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 the
----nn option is supplied, wwaaiitt waits for any job to terminate and
returns its exit status. 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
bash(1), sh(1)
+932 -906
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.19.2
%%CreationDate: Mon Jul 16 16:12:25 2012
%%CreationDate: Fri Jan 11 16:34:25 2013
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.19 2
+2 -2
View File
@@ -2,9 +2,9 @@
Copyright (C) 1988-2013 Free Software Foundation, Inc.
@end ignore
@set LASTCHANGE Sat Jan 5 17:38:56 EST 2013
@set LASTCHANGE Tue Jan 8 15:50:49 EST 2013
@set EDITION 4.2
@set VERSION 4.2
@set UPDATED 5 January 2013
@set UPDATED 8 January 2013
@set UPDATED-MONTH January 2013
+4 -3
View File
@@ -4259,9 +4259,10 @@ execute_builtin (builtin, words, flags, subshell)
/* The temporary environment for a builtin is supposed to apply to
all commands executed by that builtin. Currently, this is a
problem only with the `unset', `source' and `eval' builtins. */
isbltinenv = (builtin == source_builtin || builtin == eval_builtin || builtin == unset_builtin);
problem only with the `unset', `source' and `eval' builtins.
`mapfile' is a special case because it uses evalstring (same as
eval or source) to run its callbacks. */
isbltinenv = (builtin == source_builtin || builtin == eval_builtin || builtin == unset_builtin || builtin == mapfile_builtin);
if (isbltinenv)
{
+6 -4
View File
@@ -1493,7 +1493,7 @@ execute_in_subshell (command, asynchronous, pipe_in, pipe_out, fds_to_close)
if (user_subshell)
{
stdin_redir = stdin_redirects (command->redirects);
restore_default_signal (0);
restore_default_signal (EXIT_TRAP);
}
/* If this is an asynchronous command (command &), we want to
@@ -4259,9 +4259,10 @@ execute_builtin (builtin, words, flags, subshell)
/* The temporary environment for a builtin is supposed to apply to
all commands executed by that builtin. Currently, this is a
problem only with the `unset', `source' and `eval' builtins. */
isbltinenv = (builtin == source_builtin || builtin == eval_builtin || builtin == unset_builtin);
problem only with the `unset', `source' and `eval' builtins.
`mapfile' is a special case because it uses evalstring (same as
eval or source) to run its callbacks. */
isbltinenv = (builtin == source_builtin || builtin == eval_builtin || builtin == unset_builtin || builtin == mapfile_builtin);
if (isbltinenv)
{
@@ -4875,6 +4876,7 @@ execute_disk_command (words, redirects, command_line, pipe_in, pipe_out,
reset_terminating_signals (); /* XXX */
/* Cancel traps, in trap.c. */
itrace("execute_disk_command: calling restore_original_signals");
restore_original_signals ();
/* restore_original_signals may have undone the work done
+4 -1
View File
@@ -1,6 +1,6 @@
/* expr.c -- arithmetic expression evaluation. */
/* Copyright (C) 1990-2012 Free Software Foundation, Inc.
/* Copyright (C) 1990-2013 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
@@ -558,6 +558,9 @@ expassign ()
#endif
expr_bind_variable (lhs, rhs);
}
if (curlval.tokstr && curlval.tokstr == tokstr)
init_lvalue (&curlval);
free (rhs);
free (lhs);
FREE (tokstr);
+11
View File
@@ -0,0 +1,11 @@
*** ../bash-4.2-patched/sig.c 2011-03-12 13:14:06.000000000 -0500
--- sig.c 2013-01-05 18:00:28.000000000 -0500
***************
*** 359,362 ****
--- 359,364 ----
}
#endif /* !HAVE_POSIX_SIGNALS */
+
+ termsigs_initialized = 0;
}
#undef XSIG
+123
View File
@@ -0,0 +1,123 @@
*** ../bash-4.2-patched/sig.c 2011-03-12 13:14:06.000000000 -0500
--- sig.c 2013-01-05 18:00:28.000000000 -0500
***************
*** 1,5 ****
/* sig.c - interface for shell signal handlers and signal initialization. */
! /* Copyright (C) 1994-2010 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
--- 1,5 ----
/* sig.c - interface for shell signal handlers and signal initialization. */
! /* Copyright (C) 1994-2013 Free Software Foundation, Inc.
This file is part of GNU Bash, the Bourne Again SHell.
***************
*** 359,362 ****
--- 359,364 ----
}
#endif /* !HAVE_POSIX_SIGNALS */
+
+ termsigs_initialized = 0;
}
#undef XSIG
***************
*** 390,393 ****
--- 392,397 ----
if (interrupt_state)
{
+ if (last_command_exit_value < 128)
+ last_command_exit_value = 128 + SIGINT;
print_newline = 1;
DELINTERRUPT;
***************
*** 517,520 ****
--- 521,532 ----
}
+ #if defined (READLINE)
+ /* Set the event hook so readline will call it after the signal handlers
+ finish executing, so if this interrupted character input we can get
+ quick response. */
+ if (interactive_shell && interactive && no_line_editing == 0)
+ bashline_set_event_hook ();
+ #endif
+
SIGRETURN (0);
}
***************
*** 538,545 ****
run_interrupt_trap ();
#if defined (HISTORY)
! if (interactive_shell && sig != SIGABRT)
maybe_save_shell_history ();
#endif /* HISTORY */
#if defined (JOB_CONTROL)
--- 550,559 ----
run_interrupt_trap ();
+ #if 0
#if defined (HISTORY)
! if (interactive_shell && (sig != SIGABRT && sig != SIGINT && sig != SIGHUP && sig != SIGTERM))
maybe_save_shell_history ();
#endif /* HISTORY */
+ #endif
#if defined (JOB_CONTROL)
***************
*** 582,585 ****
--- 596,606 ----
throw_to_top_level ();
}
+ #if defined (READLINE)
+ /* Set the event hook so readline will call it after the signal handlers
+ finish executing, so if this interrupted character input we can get
+ quick response. */
+ else if (RL_ISSTATE (RL_STATE_SIGHANDLER))
+ bashline_set_event_hook ();
+ #endif
SIGRETURN (0);
***************
*** 618,622 ****
#if !defined (HAVE_POSIX_SIGNALS)
- #if defined (JOB_CONTROL)
/* Perform OPERATION on NEWSET, perhaps leaving information in OLDSET. */
sigprocmask (operation, newset, oldset)
--- 639,642 ----
***************
*** 637,641 ****
case SIG_SETMASK:
! sigsetmask (new);
break;
--- 657,661 ----
case SIG_SETMASK:
! old = sigsetmask (new);
break;
***************
*** 647,651 ****
*oldset = old;
}
- #endif /* JOB_CONTROL */
#else
--- 667,670 ----
***************
*** 672,677 ****
--- 691,698 ----
/* We don't want a child death to interrupt interruptible system calls, even
if we take the time to reap children */
+ #if defined (SIGCHLD)
if (sig == SIGCHLD)
act.sa_flags |= SA_RESTART; /* XXX */
+ #endif
sigemptyset (&act.sa_mask);
+4 -6
View File
@@ -156,14 +156,12 @@ redirection_error (temp, error)
else if (expandable_redirection_filename (temp))
{
expandable_filename:
oflags = temp->redirectee.filename->flags;
if (posixly_correct && interactive_shell == 0)
{
oflags = temp->redirectee.filename->flags;
temp->redirectee.filename->flags |= W_NOGLOB;
}
temp->redirectee.filename->flags |= W_NOGLOB;
temp->redirectee.filename->flags |= W_NOCOMSUB;
filename = allocname = redirection_expand (temp->redirectee.filename);
if (posixly_correct && interactive_shell == 0)
temp->redirectee.filename->flags = oflags;
temp->redirectee.filename->flags = oflags;
if (filename == 0)
filename = temp->redirectee.filename->word;
}
+1339
View File
File diff suppressed because it is too large Load Diff
+16
View File
@@ -5935,6 +5935,11 @@ parameter_brace_expand_rhs (name, value, c, quoted, qdollaratp, hasdollarat)
else
#endif /* ARRAY_VARS */
bind_variable (name, t1, 0);
if (STREQ (name, "IFS") == 0)
stupidly_hack_special_variables (name);
else
/* XXX - what to do? Set a flag in w->flags to call setifs() later? */
;
/* From Posix group discussion Feb-March 2010. Issue 7 0000221 */
free (temp);
@@ -8362,6 +8367,17 @@ add_string:
a } in ${...} is removed. Issue 0000221 */
if ((quoted & Q_DOLBRACE) && c == RBRACE)
{
SCOPY_CHAR_I (twochars, CTLESC, c, string, sindex, string_size);
}
/* This is the fix for " $@\ " */
else if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && ((sh_syntaxtab[c] & tflag) == 0) & isexp == 0 && isifs (c))
{
RESIZE_MALLOCED_BUFFER (istring, istring_index, 2, istring_size,
DEFAULT_ARRAY_SIZE);
istring[istring_index++] = CTLESC;
istring[istring_index++] = '\\';
istring[istring_index] = '\0';
SCOPY_CHAR_I (twochars, CTLESC, c, string, sindex, string_size);
}
else if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && ((sh_syntaxtab[c] & tflag) == 0))
+9604
View File
File diff suppressed because it is too large Load Diff
+3
View File
@@ -231,6 +231,9 @@ ok
1
1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0
0, 0
0, 1
8 12
./arith.tests: line 286: ((: x=9 y=41 : syntax error in expression (error token is "y=41 ")
./arith.tests: line 290: a b: syntax error in expression (error token is "b")
+6
View File
@@ -44,3 +44,9 @@ n=0 ; (( (a[n]=++n)<7&&a[0])); echo "${a[@]:1}"
n=0 a="(a[n]=++n)<7&&a[0]"; ((a[0])); echo "${a[@]:1}"
n=0 a="(a[n]=n++)<7&&a"; ((a)); echo "${a[@]:1}"
# bugs with lvalue caching and pointer aliasing through bash-4.2
echo $(( a=(y[0] + y[1]) & 0xff, b=(y[2] + y[3]) & 0xff, a << 8 | b))
echo $a, $b
((a = y[0], b = 1 ))
echo $a, $b
+4 -4
View File
@@ -970,7 +970,6 @@ run_debug_trap ()
void
run_error_trap ()
{
itrace("run_error_trap");
if ((sigmodes[ERROR_TRAP] & SIG_TRAPPED) && ((sigmodes[ERROR_TRAP] & SIG_IGNORED) == 0) && (sigmodes[ERROR_TRAP] & SIG_INPROGRESS) == 0)
_run_trap_internal (ERROR_TRAP, "error trap");
}
@@ -1048,6 +1047,7 @@ restore_signal (sig)
int sig;
{
set_signal_handler (sig, original_signals[sig]);
itrace("restore_signal_handler: setting signal for %d to 0x%x", sig, original_signals[sig]);
change_signal (sig, (char *)DEFAULT_SIG);
sigmodes[sig] &= ~SIG_TRAPPED;
}
@@ -1074,7 +1074,10 @@ reset_or_restore_signal_handlers (reset)
if (sigmodes[i] & SIG_TRAPPED)
{
if (trap_list[i] == (char *)IGNORE_SIG)
{
itrace("trap_list[%d] == IGNORE_SIG", i);
set_signal_handler (i, SIG_IGN);
}
else
(*reset) (i);
}
@@ -1093,11 +1096,8 @@ reset_or_restore_signal_handlers (reset)
sigmodes[RETURN_TRAP] &= ~SIG_TRAPPED;
}
if (error_trace_mode == 0)
{
itrace("turning off SIG_TRAPPED for ERROR_TRAP");
sigmodes[ERROR_TRAP] &= ~SIG_TRAPPED;
}
}
/* Reset trapped signals to their original values, but don't free the
trap strings. Called by the command substitution code and other places