mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-07-02 09:50:50 +02:00
Bash-4.1 distribution source
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
This is the Bash FAQ, version 4.01, for Bash version 4.0.
|
||||
This is the Bash FAQ, version 4.11, for Bash version 4.1.
|
||||
|
||||
This document contains a set of frequently-asked questions concerning
|
||||
Bash, the GNU Bourne-Again Shell. Bash is a freely-available command
|
||||
@@ -36,9 +36,9 @@ A10) What is the bash `posix mode'?
|
||||
|
||||
Section B: The latest version
|
||||
|
||||
B1) What's new in version 4.0?
|
||||
B2) Are there any user-visible incompatibilities between bash-4.0,
|
||||
bash-3.2, and bash-2.05b?
|
||||
B1) What's new in version 4.1?
|
||||
B2) Are there any user-visible incompatibilities between bash-4.1 and
|
||||
previous bash versions?
|
||||
|
||||
Section C: Differences from other Unix shells
|
||||
|
||||
@@ -81,6 +81,7 @@ E12) Why don't negative offsets in substring expansion work like I expect?
|
||||
E13) Why does filename completion misbehave if a colon appears in the filename?
|
||||
E14) Why does quoting the pattern argument to the regular expression matching
|
||||
conditional operator (=~) cause matching to stop working?
|
||||
E15) Tell me more about the shell compatibility level.
|
||||
|
||||
Section F: Things to watch out for on certain Unix versions
|
||||
|
||||
@@ -143,26 +144,26 @@ of Case Western Reserve University.
|
||||
|
||||
A2) What's the latest version?
|
||||
|
||||
The latest version is 4.0, first made available on 20 February, 2009.
|
||||
The latest version is 4.1, first made available on 31 December, 2009.
|
||||
|
||||
A3) Where can I get it?
|
||||
|
||||
Bash is the GNU project's shell, and so is available from the
|
||||
master GNU archive site, ftp.gnu.org, and its mirrors. The
|
||||
latest version is also available for FTP from ftp.cwru.edu.
|
||||
The following URLs tell how to get version 4.0:
|
||||
The following URLs tell how to get version 4.1:
|
||||
|
||||
ftp://ftp.gnu.org/pub/gnu/bash/bash-4.0.tar.gz
|
||||
ftp://ftp.cwru.edu/pub/bash/bash-4.0.tar.gz
|
||||
ftp://ftp.gnu.org/pub/gnu/bash/bash-4.1.tar.gz
|
||||
ftp://ftp.cwru.edu/pub/bash/bash-4.1.tar.gz
|
||||
|
||||
Formatted versions of the documentation are available with the URLs:
|
||||
|
||||
ftp://ftp.gnu.org/pub/gnu/bash/bash-doc-4.0.tar.gz
|
||||
ftp://ftp.cwru.edu/pub/bash/bash-doc-4.0.tar.gz
|
||||
ftp://ftp.gnu.org/pub/gnu/bash/bash-doc-4.1.tar.gz
|
||||
ftp://ftp.cwru.edu/pub/bash/bash-doc-4.1.tar.gz
|
||||
|
||||
Any patches for the current version are available with the URL:
|
||||
|
||||
ftp://ftp.cwru.edu/pub/bash/bash-4.0-patches/
|
||||
ftp://ftp.cwru.edu/pub/bash/bash-4.1-patches/
|
||||
|
||||
A4) On what machines will bash run?
|
||||
|
||||
@@ -194,7 +195,7 @@ http://www.cygwin.com/.
|
||||
|
||||
Cygnus originally ported bash-1.14.7, and that port was part of their
|
||||
early GNU-Win32 (the original name) releases. Cygnus has also done
|
||||
ports of bash-2.05b and bash-3.2 to the CYGWIN environment, and both
|
||||
ports of bash-3.2 and bash-4.0 to the CYGWIN environment, and both
|
||||
are available as part of their current release.
|
||||
|
||||
Bash-2.05b and later versions should require no local Cygnus changes to
|
||||
@@ -218,7 +219,7 @@ Mark began to work with bash-2.05, but I don't know the current status.
|
||||
|
||||
Bash-3.0 compiles and runs with no modifications under Microsoft's Services
|
||||
for Unix (SFU), once known as Interix. I do not anticipate any problems
|
||||
with building bash-4.0, but will gladly accept any patches that are needed.
|
||||
with building bash-4.1, but will gladly accept any patches that are needed.
|
||||
|
||||
A6) How can I build bash with gcc?
|
||||
|
||||
@@ -387,16 +388,124 @@ They are also listed in a section in the Bash Reference Manual
|
||||
|
||||
Section B: The latest version
|
||||
|
||||
B1) What's new in version 4.0?
|
||||
B1) What's new in version 4.1?
|
||||
|
||||
Bash-4.0 is the fourth major release of bash. There are numerous new features,
|
||||
some experimental. Depending on community reception, the experimental
|
||||
features will evolve.
|
||||
Bash-4.1 is the first revision to the fourth major release of bash.
|
||||
|
||||
Bash-4.0 contains the following new features (see the manual page for
|
||||
complete descriptions and the CHANGES and NEWS files in the bash-4.0
|
||||
Bash-4.1 contains the following new features (see the manual page for
|
||||
complete descriptions and the CHANGES and NEWS files in the bash-4.1
|
||||
distribution):
|
||||
|
||||
o Here-documents within $(...) command substitutions may once more be
|
||||
delimited by the closing right paren, instead of requiring a newline.
|
||||
|
||||
o Bash's file status checks (executable, readable, etc.) now take file
|
||||
system ACLs into account on file systems that support them.
|
||||
|
||||
o Bash now passes environment variables with names that are not valid
|
||||
shell variable names through into the environment passed to child
|
||||
processes.
|
||||
|
||||
o The `execute-unix-command' readline function now attempts to clear and
|
||||
reuse the current line rather than move to a new one after the command
|
||||
executes.
|
||||
|
||||
o `printf -v' can now assign values to array indices.
|
||||
|
||||
o New `complete -E' and `compopt -E' options that work on the "empty"
|
||||
completion: completion attempted on an empty command line.
|
||||
|
||||
o New complete/compgen/compopt -D option to define a `default' completion:
|
||||
a completion to be invoked on command for which no completion has been
|
||||
defined. If this function returns 124, programmable completion is
|
||||
attempted again, allowing a user to dynamically build a set of completions
|
||||
as completion is attempted by having the default completion function
|
||||
install individual completion functions each time it is invoked.
|
||||
|
||||
o When displaying associative arrays, subscripts are now quoted.
|
||||
|
||||
o Changes to dabbrev-expand to make it more `emacs-like': no space appended
|
||||
after matches, completions are not sorted, and most recent history entries
|
||||
are presented first.
|
||||
|
||||
o The [[ and (( commands are now subject to the setting of `set -e' and the
|
||||
ERR trap.
|
||||
|
||||
o The source/. builtin now removes NUL bytes from the file before attempting
|
||||
to parse commands.
|
||||
|
||||
o There is a new configuration option (in config-top.h) that forces bash to
|
||||
forward all history entries to syslog.
|
||||
|
||||
o A new variable $BASHOPTS to export shell options settable using `shopt' to
|
||||
child processes.
|
||||
|
||||
o There is a new confgure option that forces the extglob option to be
|
||||
enabled by default.
|
||||
|
||||
o New variable $BASH_XTRACEFD; when set to an integer bash will write xtrace
|
||||
output to that file descriptor.
|
||||
|
||||
o If the optional left-hand-side of a redirection is of the form {var}, the
|
||||
shell assigns the file descriptor used to $var or uses $var as the file
|
||||
descriptor to move or close, depending on the redirection operator.
|
||||
|
||||
o The < and > operators to the [[ conditional command now do string
|
||||
comparison according to the current locale.
|
||||
|
||||
o Programmable completion now uses the completion for `b' instead of `a'
|
||||
when completion is attempted on a line like: a $(b c.
|
||||
|
||||
o Force extglob on temporarily when parsing the pattern argument to
|
||||
the == and != operators to the [[ command, for compatibility.
|
||||
|
||||
o Changed the behavior of interrupting the wait builtin when a SIGCHLD is
|
||||
received and a trap on SIGCHLD is set to be Posix-mode only.
|
||||
|
||||
o The read builtin has a new `-N nchars' option, which reads exactly NCHARS
|
||||
characters, ignoring delimiters like newline.
|
||||
|
||||
o The mapfile/readarray builtin no longer stores the commands it invokes via
|
||||
callbacks in the history list.
|
||||
|
||||
o There is a new `compat40' shopt option.
|
||||
|
||||
o The < and > operators to [[ do string comparisons using the current locale
|
||||
only if the compatibility level is greater than 40 (set to 41 by default).
|
||||
|
||||
o New bindable readline function: menu-complete-backward.
|
||||
|
||||
o In the readline vi-mode insertion keymap, C-n is now bound to menu-complete
|
||||
by default, and C-p to menu-complete-backward.
|
||||
|
||||
o When in readline vi command mode, repeatedly hitting ESC now does nothing,
|
||||
even when ESC introduces a bound key sequence. This is closer to how
|
||||
historical vi behaves.
|
||||
|
||||
o New bindable readline function: skip-csi-sequence. Can be used as a
|
||||
default to consume key sequences generated by keys like Home and End
|
||||
without having to bind all keys.
|
||||
|
||||
o New bindable readline variable: skip-completed-text, active when
|
||||
completing in the middle of a word. If enabled, it means that characters
|
||||
in the completion that match characters in the remainder of the word are
|
||||
"skipped" rather than inserted into the line.
|
||||
|
||||
o The pre-readline-6.0 version of menu completion is available as
|
||||
"old-menu-complete" for users who do not like the readline-6.0 version.
|
||||
|
||||
o New bindable readline variable: echo-control-characters. If enabled, and
|
||||
the tty ECHOCTL bit is set, controls the echoing of characters
|
||||
corresponding to keyboard-generated signals.
|
||||
|
||||
o New bindable readline variable: enable-meta-key. Controls whether or not
|
||||
readline sends the smm/rmm sequences if the terminal indicates it has a
|
||||
meta key that enables eight-bit characters.
|
||||
|
||||
A short feature history dating from Bash-2.0:
|
||||
|
||||
Bash-4.0 contained the following new features:
|
||||
|
||||
o When using substring expansion on the positional parameters, a starting
|
||||
index of 0 now causes $0 to be prefixed to the list.
|
||||
|
||||
@@ -536,8 +645,6 @@ o New bindable readline functions shell-backward-kill-word and shell-kill-word
|
||||
which kill words backward and forward, but use the same word boundaries
|
||||
as shell-forward-word and shell-backward-word.
|
||||
|
||||
A short feature history dating from Bash-2.0:
|
||||
|
||||
Bash-3.2 contained the following new features:
|
||||
|
||||
o Bash-3.2 now checks shell scripts for NUL characters rather than non-printing
|
||||
@@ -794,13 +901,14 @@ grammar tighter and smaller (66 reduce-reduce conflicts gone)
|
||||
lots of code now smaller and faster
|
||||
test suite greatly expanded
|
||||
|
||||
B2) Are there any user-visible incompatibilities between bash-4.0, bash-3.2,
|
||||
and bash-2.05b?
|
||||
B2) Are there any user-visible incompatibilities between bash-4.1 and
|
||||
previous bash versions?
|
||||
|
||||
There are a few incompatibilities between version 4.0 and version 3.2.
|
||||
They are detailed in the file COMPAT in the bash distribution. That file
|
||||
is not meant to be all-encompassing; send mail to bash-maintainers@gnu.org
|
||||
if if you find something that's not mentioned there.
|
||||
There are a few incompatibilities between version 4.1 and previous
|
||||
versions. They are detailed in the file COMPAT in the bash distribution.
|
||||
That file is not meant to be all-encompassing; send mail to
|
||||
bash-maintainers@gnu.org (or bug-bash@gnu.org if you would like
|
||||
community discussion) if if you find something that's not mentioned there.
|
||||
|
||||
Section C: Differences from other Unix shells
|
||||
|
||||
@@ -837,7 +945,7 @@ Things bash has that sh does not:
|
||||
HISTFILESIZE, HISTCONTROL, HISTIGNORE, GLOBIGNORE, GROUPS,
|
||||
PROMPT_COMMAND, FCEDIT, FIGNORE, IGNOREEOF, INPUTRC,
|
||||
SHELLOPTS, OPTERR, HOSTFILE, TMOUT, FUNCNAME, histchars,
|
||||
auto_resume, PROMPT_DIRTRIM
|
||||
auto_resume, PROMPT_DIRTRIM, BASHOPTS, BASH_XTRACEFD
|
||||
DEBUG trap
|
||||
ERR trap
|
||||
variable arrays with new compound assignment syntax
|
||||
@@ -848,7 +956,7 @@ Things bash has that sh does not:
|
||||
bash return builtin will exit a file sourced with `.'
|
||||
builtins: cd -/-L/-P, exec -l/-c/-a, echo -e/-E, hash -d/-l/-p/-t.
|
||||
export -n/-f/-p/name=value, pwd -L/-P,
|
||||
read -e/-p/-a/-t/-n/-d/-s/-u/-i,
|
||||
read -e/-p/-a/-t/-n/-d/-s/-u/-i/-N,
|
||||
readonly -a/-f/name=value, trap -l, set +o,
|
||||
set -b/-m/-o option/-h/-p/-B/-C/-H/-P,
|
||||
unset -f/-v, ulimit -i/-m/-p/-q/-u/-x,
|
||||
@@ -894,6 +1002,7 @@ Things bash has that sh does not:
|
||||
case-modifying word expansions and variable attributes
|
||||
associative arrays
|
||||
coprocesses using the `coproc' reserved word and variables
|
||||
shell assignment of a file descriptor used in a redirection to a variable
|
||||
|
||||
Things sh has that bash does not:
|
||||
uses variable SHACCT to do shell accounting
|
||||
@@ -950,7 +1059,7 @@ Things bash has or uses that ksh88 does not:
|
||||
builtins: bind, builtin, command, declare, dirs, echo -e/-E, enable,
|
||||
exec -l/-c/-a, fc -s, export -n/-f/-p, hash, help, history,
|
||||
jobs -x/-r/-s, kill -s/-n/-l, local, logout, popd, pushd,
|
||||
read -e/-p/-a/-t/-n/-d/-s, readonly -a/-n/-f/-p,
|
||||
read -e/-p/-a/-t/-n/-d/-s/-N, readonly -a/-n/-f/-p,
|
||||
set -o braceexpand/-o histexpand/-o interactive-comments/
|
||||
-o notify/-o physical/-o posix/-o hashall/-o onecmd/
|
||||
-h/-B/-C/-b/-H/-P, set +o, suspend, trap -l, type,
|
||||
@@ -979,6 +1088,7 @@ Things bash has or uses that ksh88 does not:
|
||||
case-modifying word expansions and variable attributes
|
||||
associative arrays
|
||||
coprocesses using the `coproc' reserved word and variables
|
||||
shell assignment of a file descriptor used in a redirection to a variable
|
||||
|
||||
Things ksh88 has or uses that bash does not:
|
||||
tracked aliases (alias -t)
|
||||
@@ -1006,9 +1116,9 @@ Implementation differences:
|
||||
|
||||
C3) Which new features in ksh-93 are not in bash, and which are?
|
||||
|
||||
This list is current through ksh93t (11/04/2008)
|
||||
This list is current through ksh93t+ (05/05/2009)
|
||||
|
||||
New things in ksh-93 not in bash-4.0:
|
||||
New things in ksh-93 not in bash-4.1:
|
||||
floating point arithmetic and variables
|
||||
math library functions
|
||||
${!name[sub]} name of subscript for associative array
|
||||
@@ -1031,10 +1141,11 @@ New things in ksh-93 not in bash-4.0:
|
||||
`.' can execute shell functions
|
||||
getopts -a
|
||||
printf %B, %H, %P, %R, %T, %Z modifiers, output base for %d, `=' flag
|
||||
read -N (read -n differs, too)/-v
|
||||
read -n/-N differ/-v
|
||||
set -o showme/-o multiline (bash default)
|
||||
`sleep' and `getconf' builtins (bash has loadable versions)
|
||||
typeset -n and `nameref' variables
|
||||
[[ -R name ]] (checks whether or not name is a nameref)
|
||||
typeset -C/-S/-T/-X/-h/-s
|
||||
experimental `type' definitions (a la typedef) using typeset
|
||||
negative subscripts for indexed array variables
|
||||
@@ -1042,11 +1153,11 @@ New things in ksh-93 not in bash-4.0:
|
||||
associative array assignments using `;' as element separator
|
||||
command substitution $(n<#) expands to current byte offset for fd N
|
||||
new '${ ' form of command substitution, executed in current shell
|
||||
new >;/<#pat/<##pat/<#/># redirections
|
||||
redirection operators preceded with {varname} to store fd number in varname
|
||||
new >;/<>;/<#pat/<##pat/<#/># redirections
|
||||
brace expansion printf-like formats
|
||||
[[ -v var ]] operators (checks whether or not var is set)
|
||||
|
||||
New things in ksh-93 present in bash-4.0:
|
||||
New things in ksh-93 present in bash-4.1:
|
||||
associative arrays
|
||||
[n]<&word- and [n]>&word- redirections (combination dup and close)
|
||||
for (( expr1; expr2; expr3 )) ; do list; done - arithmetic for command
|
||||
@@ -1080,6 +1191,8 @@ New things in ksh-93 present in bash-4.0:
|
||||
the `;&' case statement "fallthrough" pattern list terminator
|
||||
csh-style history expansion and set -H
|
||||
negative offsets in ${param:offset:length}
|
||||
redirection operators preceded with {varname} to store fd number in varname
|
||||
DEBUG can force skipping following command
|
||||
|
||||
Section D: Why does bash do some things differently than other Unix shells?
|
||||
|
||||
@@ -1641,6 +1754,32 @@ several options to the `shopt' builtin. If the `compat31' option is enabled,
|
||||
bash reverts to the bash-3.1 behavior with respect to quoting the rhs of
|
||||
the =~ operator.
|
||||
|
||||
E15) Tell me more about the shell compatibility level.
|
||||
|
||||
Bash-4.0 introduced the concept of a `shell compatibility level', specified
|
||||
as a set of options to the shopt builtin (compat31, compat32, compat40 at
|
||||
this writing). There is only one current compatibility level -- each
|
||||
option is mutually exclusive. This list does not mention behavior that is
|
||||
standard for a particular version (e.g., setting compat32 means that quoting
|
||||
the rhs of the regexp matching operator quotes special regexp characters in
|
||||
the word, which is default behavior in bash-3.2 and above).
|
||||
|
||||
compat31 set
|
||||
- the < and > operators to the [[ command do not consider the current
|
||||
locale when comparing strings
|
||||
- quoting the rhs of the regexp matching operator (=~) has no
|
||||
special effect
|
||||
|
||||
compat32 set
|
||||
- the < and > operators to the [[ command do not consider the current
|
||||
locale when comparing strings
|
||||
|
||||
compat40 set
|
||||
- the < and > operators to the [[ command do not consider the current
|
||||
locale when comparing strings
|
||||
- interrupting a command list such as "a ; b ; c" causes the execution
|
||||
of the entire list to be aborted
|
||||
|
||||
Section F: Things to watch out for on certain Unix versions
|
||||
|
||||
F1) Why can't I use command line editing in my `cmdtool'?
|
||||
@@ -2049,9 +2188,9 @@ Some of the new ksh93 pattern matching operators, like backreferencing
|
||||
|
||||
H5) When will the next release appear?
|
||||
|
||||
The next version will appear sometime in 2009. Never make predictions.
|
||||
The next version will appear sometime in 2010. Never make predictions.
|
||||
|
||||
This document is Copyright 1995-2009 by Chester Ramey.
|
||||
This document is Copyright 1995-2010 by Chester Ramey.
|
||||
|
||||
Permission is hereby granted, without written agreement and
|
||||
without license or royalty fees, to use, copy, and distribute
|
||||
|
||||
+1
-1
@@ -94,7 +94,7 @@ GROFF = groff
|
||||
HSUSER = $(RL_LIBDIR)/doc/hsuser.texi
|
||||
RLUSER = $(RL_LIBDIR)/doc/rluser.texi
|
||||
|
||||
BASHREF_FILES = $(srcdir)/bashref.texi $(srcdir)/version.texi
|
||||
BASHREF_FILES = $(srcdir)/bashref.texi $(srcdir)/fdl.texi $(srcdir)/version.texi
|
||||
|
||||
.SUFFIXES: .0 .1 .3 .ms .ps .txt .dvi .html .pdf
|
||||
|
||||
|
||||
+1218
-1077
File diff suppressed because it is too large
Load Diff
+415
-101
File diff suppressed because it is too large
Load Diff
+548
-143
File diff suppressed because it is too large
Load Diff
Binary file not shown.
+6361
-6157
File diff suppressed because it is too large
Load Diff
Binary file not shown.
+1156
-886
File diff suppressed because it is too large
Load Diff
+576
-353
File diff suppressed because it is too large
Load Diff
Binary file not shown.
+9857
-9764
File diff suppressed because it is too large
Load Diff
+120
-42
@@ -24,7 +24,7 @@ are preserved on all copies.
|
||||
|
||||
@quotation
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.2 or
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
any later version published by the Free Software Foundation; with no
|
||||
Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
|
||||
and with the Back-Cover Texts as in (a) below. A copy of the license is
|
||||
@@ -498,6 +498,7 @@ alert (bell)
|
||||
@item \b
|
||||
backspace
|
||||
@item \e
|
||||
@itemx \E
|
||||
an escape character (not ANSI C)
|
||||
@item \f
|
||||
form feed
|
||||
@@ -513,6 +514,8 @@ vertical tab
|
||||
backslash
|
||||
@item \'
|
||||
single quote
|
||||
@item \"
|
||||
double quote
|
||||
@item \@var{nnn}
|
||||
the eight-bit character whose value is the octal value @var{nnn}
|
||||
(one to three digits)
|
||||
@@ -777,7 +780,7 @@ in @var{consequent-commands}, or zero if none was executed.
|
||||
The syntax of the @code{for} command is:
|
||||
|
||||
@example
|
||||
for @var{name} [in @var{words} @dots{}]; do @var{commands}; done
|
||||
for @var{name} [ [in [@var{words} @dots{}] ] ; ] do @var{commands}; done
|
||||
@end example
|
||||
Expand @var{words}, and execute @var{commands} once for each member
|
||||
in the resultant list, with @var{name} bound to the current member.
|
||||
@@ -864,7 +867,7 @@ operator terminates a pattern list.
|
||||
A list of patterns and an associated command-list is known
|
||||
as a @var{clause}.
|
||||
|
||||
Each clause must be terminated with @samp{;;}, @samp{,&}, or @samp{;;&}.
|
||||
Each clause must be terminated with @samp{;;}, @samp{;&}, or @samp{;;&}.
|
||||
The @var{word} undergoes tilde expansion, parameter expansion, command
|
||||
substitution, arithmetic expansion, and quote removal before matching is
|
||||
attempted. Each @var{pattern} undergoes tilde expansion, parameter
|
||||
@@ -976,6 +979,9 @@ substitution, and quote removal are performed.
|
||||
Conditional operators such as @samp{-f} must be unquoted to be recognized
|
||||
as primaries.
|
||||
|
||||
When used with @samp{[[}, The @samp{<} and @samp{>} operators sort
|
||||
lexicographically using the current locale.
|
||||
|
||||
When the @samp{==} and @samp{!=} operators are used, the string to the
|
||||
right of the operator is considered a pattern and matched according
|
||||
to the rules described below in @ref{Pattern Matching}.
|
||||
@@ -1177,14 +1183,18 @@ positional parameters is updated to reflect the change.
|
||||
Special parameter @code{0} is unchanged.
|
||||
The first element of the @env{FUNCNAME} variable is set to the
|
||||
name of the function while the function is executing.
|
||||
|
||||
All other aspects of the shell execution
|
||||
environment are identical between a function and its caller
|
||||
with the exception that the @env{DEBUG} and @env{RETURN} traps
|
||||
with these exceptions:
|
||||
the @env{DEBUG} and @env{RETURN} traps
|
||||
are not inherited unless the function has been given the
|
||||
@code{trace} attribute using the @code{declare} builtin or
|
||||
the @code{-o functrace} option has been enabled with
|
||||
the @code{set} builtin,
|
||||
(in which case all functions inherit the @env{DEBUG} and @env{RETURN} traps).
|
||||
(in which case all functions inherit the @env{DEBUG} and @env{RETURN} traps),
|
||||
and the @env{ERR} trap is not inherited unless the @code{-o errtrace}
|
||||
shell option has been enabled.
|
||||
@xref{Bourne Shell Builtins}, for the description of the
|
||||
@code{trap} builtin.
|
||||
|
||||
@@ -1461,7 +1471,7 @@ bash$ echo a@{d,c,b@}e
|
||||
ade ace abe
|
||||
@end example
|
||||
|
||||
A sequence expression takes the form @code{@{@var{x}..@var{y}[@var{incr}]@}},
|
||||
A sequence expression takes the form @code{@{@var{x}..@var{y}[..@var{incr}]@}},
|
||||
where @var{x} and @var{y} are either integers or single characters,
|
||||
and @var{incr}, an optional increment, is an integer.
|
||||
When integers are supplied, the expression expands to each number between
|
||||
@@ -1601,7 +1611,7 @@ or when @var{parameter}
|
||||
is followed by a character that is not to be
|
||||
interpreted as part of its name.
|
||||
|
||||
If the first character of @var{parameter} is an exclamation point,
|
||||
If the first character of @var{parameter} is an exclamation point (!),
|
||||
a level of variable indirection is introduced.
|
||||
Bash uses the value of the variable formed from the rest of
|
||||
@var{parameter} as the name of the variable; this variable is then
|
||||
@@ -1767,7 +1777,7 @@ array in turn, and the expansion is the resultant list.
|
||||
@itemx $@{@var{parameter},,@var{pattern}@}
|
||||
This expansion modifies the case of alphabetic characters in @var{parameter}.
|
||||
The @var{pattern} is expanded to produce a pattern just as in
|
||||
pathname expansion.
|
||||
filename expansion.
|
||||
The @samp{^} operator converts lowercase letters matching @var{pattern}
|
||||
to uppercase; the @samp{,} operator converts matching uppercase letters
|
||||
to lowercase.
|
||||
@@ -1941,7 +1951,7 @@ an error message is printed and the command is not executed.
|
||||
If the shell option @code{nocaseglob} is enabled, the match is performed
|
||||
without regard to the case of alphabetic characters.
|
||||
|
||||
When a pattern is used for filename generation, the character @samp{.}
|
||||
When a pattern is used for filename expansion, the character @samp{.}
|
||||
at the start of a filename or immediately following a slash
|
||||
must be matched explicitly, unless the shell option @code{dotglob} is set.
|
||||
When matching a file name, the slash character must always be
|
||||
@@ -2084,6 +2094,14 @@ simple command or may follow a command.
|
||||
Redirections are processed in the order they appear, from
|
||||
left to right.
|
||||
|
||||
Each redirection that may be preceded by a file descriptor number
|
||||
may instead be preceded by a word of the form @{@var{varname}@}.
|
||||
In this case, for each redirection operator except
|
||||
>&- and <&-, the shell will allocate a file descriptor greater
|
||||
than 10 and assign it to @{@var{varname}@}. If >&- or <&- is preceded
|
||||
by @{@var{varname}@}, the value of @var{varname} defines the file
|
||||
descriptor to close.
|
||||
|
||||
In the following descriptions, if the file descriptor number is
|
||||
omitted, and the first character of the redirection operator is
|
||||
@samp{<}, the redirection refers to the standard input (file
|
||||
@@ -2765,8 +2783,14 @@ Many of the builtins have been extended by @sc{posix} or Bash.
|
||||
Unless otherwise noted, each builtin command documented as accepting
|
||||
options preceded by @samp{-} accepts @samp{--}
|
||||
to signify the end of the options.
|
||||
For example, the @code{:}, @code{true}, @code{false}, and @code{test}
|
||||
builtins do not accept options.
|
||||
The @code{:}, @code{true}, @code{false}, and @code{test}
|
||||
builtins do not accept options and do not treat @samp{--} specially.
|
||||
The @code{exit}, @code{logout}, @code{break}, @code{continue}, @code{let},
|
||||
and @code{shift} builtins accept and process arguments beginning
|
||||
with @samp{-} without requiring @samp{--}.
|
||||
Other builtins that accept arguments but are not specified as accepting
|
||||
options interpret arguments beginning with @samp{-} as invalid options and
|
||||
require @samp{--} to prevent this interpretation.
|
||||
|
||||
@node Bourne Shell Builtins
|
||||
@section Bourne Shell Builtins
|
||||
@@ -3159,15 +3183,20 @@ The @option{-l} option causes the shell to print a list of signal names
|
||||
and their corresponding numbers.
|
||||
Each @var{sigspec} is either a signal name or a signal number.
|
||||
Signal names are case insensitive and the @code{SIG} prefix is optional.
|
||||
|
||||
If a @var{sigspec}
|
||||
is @code{0} or @code{EXIT}, @var{arg} is executed when the shell exits.
|
||||
If a @var{sigspec} is @code{DEBUG}, the command @var{arg} is executed
|
||||
before every simple command, @code{for} command, @code{case} command,
|
||||
@code{select} command, every arithmetic @code{for} command, and before
|
||||
the first command executes in a shell function.
|
||||
Refer to the description of the @code{extglob} option to the
|
||||
Refer to the description of the @code{extdebug} option to the
|
||||
@code{shopt} builtin (@pxref{The Shopt Builtin}) for details of its
|
||||
effect on the @code{DEBUG} trap.
|
||||
If a @var{sigspec} is @code{RETURN}, the command @var{arg} is executed
|
||||
each time a shell function or a script executed with the @code{.} or
|
||||
@code{source} builtins finishes executing.
|
||||
|
||||
If a @var{sigspec} is @code{ERR}, the command @var{arg}
|
||||
is executed whenever a simple command has a non-zero exit status,
|
||||
subject to the following conditions.
|
||||
@@ -3178,13 +3207,10 @@ part of a command executed in a @code{&&} or @code{||} list,
|
||||
or if the command's return
|
||||
status is being inverted using @code{!}.
|
||||
These are the same conditions obeyed by the @code{errexit} option.
|
||||
If a @var{sigspec} is @code{RETURN}, the command @var{arg} is executed
|
||||
each time a shell function or a script executed with the @code{.} or
|
||||
@code{source} builtins finishes executing.
|
||||
|
||||
Signals ignored upon entry to the shell cannot be trapped or reset.
|
||||
Trapped signals that are not being ignored are reset to their original
|
||||
values in a child process when it is created.
|
||||
values in a subshell or subshell environment when one is created.
|
||||
|
||||
The return status is zero unless a @var{sigspec} does not specify a
|
||||
valid signal.
|
||||
@@ -3625,7 +3651,7 @@ parent.
|
||||
mapfile [-n @var{count}] [-O @var{origin}] [-s @var{count}] [-t] [-u @var{fd}] [
|
||||
-C @var{callback}] [-c @var{quantum}] [@var{array}]
|
||||
@end example
|
||||
Read lines from the standard input into array variable @var{array},
|
||||
Read lines from the standard input into the indexed array variable @var{array},
|
||||
or from file descriptor @var{fd}
|
||||
if the @option{-u} option is supplied.
|
||||
The variable @code{MAPFILE} is the default @var{array}.
|
||||
@@ -3640,7 +3666,7 @@ The default index is 0.
|
||||
@item -s
|
||||
Discard the first @var{count} lines read.
|
||||
@item -t
|
||||
Remove a trailing line from each line read.
|
||||
Remove a trailing newline from each line read.
|
||||
@item -u
|
||||
Read lines from file descriptor @var{fd} instead of the standard input.
|
||||
@item -C
|
||||
@@ -3661,7 +3687,8 @@ If not supplied with an explicit origin, @code{mapfile} will clear @var{array}
|
||||
before assigning to it.
|
||||
|
||||
@code{mapfile} returns successfully unless an invalid option or option
|
||||
argument is supplied, or @var{array} is invalid or unassignable.
|
||||
argument is supplied, @var{array} is invalid or unassignable, or @var{array}
|
||||
is not an indexed array.
|
||||
|
||||
@item printf
|
||||
@btindex printf
|
||||
@@ -3696,7 +3723,7 @@ non-zero on failure.
|
||||
@item read
|
||||
@btindex read
|
||||
@example
|
||||
read [-ers] [-a @var{aname}] [-d @var{delim}] [-i @var{text}] [-n @var{nchars}] [-p @var{prompt}] [-t @var{timeout}] [-u @var{fd}] [@var{name} @dots{}]
|
||||
read [-ers] [-a @var{aname}] [-d @var{delim}] [-i @var{text}] [-n @var{nchars}] [-N @var{nchars}] [-p @var{prompt}] [-t @var{timeout}] [-u @var{fd}] [@var{name} @dots{}]
|
||||
@end example
|
||||
One line is read from the standard input, or from the file descriptor
|
||||
@var{fd} supplied as an argument to the @option{-u} option, and the first word
|
||||
@@ -3739,7 +3766,16 @@ the editing buffer before editing begins.
|
||||
|
||||
@item -n @var{nchars}
|
||||
@code{read} returns after reading @var{nchars} characters rather than
|
||||
waiting for a complete line of input.
|
||||
waiting for a complete line of input, but honor a delimiter if fewer
|
||||
than @var{nchars} characters are read before the delimiter.
|
||||
|
||||
@item -N @var{nchars}
|
||||
@code{read} returns after reading exactly @var{nchars} characters rather
|
||||
than waiting for a complete line of input, unless EOF is encountered or
|
||||
@code{read} times out.
|
||||
Delimiter characters encountered in the input are
|
||||
not treated specially and do not cause @code{read} to return until
|
||||
@var{nchars} characters are read.
|
||||
|
||||
@item -p @var{prompt}
|
||||
Display @var{prompt}, without a trailing newline, before attempting
|
||||
@@ -3779,7 +3815,7 @@ Read input from file descriptor @var{fd}.
|
||||
readarray [-n @var{count}] [-O @var{origin}] [-s @var{count}] [-t] [-u @var{fd}] [
|
||||
-C @var{callback}] [-c @var{quantum}] [@var{array}]
|
||||
@end example
|
||||
Read lines from the standard input into array variable @var{array},
|
||||
Read lines from the standard input into the indexed array variable @var{array},
|
||||
or from file descriptor @var{fd}
|
||||
if the @option{-u} option is supplied.
|
||||
|
||||
@@ -4007,7 +4043,7 @@ separately (@pxref{Command Execution Environment}), and may cause
|
||||
subshells to exit before executing all the commands in the subshell.
|
||||
|
||||
@item -f
|
||||
Disable file name generation (globbing).
|
||||
Disable filename expansion (globbing).
|
||||
|
||||
@item -h
|
||||
Locate and remember (hash) commands as they are looked up for execution.
|
||||
@@ -4124,8 +4160,8 @@ Same as @code{-x}.
|
||||
Turn on privileged mode.
|
||||
In this mode, the @env{$BASH_ENV} and @env{$ENV} files are not
|
||||
processed, shell functions are not inherited from the environment,
|
||||
and the @env{SHELLOPTS}, @env{CDPATH} and @env{GLOBIGNORE} variables,
|
||||
if they appear in the environment, are ignored.
|
||||
and the @env{SHELLOPTS}, @env{BASHOPTS}, @env{CDPATH} and @env{GLOBIGNORE}
|
||||
variables, if they appear in the environment, are ignored.
|
||||
If the shell is started with the effective user (group) id not equal to the
|
||||
real user (group) id, and the @code{-p} option is not supplied, these actions
|
||||
are taken and the effective user id is set to the real user id.
|
||||
@@ -4391,7 +4427,7 @@ performed within @code{$@{@var{parameter}@}} expansions
|
||||
enclosed in double quotes. This option is enabled by default.
|
||||
|
||||
@item failglob
|
||||
If set, patterns which fail to match filenames during pathname expansion
|
||||
If set, patterns which fail to match filenames during filename expansion
|
||||
result in an expansion error.
|
||||
|
||||
@item force_fignore
|
||||
@@ -4638,6 +4674,16 @@ variables for controlling the job control facilities
|
||||
@item BASH
|
||||
The full pathname used to execute the current instance of Bash.
|
||||
|
||||
@item BASHOPTS
|
||||
A colon-separated list of enabled shell options. Each word in
|
||||
the list is a valid argument for the @option{-s} option to the
|
||||
@code{shopt} builtin command (@pxref{The Shopt Builtin}).
|
||||
The options appearing in @env{BASHOPTS} are those reported
|
||||
as @samp{on} by @samp{shopt}.
|
||||
If this variable is in the environment when Bash
|
||||
starts up, each shell option in the list will be enabled before
|
||||
reading any startup files. This variable is readonly.
|
||||
|
||||
@item BASHPID
|
||||
Expands to the process id of the current Bash process.
|
||||
This differs from @code{$$} under certain circumstances, such as subshells
|
||||
@@ -4750,6 +4796,20 @@ The value of @env{MACHTYPE}.
|
||||
@item BASH_VERSION
|
||||
The version number of the current instance of Bash.
|
||||
|
||||
@item BASH_XTRACEFD
|
||||
If set to an integer corresponding to a valid file descriptor, Bash
|
||||
will write the trace output generated when @samp{set -x}
|
||||
is enabled to that file descriptor.
|
||||
This allows tracing output to be separated from diagnostic and error
|
||||
messages.
|
||||
The file descriptor is closed when @code{BASH_XTRACEFD} is unset or assigned
|
||||
a new value.
|
||||
Unsetting @code{BASH_XTRACEFD} or assigning it the empty string causes the
|
||||
trace output to be sent to the standard error.
|
||||
Note that setting @code{BASH_XTRACEFD} to 2 (the standard error file
|
||||
descriptor) and then unsetting it will result in the standard error
|
||||
being closed.
|
||||
|
||||
@item COLUMNS
|
||||
Used by the @code{select} builtin command to determine the terminal width
|
||||
when printing selection lists. Automatically set upon receipt of a
|
||||
@@ -4962,7 +5022,8 @@ is running;
|
||||
the next time hostname completion is attempted after the
|
||||
value is changed, Bash adds the contents of the new file to the
|
||||
existing list.
|
||||
If @env{HOSTFILE} is set, but has no value, Bash attempts to read
|
||||
If @env{HOSTFILE} is set, but has no value, or does not name a readable file,
|
||||
Bash attempts to read
|
||||
@file{/etc/hosts} to obtain the list of possible hostname completions.
|
||||
When @env{HOSTFILE} is unset, the hostname list is cleared.
|
||||
|
||||
@@ -5482,8 +5543,9 @@ allow them to be specified.
|
||||
If Bash is started with the effective user (group) id not equal to the
|
||||
real user (group) id, and the @code{-p} option is not supplied, no startup
|
||||
files are read, shell functions are not inherited from the environment,
|
||||
the @env{SHELLOPTS} variable, if it appears in the environment, is ignored,
|
||||
and the effective user id is set to the real user id.
|
||||
the @env{SHELLOPTS}, @env{BASHOPTS}, @env{CDPATH}, and @env{GLOBIGNORE}
|
||||
variables, if they appear in the environment, are ignored, and the effective
|
||||
user id is set to the real user id.
|
||||
If the @code{-p} option is supplied at invocation, the startup behavior is
|
||||
the same, but the effective user id is not reset.
|
||||
|
||||
@@ -5660,6 +5722,9 @@ If the @var{file} argument to one of the primaries is one of
|
||||
@file{/dev/stdin}, @file{/dev/stdout}, or @file{/dev/stderr}, file
|
||||
descriptor 0, 1, or 2, respectively, is checked.
|
||||
|
||||
When used with @samp{[[}, The @samp{<} and @samp{>} operators sort
|
||||
lexicographically using the current locale.
|
||||
|
||||
Unless otherwise specified, primaries that operate on files follow symbolic
|
||||
links and operate on the target of the link, rather than the link itself.
|
||||
|
||||
@@ -5752,19 +5817,18 @@ True if the length of @var{string} is zero.
|
||||
True if the length of @var{string} is non-zero.
|
||||
|
||||
@item @var{string1} == @var{string2}
|
||||
@itemx @var{string1} = @var{string2}
|
||||
True if the strings are equal.
|
||||
@samp{=} may be used in place of @samp{==} for strict @sc{posix} compliance.
|
||||
@samp{=} should be used with the @code{test} command for @sc{posix} conformance.
|
||||
|
||||
@item @var{string1} != @var{string2}
|
||||
True if the strings are not equal.
|
||||
|
||||
@item @var{string1} < @var{string2}
|
||||
True if @var{string1} sorts before @var{string2} lexicographically
|
||||
in the current locale.
|
||||
True if @var{string1} sorts before @var{string2} lexicographically.
|
||||
|
||||
@item @var{string1} > @var{string2}
|
||||
True if @var{string1} sorts after @var{string2} lexicographically
|
||||
in the current locale.
|
||||
True if @var{string1} sorts after @var{string2} lexicographically.
|
||||
|
||||
@item @var{arg1} OP @var{arg2}
|
||||
@code{OP} is one of
|
||||
@@ -6032,11 +6096,14 @@ If @var{subscript} is @samp{@@} or
|
||||
Referencing an array variable without a subscript is equivalent to
|
||||
referencing with a subscript of 0.
|
||||
|
||||
An array variable is considered set if a subscript has been assigned a
|
||||
value. The null string is a valid value.
|
||||
|
||||
The @code{unset} builtin is used to destroy arrays.
|
||||
@code{unset} @var{name}[@var{subscript}]
|
||||
destroys the array element at index @var{subscript}.
|
||||
Care must be taken to avoid unwanted side effects caused by filename
|
||||
generation.
|
||||
expansion.
|
||||
@code{unset} @var{name}, where @var{name} is an array, removes the
|
||||
entire array. A subscript of @samp{*} or @samp{@@} also removes the
|
||||
entire array.
|
||||
@@ -6512,6 +6579,11 @@ escape characters are converted.
|
||||
The @code{ulimit} builtin uses a block size of 512 bytes for the @option{-c}
|
||||
and @option{-f} options.
|
||||
|
||||
@item
|
||||
The arrival of @code{SIGCHLD} when a trap is set on @code{SIGCHLD} does
|
||||
not interrupt the @code{wait} builtin and cause it to return immediately.
|
||||
The trap command is run once for each child that exits.
|
||||
|
||||
@end enumerate
|
||||
|
||||
There is other @sc{posix} behavior that Bash does not implement by
|
||||
@@ -6561,7 +6633,7 @@ refers to the ability to selectively stop (suspend)
|
||||
the execution of processes and continue (resume)
|
||||
their execution at a later point. A user typically employs
|
||||
this facility via an interactive interface supplied jointly
|
||||
by the system's terminal driver and Bash.
|
||||
by the operating system kernel's terminal driver and Bash.
|
||||
|
||||
The shell associates a @var{job} with each pipeline. It keeps a
|
||||
table of currently executing jobs, which may be listed with the
|
||||
@@ -6586,11 +6658,13 @@ process group @sc{id} is equal to the current terminal process group
|
||||
These processes are said to be in the foreground. Background
|
||||
processes are those whose process group @sc{id} differs from the
|
||||
terminal's; such processes are immune to keyboard-generated
|
||||
signals. Only foreground processes are allowed to read from or
|
||||
write to the terminal. Background processes which attempt to
|
||||
read from (write to) the terminal are sent a @code{SIGTTIN}
|
||||
(@code{SIGTTOU}) signal by the terminal driver, which, unless
|
||||
caught, suspends the process.
|
||||
signals. Only foreground processes are allowed to read from or, if
|
||||
the user so specifies with @code{stty tostop}, write to the terminal.
|
||||
Background processes which attempt to
|
||||
read from (write to when @code{stty tostop} is in effect) the
|
||||
terminal are sent a @code{SIGTTIN} (@code{SIGTTOU})
|
||||
signal by the kernel's terminal driver,
|
||||
which, unless caught, suspends the process.
|
||||
|
||||
If the operating system on which Bash is running supports
|
||||
job control, Bash contains facilities to use it. Typing the
|
||||
@@ -7225,6 +7299,10 @@ Include support for the @code{((@dots{}))} command
|
||||
Include support for the extended pattern matching features described
|
||||
above under @ref{Pattern Matching}.
|
||||
|
||||
@item --enable-extended-glob-default
|
||||
Set the default value of the @var{extglob} shell option described
|
||||
above under @ref{The Shopt Builtin} to be enabled.
|
||||
|
||||
@item --enable-help-builtin
|
||||
Include the @code{help} builtin, which displays help on shell builtins and
|
||||
variables (@pxref{Bash Builtins}).
|
||||
@@ -7318,7 +7396,7 @@ But first, you should
|
||||
make sure that it really is a bug, and that it appears in the latest
|
||||
version of Bash.
|
||||
The latest version of Bash is always available for FTP from
|
||||
@uref{ftp://ftp.gnu.org/pub/bash/}.
|
||||
@uref{ftp://ftp.gnu.org/pub/gnu/bash/}.
|
||||
|
||||
Once you have determined that a bug actually exists, use the
|
||||
@code{bashbug} command to submit a bug report.
|
||||
|
||||
+494
-449
File diff suppressed because it is too large
Load Diff
+1789
-1705
File diff suppressed because it is too large
Load Diff
+67
-12
@@ -1,12 +1,12 @@
|
||||
@c The GNU Free Documentation License.
|
||||
@center Version 1.2, November 2002
|
||||
@center Version 1.3, 3 November 2008
|
||||
|
||||
@c This file is intended to be included within another document,
|
||||
@c hence no sectioning command or @node.
|
||||
|
||||
@display
|
||||
Copyright @copyright{} 2000,2001,2002 Free Software Foundation, Inc.
|
||||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
|
||||
@uref{http://fsf.org/}
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
@@ -111,6 +111,9 @@ formats which do not have any title page as such, ``Title Page'' means
|
||||
the text near the most prominent appearance of the work's title,
|
||||
preceding the beginning of the body of the text.
|
||||
|
||||
The ``publisher'' means any person or entity that distributes copies
|
||||
of the Document to the public.
|
||||
|
||||
A section ``Entitled XYZ'' means a named subunit of the Document whose
|
||||
title either is precisely XYZ or contains XYZ in parentheses following
|
||||
text that translates XYZ in another language. (Here XYZ stands for a
|
||||
@@ -379,13 +382,30 @@ title.
|
||||
@item
|
||||
TERMINATION
|
||||
|
||||
You may not copy, modify, sublicense, or distribute the Document except
|
||||
as expressly provided for under this License. Any other attempt to
|
||||
copy, modify, sublicense or distribute the Document is void, and will
|
||||
automatically terminate your rights under this License. However,
|
||||
parties who have received copies, or rights, from you under this
|
||||
License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
You may not copy, modify, sublicense, or distribute the Document
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense, or distribute it is void, and
|
||||
will automatically terminate your rights under this License.
|
||||
|
||||
However, if you cease all violation of this License, then your license
|
||||
from a particular copyright holder is reinstated (a) provisionally,
|
||||
unless and until the copyright holder explicitly and finally
|
||||
terminates your license, and (b) permanently, if the copyright holder
|
||||
fails to notify you of the violation by some reasonable means prior to
|
||||
60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, receipt of a copy of some or all of the same material does
|
||||
not give you any rights to use it.
|
||||
|
||||
@item
|
||||
FUTURE REVISIONS OF THIS LICENSE
|
||||
@@ -403,7 +423,42 @@ following the terms and conditions either of that specified version or
|
||||
of any later version that has been published (not as a draft) by the
|
||||
Free Software Foundation. If the Document does not specify a version
|
||||
number of this License, you may choose any version ever published (not
|
||||
as a draft) by the Free Software Foundation.
|
||||
as a draft) by the Free Software Foundation. If the Document
|
||||
specifies that a proxy can decide which future versions of this
|
||||
License can be used, that proxy's public statement of acceptance of a
|
||||
version permanently authorizes you to choose that version for the
|
||||
Document.
|
||||
|
||||
@item
|
||||
RELICENSING
|
||||
|
||||
``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
|
||||
World Wide Web server that publishes copyrightable works and also
|
||||
provides prominent facilities for anybody to edit those works. A
|
||||
public wiki that anybody can edit is an example of such a server. A
|
||||
``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
|
||||
site means any set of copyrightable works thus published on the MMC
|
||||
site.
|
||||
|
||||
``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
|
||||
license published by Creative Commons Corporation, a not-for-profit
|
||||
corporation with a principal place of business in San Francisco,
|
||||
California, as well as future copyleft versions of that license
|
||||
published by that same organization.
|
||||
|
||||
``Incorporate'' means to publish or republish a Document, in whole or
|
||||
in part, as part of another Document.
|
||||
|
||||
An MMC is ``eligible for relicensing'' if it is licensed under this
|
||||
License, and if all works that were first published under this License
|
||||
somewhere other than this MMC, and subsequently incorporated in whole
|
||||
or in part into the MMC, (1) had no cover texts or invariant sections,
|
||||
and (2) were thus incorporated prior to November 1, 2008.
|
||||
|
||||
The operator of an MMC Site may republish an MMC contained in the site
|
||||
under CC-BY-SA on the same site at any time before August 1, 2009,
|
||||
provided the MMC is eligible for relicensing.
|
||||
|
||||
@end enumerate
|
||||
|
||||
@page
|
||||
@@ -417,7 +472,7 @@ license notices just after the title page:
|
||||
@group
|
||||
Copyright (C) @var{year} @var{your name}.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.2
|
||||
under the terms of the GNU Free Documentation License, Version 1.3
|
||||
or 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
|
||||
|
||||
+92
-38
@@ -1,13 +1,13 @@
|
||||
GNU Free Documentation License
|
||||
Version 1.2, November 2002
|
||||
|
||||
GNU Free Documentation License
|
||||
Version 1.3, 3 November 2008
|
||||
|
||||
|
||||
Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
|
||||
<http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
0. PREAMBLE
|
||||
|
||||
The purpose of this License is to make a manual, textbook, or other
|
||||
@@ -50,11 +50,11 @@ modifications and/or translated into another language.
|
||||
|
||||
A "Secondary Section" is a named appendix or a front-matter section of
|
||||
the Document that deals exclusively with the relationship of the
|
||||
publishers or authors of the Document to the Document's overall subject
|
||||
(or to related matters) and contains nothing that could fall directly
|
||||
within that overall subject. (Thus, if the Document is in part a
|
||||
textbook of mathematics, a Secondary Section may not explain any
|
||||
mathematics.) The relationship could be a matter of historical
|
||||
publishers or authors of the Document to the Document's overall
|
||||
subject (or to related matters) and contains nothing that could fall
|
||||
directly within that overall subject. (Thus, if the Document is in
|
||||
part a textbook of mathematics, a Secondary Section may not explain
|
||||
any mathematics.) The relationship could be a matter of historical
|
||||
connection with the subject or with related matters, or of legal,
|
||||
commercial, philosophical, ethical or political position regarding
|
||||
them.
|
||||
@@ -103,6 +103,9 @@ formats which do not have any title page as such, "Title Page" means
|
||||
the text near the most prominent appearance of the work's title,
|
||||
preceding the beginning of the body of the text.
|
||||
|
||||
The "publisher" means any person or entity that distributes copies of
|
||||
the Document to the public.
|
||||
|
||||
A section "Entitled XYZ" means a named subunit of the Document whose
|
||||
title either is precisely XYZ or contains XYZ in parentheses following
|
||||
text that translates XYZ in another language. (Here XYZ stands for a
|
||||
@@ -118,14 +121,13 @@ License, but only as regards disclaiming warranties: any other
|
||||
implication that these Warranty Disclaimers may have is void and has
|
||||
no effect on the meaning of this License.
|
||||
|
||||
|
||||
2. VERBATIM COPYING
|
||||
|
||||
You may copy and distribute the Document in any medium, either
|
||||
commercially or noncommercially, provided that this License, the
|
||||
copyright notices, and the license notice saying this License applies
|
||||
to the Document are reproduced in all copies, and that you add no other
|
||||
conditions whatsoever to those of this License. You may not use
|
||||
to the Document are reproduced in all copies, and that you add no
|
||||
other conditions whatsoever to those of this License. You may not use
|
||||
technical measures to obstruct or control the reading or further
|
||||
copying of the copies you make or distribute. However, you may accept
|
||||
compensation in exchange for copies. If you distribute a large enough
|
||||
@@ -169,8 +171,9 @@ Opaque copy (directly or through your agents or retailers) of that
|
||||
edition to the public.
|
||||
|
||||
It is requested, but not required, that you contact the authors of the
|
||||
Document well before redistributing any large number of copies, to give
|
||||
them a chance to provide you with an updated version of the Document.
|
||||
Document well before redistributing any large number of copies, to
|
||||
give them a chance to provide you with an updated version of the
|
||||
Document.
|
||||
|
||||
|
||||
4. MODIFICATIONS
|
||||
@@ -285,16 +288,18 @@ Entitled "Endorsements".
|
||||
|
||||
6. COLLECTIONS OF DOCUMENTS
|
||||
|
||||
You may make a collection consisting of the Document and other documents
|
||||
released under this License, and replace the individual copies of this
|
||||
License in the various documents with a single copy that is included in
|
||||
the collection, provided that you follow the rules of this License for
|
||||
verbatim copying of each of the documents in all other respects.
|
||||
You may make a collection consisting of the Document and other
|
||||
documents released under this License, and replace the individual
|
||||
copies of this License in the various documents with a single copy
|
||||
that is included in the collection, provided that you follow the rules
|
||||
of this License for verbatim copying of each of the documents in all
|
||||
other respects.
|
||||
|
||||
You may extract a single document from such a collection, and distribute
|
||||
it individually under this License, provided you insert a copy of this
|
||||
License into the extracted document, and follow this License in all
|
||||
other respects regarding verbatim copying of that document.
|
||||
You may extract a single document from such a collection, and
|
||||
distribute it individually under this License, provided you insert a
|
||||
copy of this License into the extracted document, and follow this
|
||||
License in all other respects regarding verbatim copying of that
|
||||
document.
|
||||
|
||||
|
||||
7. AGGREGATION WITH INDEPENDENT WORKS
|
||||
@@ -304,7 +309,7 @@ and independent documents or works, in or on a volume of a storage or
|
||||
distribution medium, is called an "aggregate" if the copyright
|
||||
resulting from the compilation is not used to limit the legal rights
|
||||
of the compilation's users beyond what the individual works permit.
|
||||
When the Document is included an aggregate, this License does not
|
||||
When the Document is included in an aggregate, this License does not
|
||||
apply to the other works in the aggregate which are not themselves
|
||||
derivative works of the Document.
|
||||
|
||||
@@ -340,21 +345,38 @@ title.
|
||||
|
||||
9. TERMINATION
|
||||
|
||||
You may not copy, modify, sublicense, or distribute the Document except
|
||||
as expressly provided for under this License. Any other attempt to
|
||||
copy, modify, sublicense or distribute the Document is void, and will
|
||||
automatically terminate your rights under this License. However,
|
||||
parties who have received copies, or rights, from you under this
|
||||
License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
You may not copy, modify, sublicense, or distribute the Document
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense, or distribute it is void, and
|
||||
will automatically terminate your rights under this License.
|
||||
|
||||
However, if you cease all violation of this License, then your license
|
||||
from a particular copyright holder is reinstated (a) provisionally,
|
||||
unless and until the copyright holder explicitly and finally
|
||||
terminates your license, and (b) permanently, if the copyright holder
|
||||
fails to notify you of the violation by some reasonable means prior to
|
||||
60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, receipt of a copy of some or all of the same material does
|
||||
not give you any rights to use it.
|
||||
|
||||
|
||||
10. FUTURE REVISIONS OF THIS LICENSE
|
||||
|
||||
The Free Software Foundation may publish new, revised versions
|
||||
of the GNU Free Documentation License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns. See
|
||||
The Free Software Foundation may publish new, revised versions of the
|
||||
GNU Free Documentation License from time to time. Such new versions
|
||||
will be similar in spirit to the present version, but may differ in
|
||||
detail to address new problems or concerns. See
|
||||
http://www.gnu.org/copyleft/.
|
||||
|
||||
Each version of the License is given a distinguishing version number.
|
||||
@@ -364,7 +386,39 @@ following the terms and conditions either of that specified version or
|
||||
of any later version that has been published (not as a draft) by the
|
||||
Free Software Foundation. If the Document does not specify a version
|
||||
number of this License, you may choose any version ever published (not
|
||||
as a draft) by the Free Software Foundation.
|
||||
as a draft) by the Free Software Foundation. If the Document
|
||||
specifies that a proxy can decide which future versions of this
|
||||
License can be used, that proxy's public statement of acceptance of a
|
||||
version permanently authorizes you to choose that version for the
|
||||
Document.
|
||||
|
||||
11. RELICENSING
|
||||
|
||||
"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
|
||||
World Wide Web server that publishes copyrightable works and also
|
||||
provides prominent facilities for anybody to edit those works. A
|
||||
public wiki that anybody can edit is an example of such a server. A
|
||||
"Massive Multiauthor Collaboration" (or "MMC") contained in the site
|
||||
means any set of copyrightable works thus published on the MMC site.
|
||||
|
||||
"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
|
||||
license published by Creative Commons Corporation, a not-for-profit
|
||||
corporation with a principal place of business in San Francisco,
|
||||
California, as well as future copyleft versions of that license
|
||||
published by that same organization.
|
||||
|
||||
"Incorporate" means to publish or republish a Document, in whole or in
|
||||
part, as part of another Document.
|
||||
|
||||
An MMC is "eligible for relicensing" if it is licensed under this
|
||||
License, and if all works that were first published under this License
|
||||
somewhere other than this MMC, and subsequently incorporated in whole or
|
||||
in part into the MMC, (1) had no cover texts or invariant sections, and
|
||||
(2) were thus incorporated prior to November 1, 2008.
|
||||
|
||||
The operator of an MMC Site may republish an MMC contained in the site
|
||||
under CC-BY-SA on the same site at any time before August 1, 2009,
|
||||
provided the MMC is eligible for relicensing.
|
||||
|
||||
|
||||
ADDENDUM: How to use this License for your documents
|
||||
@@ -375,7 +429,7 @@ license notices just after the title page:
|
||||
|
||||
Copyright (c) YEAR YOUR NAME.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.2
|
||||
under the terms of the GNU Free Documentation License, Version 1.3
|
||||
or 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
|
||||
|
||||
+6
-5
@@ -1,6 +1,6 @@
|
||||
%!PS-Adobe-3.0
|
||||
%%Creator: groff version 1.19.2
|
||||
%%CreationDate: Thu Feb 5 08:05:28 2009
|
||||
%%CreationDate: Wed Dec 30 13:07:37 2009
|
||||
%%DocumentNeededResources: font Times-Roman
|
||||
%%+ font Times-Bold
|
||||
%%DocumentSuppliedResources: procset grops 1.19 2
|
||||
@@ -240,9 +240,10 @@ E F0(\(1\))A F1(RESTRICTED SHELL)72 112.8 Q F0(If)108 124.8 Q F2(bash)
|
||||
(bash)2.5 E F0(with the e)2.5 E(xception that the follo)-.15 E
|
||||
(wing are disallo)-.25 E(wed or not performed:)-.25 E 32.5<8363>108
|
||||
165.6 S(hanging directories with)-32.5 E F2(cd)2.5 E F0 32.5<8373>108
|
||||
182.4 S(etting or unsetting the v)-32.5 E(alues of)-.25 E F2(SHELL)2.5 E
|
||||
F0(,)A F2 -.74(PA)2.5 G(TH)-.21 E F0(,)A F2(ENV)2.5 E F0 2.5(,o)C(r)-2.5
|
||||
E F2 -.3(BA)2.5 G(SH_ENV).3 E F0 32.5<8373>108 199.2 S
|
||||
182.4 S(etting or unsetting the v)-32.5 E(alues of)-.25 E/F3 9
|
||||
/Times-Bold@0 SF(SHELL)2.5 E/F4 9/Times-Roman@0 SF(,)A F3 -.666(PA)2.25
|
||||
G(TH)-.189 E F4(,)A F3(ENV)2.25 E F4(,)A F0(or)2.25 E F3 -.27(BA)2.5 G
|
||||
(SH_ENV).27 E F0 32.5<8373>108 199.2 S
|
||||
(pecifying command names containing)-32.5 E F2(/)2.5 E F0 32.5<8373>108
|
||||
216 S(pecifying a \214le name containing a)-32.5 E F2(/)2.5 E F0
|
||||
(as an ar)2.5 E(gument to the)-.18 E F2(.)2.5 E F0 -.2(bu)5 G
|
||||
@@ -252,7 +253,7 @@ E F2 -.3(BA)2.5 G(SH_ENV).3 E F0 32.5<8373>108 199.2 S
|
||||
(hash)2.851 E F0 -.2(bu)2.851 G .351(iltin com-).2 F(mand)144 244.8 Q
|
||||
32.5<8369>108 261.6 S(mporting function de\214nitions from the shell en)
|
||||
-32.5 E(vironment at startup)-.4 E 32.5<8370>108 278.4 S(arsing the v)
|
||||
-32.5 E(alue of)-.25 E F2(SHELLOPTS)2.5 E F0(from the shell en)2.5 E
|
||||
-32.5 E(alue of)-.25 E F3(SHELLOPTS)2.5 E F0(from the shell en)2.25 E
|
||||
(vironment at startup)-.4 E 32.5<8372>108 295.2 S(edirecting output usi\
|
||||
ng the >, >|, <>, >&, &>, and >> redirection operators)-32.5 E 32.5
|
||||
<8375>108 312 S(sing the)-32.5 E F2(exec)2.5 E F0 -.2(bu)2.5 G
|
||||
|
||||
+5674
-3112
File diff suppressed because it is too large
Load Diff
+5
-5
@@ -2,9 +2,9 @@
|
||||
Copyright (C) 1988-2009 Free Software Foundation, Inc.
|
||||
@end ignore
|
||||
|
||||
@set LASTCHANGE Fri Feb 13 18:29:03 EST 2009
|
||||
@set LASTCHANGE Wed Dec 23 16:29:41 EST 2009
|
||||
|
||||
@set EDITION 4.0
|
||||
@set VERSION 4.0
|
||||
@set UPDATED 13 February 2009
|
||||
@set UPDATED-MONTH February 2009
|
||||
@set EDITION 4.1
|
||||
@set VERSION 4.1
|
||||
@set UPDATED 23 December 2009
|
||||
@set UPDATED-MONTH December 2009
|
||||
|
||||
Reference in New Issue
Block a user