mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-07-13 23:20:49 +02:00
Imported from ../bash-2.05a.tar.gz.
This commit is contained in:
+190
-105
@@ -5,13 +5,13 @@
|
||||
@c %**end of header
|
||||
|
||||
@ignore
|
||||
Last Change: Wed Mar 28 14:48:38 EST 2001
|
||||
Last Change: Tue Nov 13 12:48:51 EST 2001
|
||||
@end ignore
|
||||
|
||||
@set EDITION 2.5
|
||||
@set VERSION 2.05
|
||||
@set UPDATED 28 Mar 2001
|
||||
@set UPDATE-MONTH Mar 2001
|
||||
@set EDITION 2.5a
|
||||
@set VERSION 2.05a
|
||||
@set UPDATED 13 November 2001
|
||||
@set UPDATE-MONTH November 2001
|
||||
|
||||
@iftex
|
||||
@finalout
|
||||
@@ -36,7 +36,7 @@ This is Edition @value{EDITION}, last updated @value{UPDATED},
|
||||
of @cite{The GNU Bash Reference Manual},
|
||||
for @code{Bash}, Version @value{VERSION}.
|
||||
|
||||
Copyright (C) 1991-1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1991-2001 Free Software Foundation, Inc.
|
||||
|
||||
Permission is granted to make and distribute verbatim copies of
|
||||
this manual provided the copyright notice and this permission notice
|
||||
@@ -267,7 +267,8 @@ or one of the following:
|
||||
|
||||
@item exit status
|
||||
@cindex exit status
|
||||
The value returned by a command to its caller.
|
||||
The value returned by a command to its caller. The value is restricted
|
||||
to eight bits, so the maximum value is 255.
|
||||
|
||||
@item field
|
||||
@cindex field
|
||||
@@ -542,11 +543,11 @@ backslash
|
||||
@item \'
|
||||
single quote
|
||||
@item \@var{nnn}
|
||||
the character whose @code{ASCII} code is the octal value @var{nnn}
|
||||
(one to three digits)
|
||||
@item \x@var{nnn}
|
||||
the character whose @code{ASCII} code is the hexadecimal value @var{nnn}
|
||||
the eight-bit character whose value is the octal value @var{nnn}
|
||||
(one to three digits)
|
||||
@item \x@var{HH}
|
||||
the eight-bit character whose value is the hexadecimal value @var{HH}
|
||||
(one or two hex digits)
|
||||
@end table
|
||||
|
||||
@noindent
|
||||
@@ -556,6 +557,9 @@ been present.
|
||||
@node Locale Translation
|
||||
@subsubsection Locale-Specific Translation
|
||||
@cindex localization
|
||||
@cindex internationalization
|
||||
@cindex native languages
|
||||
@cindex translation, native languages
|
||||
|
||||
A double-quoted string preceded by a dollar sign (@samp{$}) will cause
|
||||
the string to be translated according to the current locale.
|
||||
@@ -564,12 +568,17 @@ is ignored.
|
||||
If the string is translated and replaced, the replacement is
|
||||
double-quoted.
|
||||
|
||||
@vindex LC_MESSAGES
|
||||
@vindex TEXTDOMAIN
|
||||
@vindex TEXTDOMAINDIR
|
||||
Some systems use the message catalog selected by the @env{LC_MESSAGES}
|
||||
shell variable. Others create the name of the message catalog from the
|
||||
value of the @env{TEXTDOMAIN} shell variable, possibly adding a
|
||||
suffix of @samp{.mo}. If you use the @env{TEXTDOMAIN} variable, you
|
||||
may need to set the @env{TEXTDOMAINDIR} variable to the location of
|
||||
the message catalog files.
|
||||
the message catalog files. Still others use both variables in this
|
||||
fashion:
|
||||
@env{TEXTDOMAINDIR}/@env{LC_MESSAGES}/LC_MESSAGES/@env{TEXTDOMAIN}.mo.
|
||||
|
||||
@node Comments
|
||||
@subsection Comments
|
||||
@@ -640,9 +649,9 @@ The format for a pipeline is
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
The output of each command in the pipeline is connected to the input of
|
||||
the next command. That is, each command reads the previous command's
|
||||
output.
|
||||
The output of each command in the pipeline is connected via a pipe
|
||||
to the input of the next command.
|
||||
That is, each command reads the previous command's output.
|
||||
|
||||
The reserved word @code{time} causes timing statistics
|
||||
to be printed for the pipeline once it finishes.
|
||||
@@ -891,7 +900,7 @@ Any other value read causes @var{name} to be set to null.
|
||||
The line read is saved in the variable @env{REPLY}.
|
||||
|
||||
The @var{commands} are executed after each selection until a
|
||||
@code{break} or @code{return} command is executed, at which
|
||||
@code{break} command is executed, at which
|
||||
point the @code{select} command completes.
|
||||
|
||||
Here is an example that allows the user to pick a filename from the
|
||||
@@ -1063,7 +1072,7 @@ call. When a function completes, the values of the
|
||||
positional parameters and the special parameter @samp{#}
|
||||
are restored to the values they had prior to the function's
|
||||
execution. If a numeric argument is given to @code{return},
|
||||
that is the function's return status; otherwise the functions's
|
||||
that is the function's return status; otherwise the function's
|
||||
return status is the exit status of the last command executed
|
||||
before the @code{return}.
|
||||
|
||||
@@ -1090,6 +1099,9 @@ It can be a @code{name}, a number, or one of the special characters
|
||||
listed below.
|
||||
For the shell's purposes, a @var{variable} is a parameter denoted by a
|
||||
@code{name}.
|
||||
A variable has a @var{value} and zero or more @var{attributes}.
|
||||
Attributes are assigned using the @code{declare} builtin command
|
||||
(see the description of the @code{declare} builtin in @ref{Bash Builtins}).
|
||||
|
||||
A parameter is set if it has been assigned a value. The null string is
|
||||
a valid value. Once a variable is set, it may be unset only by using
|
||||
@@ -1105,13 +1117,15 @@ is not given, the variable is assigned the null string. All
|
||||
@var{value}s undergo tilde expansion, parameter and variable expansion,
|
||||
command substitution, arithmetic expansion, and quote
|
||||
removal (detailed below). If the variable has its @code{integer}
|
||||
attribute set (see the description of the @code{declare} builtin in
|
||||
@ref{Bash Builtins}), then @var{value}
|
||||
attribute set, then @var{value}
|
||||
is subject to arithmetic expansion even if the @code{$((@dots{}))}
|
||||
expansion is not used (@pxref{Arithmetic Expansion}).
|
||||
Word splitting is not performed, with the exception
|
||||
of @code{"$@@"} as explained below.
|
||||
Filename expansion is not performed.
|
||||
Assignment statements may also appear as arguments to the
|
||||
@code{declare}, @code{typeset}, @code{export}, @code{readonly},
|
||||
and @code{local} builtin commands.
|
||||
|
||||
@node Positional Parameters
|
||||
@subsection Positional Parameters
|
||||
@@ -1870,13 +1884,13 @@ File descriptor 2 is duplicated.
|
||||
|
||||
@item /dev/tcp/@var{host}/@var{port}
|
||||
If @var{host} is a valid hostname or Internet address, and @var{port}
|
||||
is an integer port number, Bash attempts to open a TCP connection
|
||||
to the corresponding socket.
|
||||
is an integer port number or service name, Bash attempts to open a TCP
|
||||
connection to the corresponding socket.
|
||||
|
||||
@item /dev/udp/@var{host}/@var{port}
|
||||
If @var{host} is a valid hostname or Internet address, and @var{port}
|
||||
is an integer port number, Bash attempts to open a UDP connection
|
||||
to the corresponding socket.
|
||||
is an integer port number or service name, Bash attempts to open a UDP
|
||||
connection to the corresponding socket.
|
||||
|
||||
@end table
|
||||
|
||||
@@ -2230,6 +2244,11 @@ commands that are invoked as part of a pipeline are also executed
|
||||
in a subshell environment. Changes made to the subshell environment
|
||||
cannot affect the shell's execution environment.
|
||||
|
||||
If a command is followed by a @samp{&} and job control is not active, the
|
||||
default standard input for the command is the empty file @file{/dev/null}.
|
||||
Otherwise, the invoked command inherits the file descriptors of the calling
|
||||
shell as modified by redirections.
|
||||
|
||||
@node Environment
|
||||
@subsection Environment
|
||||
@cindex environment
|
||||
@@ -2319,8 +2338,8 @@ command substitution ignore the keyboard-generated job control signals
|
||||
@code{SIGTTIN}, @code{SIGTTOU}, and @code{SIGTSTP}.
|
||||
|
||||
The shell exits by default upon receipt of a @code{SIGHUP}.
|
||||
Before exiting, it resends the @code{SIGHUP} to all jobs, running
|
||||
or stopped.
|
||||
Before exiting, an interactive shell resends the @code{SIGHUP} to
|
||||
all jobs, running or stopped.
|
||||
Stopped jobs are sent @code{SIGCONT} to ensure that they receive
|
||||
the @code{SIGHUP}.
|
||||
To prevent the shell from sending the @code{SIGHUP} signal to a
|
||||
@@ -2351,7 +2370,11 @@ a file is used as the first non-option argument when invoking Bash,
|
||||
and neither the @option{-c} nor @option{-s} option is supplied
|
||||
(@pxref{Invoking Bash}),
|
||||
Bash reads and executes commands from the file, then exits. This
|
||||
mode of operation creates a non-interactive shell. When Bash runs
|
||||
mode of operation creates a non-interactive shell. The shell first
|
||||
searches for the file in the current directory, and looks in the
|
||||
directories in @env{$PATH} if not found there.
|
||||
|
||||
When Bash runs
|
||||
a shell script, it sets the special parameter @code{0} to the name
|
||||
of the file, rather than the name of the shell, and the positional
|
||||
parameters are set to the remaining arguments, if any are given.
|
||||
@@ -2614,7 +2637,7 @@ If @code{getopts} is silent, then a colon (@samp{:}) is placed in
|
||||
@item hash
|
||||
@btindex hash
|
||||
@example
|
||||
hash [-r] [-p @var{filename}] [@var{name}]
|
||||
hash [-r] [-p @var{filename}] [-t] [@var{name}]
|
||||
@end example
|
||||
Remember the full pathnames of commands specified as @var{name} arguments,
|
||||
so they need not be searched for on subsequent invocations.
|
||||
@@ -2623,6 +2646,10 @@ The commands are found by searching through the directories listed in
|
||||
The @option{-p} option inhibits the path search, and @var{filename} is
|
||||
used as the location of @var{name}.
|
||||
The @option{-r} option causes the shell to forget all remembered locations.
|
||||
If the @option{-t} option is supplied, the full pathname to which each
|
||||
@var{name} corresponds is printed. If multiple @var{name} arguments are
|
||||
supplied with @option{-t} the @var{name} is printed before the hashed
|
||||
full pathname.
|
||||
If no arguments are given, information about remembered commands is printed.
|
||||
The return status is zero unless a @var{name} is not found or an invalid
|
||||
option is supplied.
|
||||
@@ -2671,7 +2698,7 @@ This may also be used to terminate execution of a script being executed
|
||||
with the @code{.} (or @code{source}) builtin, returning either @var{n} or
|
||||
the exit status of the last command executed within the script as the exit
|
||||
status of the script.
|
||||
The return status is false if @code{return} is used outside a function
|
||||
The return status is non-zero if @code{return} is used outside a function
|
||||
and not during the execution of a script by @code{.} or @code{source}.
|
||||
|
||||
@item shift
|
||||
@@ -2795,6 +2822,12 @@ 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
|
||||
after every simple command.
|
||||
If a @var{sigspec} is @code{ERR}, the command @var{arg}
|
||||
is executed whenever a simple command has a non-zero exit status.
|
||||
The @code{ERR} trap is not executed if the failed command is part of an
|
||||
@code{until} or @code{while} loop, part of an @code{if} statement,
|
||||
part of a @code{&&} or @code{||} list, or if the command's return
|
||||
status is being inverted using @code{!}.
|
||||
The @option{-l} option causes the shell to print a list of signal names
|
||||
and their corresponding numbers.
|
||||
|
||||
@@ -3074,11 +3107,11 @@ vertical tab
|
||||
@item \\
|
||||
backslash
|
||||
@item \@var{nnn}
|
||||
the character whose @code{ASCII} code is the octal value @var{nnn}
|
||||
(one to three digits)
|
||||
@item \x@var{nnn}
|
||||
the character whose @code{ASCII} code is the hexadecimal value @var{nnn}
|
||||
the eight-bit character whose value is the octal value @var{nnn}
|
||||
(one to three digits)
|
||||
@item \x@var{HH}
|
||||
the eight-bit character whose value is the hexadecimal value @var{HH}
|
||||
(one or two hex digits)
|
||||
@end table
|
||||
|
||||
@item enable
|
||||
@@ -3377,6 +3410,11 @@ If enabled, and the @code{cmdhist}
|
||||
option is enabled, multi-line commands are saved to the history with
|
||||
embedded newlines rather than using semicolon separators where possible.
|
||||
|
||||
@item login_shell
|
||||
The shell sets this option if it is started as a login shell
|
||||
(@pxref{Invoking Bash}).
|
||||
The value may not be changed.
|
||||
|
||||
@item mailwarn
|
||||
If set, and a file that Bash is checking for mail has been
|
||||
accessed since the last time it was checked, the message
|
||||
@@ -3531,7 +3569,10 @@ The maximum amount of virtual memory available to the process.
|
||||
|
||||
@end table
|
||||
|
||||
If @var{limit} is given, it is the new value of the specified resource.
|
||||
If @var{limit} is given, it is the new value of the specified resource;
|
||||
the special @var{limit} values @code{hard}, @code{soft}, and
|
||||
@code{unlimited} stand for the current hard limit, the current soft limit,
|
||||
and no limit, respectively.
|
||||
Otherwise, the current value of the soft limit for the specified resource
|
||||
is printed, unless the @option{-H} option is supplied.
|
||||
When setting new limits, if neither @option{-H} nor @option{-S} is supplied,
|
||||
@@ -3541,9 +3582,8 @@ increments, except for @option{-t}, which is in seconds, @option{-p},
|
||||
which is in units of 512-byte blocks, and @option{-n} and @option{-u}, which
|
||||
are unscaled values.
|
||||
|
||||
The return status is zero unless an invalid option is supplied, a
|
||||
non-numeric argument other than @code{unlimited} is supplied as a
|
||||
@var{limit}, or an error occurs while setting a new limit.
|
||||
The return status is zero unless an invalid option or argument is supplied,
|
||||
or an error occurs while setting a new limit.
|
||||
|
||||
@item unalias
|
||||
@btindex unalias
|
||||
@@ -3591,6 +3631,7 @@ with a non-zero status, unless the command that fails is part of an
|
||||
@code{until} or @code{while} loop, part of an @code{if} statement,
|
||||
part of a @code{&&} or @code{||} list, or if the command's return
|
||||
status is being inverted using @code{!}.
|
||||
A trap on @code{ERR}, if set, is executed before the shell exits.
|
||||
|
||||
@item -f
|
||||
Disable file name generation (globbing).
|
||||
@@ -3657,6 +3698,9 @@ Same as @code{-n}.
|
||||
@item noglob
|
||||
Same as @code{-f}.
|
||||
|
||||
@item nolog
|
||||
Currently ignored.
|
||||
|
||||
@item notify
|
||||
Same as @code{-b}.
|
||||
|
||||
@@ -3927,11 +3971,10 @@ The value of @env{MACHTYPE}.
|
||||
|
||||
@end table
|
||||
|
||||
@item COMP_WORDS
|
||||
An array variable consisting of the individual
|
||||
words in the current command line.
|
||||
This variable is available only in shell functions invoked by the
|
||||
programmable completion facilities (@pxref{Programmable Completion}).
|
||||
@item COLUMNS
|
||||
Used by the @code{select} builtin command to determine the terminal width
|
||||
when printing selection lists. Automatically set upon receipt of a
|
||||
@code{SIGWINCH}.
|
||||
|
||||
@item COMP_CWORD
|
||||
An index into @env{$@{COMP_WORDS@}} of the word containing the current
|
||||
@@ -3954,6 +3997,12 @@ This variable is available only in shell functions and external
|
||||
commands invoked by the
|
||||
programmable completion facilities (@pxref{Programmable Completion}).
|
||||
|
||||
@item COMP_WORDS
|
||||
An array variable consisting of the individual
|
||||
words in the current command line.
|
||||
This variable is available only in shell functions invoked by the
|
||||
programmable completion facilities (@pxref{Programmable Completion}).
|
||||
|
||||
@item COMPREPLY
|
||||
An array variable from which Bash reads the possible completions
|
||||
generated by a shell function invoked by the programmable completion
|
||||
@@ -3986,6 +4035,13 @@ A file name whose suffix matches one of the entries in
|
||||
is excluded from the list of matched file names. A sample
|
||||
value is @samp{.o:~}
|
||||
|
||||
@item FUNCNAME
|
||||
The name of any currently-executing shell function.
|
||||
This variable exists only when a shell function is executing.
|
||||
Assignments to @env{FUNCNAME} have no effect and return an error status.
|
||||
If @env{FUNCNAME} is unset, it loses its special properties, even if
|
||||
it is subsequently reset.
|
||||
|
||||
@item GLOBIGNORE
|
||||
A colon-separated list of patterns defining the set of filenames to
|
||||
be ignored by filename expansion.
|
||||
@@ -4019,13 +4075,6 @@ The history number, or index in the history list, of the current
|
||||
command. If @env{HISTCMD} is unset, it loses its special properties,
|
||||
even if it is subsequently reset.
|
||||
|
||||
@item FUNCNAME
|
||||
The name of any currently-executing shell function.
|
||||
This variable exists only when a shell function is executing.
|
||||
Assignments to @env{FUNCNAME} have no effect and return an error status.
|
||||
If @env{FUNCNAME} is unset, it loses its special properties, even if
|
||||
it is subsequently reset.
|
||||
|
||||
@item HISTCONTROL
|
||||
A value of @samp{ignorespace} means to not enter lines which
|
||||
begin with a space or tab into the history list.
|
||||
@@ -4038,6 +4087,18 @@ The second and subsequent lines of a multi-line compound command are
|
||||
not tested, and are added to the history regardless of the value of
|
||||
@env{HISTCONTROL}.
|
||||
|
||||
@item HISTFILE
|
||||
The name of the file to which the command history is saved. The
|
||||
default value is @file{~/.bash_history}.
|
||||
|
||||
@item HISTFILESIZE
|
||||
The maximum number of lines contained in the history file. When this
|
||||
variable is assigned a value, the history file is truncated, if
|
||||
necessary, to contain no more than that number of lines.
|
||||
The history file is also truncated to this size after
|
||||
writing it when an interactive shell exits.
|
||||
The default value is 500.
|
||||
|
||||
@item HISTIGNORE
|
||||
A colon-separated list of patterns used to decide which command
|
||||
lines should be saved on the history list. Each pattern is
|
||||
@@ -4058,22 +4119,10 @@ pattern of @samp{[ ]*} is identical to @code{ignorespace}.
|
||||
Combining these two patterns, separating them with a colon,
|
||||
provides the functionality of @code{ignoreboth}.
|
||||
|
||||
@item HISTFILE
|
||||
The name of the file to which the command history is saved. The
|
||||
default value is @file{~/.bash_history}.
|
||||
|
||||
@item HISTSIZE
|
||||
The maximum number of commands to remember on the history list.
|
||||
The default value is 500.
|
||||
|
||||
@item HISTFILESIZE
|
||||
The maximum number of lines contained in the history file. When this
|
||||
variable is assigned a value, the history file is truncated, if
|
||||
necessary, to contain no more than that number of lines.
|
||||
The history file is also truncated to this size after
|
||||
writing it when an interactive shell exits.
|
||||
The default value is 500.
|
||||
|
||||
@item HOSTFILE
|
||||
Contains the name of a file in the same format as @file{/etc/hosts} that
|
||||
should be read when the shell needs to complete a hostname.
|
||||
@@ -4133,19 +4182,14 @@ strings preceded by a @samp{$} (@pxref{Locale Translation}).
|
||||
@item LC_NUMERIC
|
||||
This variable determines the locale category used for number formatting.
|
||||
|
||||
@item LINENO
|
||||
The line number in the script or shell function currently executing.
|
||||
|
||||
@item LINES
|
||||
Used by the @code{select} builtin command to determine the column length
|
||||
for printing selection lists. Automatically set upon receipt of a
|
||||
@code{SIGWINCH}.
|
||||
|
||||
@item COLUMNS
|
||||
Used by the @code{select} builtin command to determine the terminal width
|
||||
when printing selection lists. Automatically set upon receipt of a
|
||||
@code{SIGWINCH}.
|
||||
|
||||
@item LINENO
|
||||
The line number in the script or shell function currently executing.
|
||||
|
||||
@item MACHTYPE
|
||||
A string that fully describes the system type on which Bash
|
||||
is executing, in the standard @sc{gnu} @var{cpu-company-system} format.
|
||||
@@ -4174,6 +4218,18 @@ containing a list of exit status values from the processes
|
||||
in the most-recently-executed foreground pipeline (which may
|
||||
contain only a single command).
|
||||
|
||||
@item POSIXLY_CORRECT
|
||||
If this variable is in the environment when @code{bash} starts, the shell
|
||||
enters @sc{posix} mode (@pxref{Bash POSIX Mode}) before reading the
|
||||
startup files, as if the @option{--posix} invocation option had been supplied.
|
||||
If it is set while the shell is running, @code{bash} enables @sc{posix} mode,
|
||||
as if the command
|
||||
@example
|
||||
@code{set -o posix}
|
||||
@end example
|
||||
@noindent
|
||||
had been executed.
|
||||
|
||||
@item PPID
|
||||
The process @sc{id} of the shell's parent process. This variable
|
||||
is readonly.
|
||||
@@ -4310,9 +4366,9 @@ This section describes features unique to Bash.
|
||||
@section Invoking Bash
|
||||
|
||||
@example
|
||||
bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @var{option}] [@var{argument} @dots{}]
|
||||
bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @var{option}] -c @var{string} [@var{argument} @dots{}]
|
||||
bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @var{option}] [@var{argument} @dots{}]
|
||||
bash [long-opt] [-ir] [-abefhkmnptuvxdBCDHP] [-o @var{option}] [-O @var{shopt_option}] [@var{argument} @dots{}]
|
||||
bash [long-opt] [-abefhkmnptuvxdBCDHP] [-o @var{option}] [-O @var{shopt_option}] -c @var{string} [@var{argument} @dots{}]
|
||||
bash [long-opt] -s [-abefhkmnptuvxdBCDHP] [-o @var{option}] [-O @var{shopt_option}] [@var{argument} @dots{}]
|
||||
@end example
|
||||
|
||||
In addition to the single-character shell command-line options
|
||||
@@ -4414,6 +4470,16 @@ are subject to language translation when the current locale
|
||||
is not @code{C} or @code{POSIX} (@pxref{Locale Translation}).
|
||||
This implies the @option{-n} option; no commands will be executed.
|
||||
|
||||
@item [-+]O [@var{shopt_option}]
|
||||
@var{shopt_option} is one of the shell options accepted by the
|
||||
@code{shopt} builtin (@pxref{Shell Builtin Commands}).
|
||||
If @var{shopt_option} is present, @option{-O} sets the value of that option;
|
||||
@option{+O} unsets it.
|
||||
If @var{shopt_option} is not supplied, the names and values of the shell
|
||||
options accepted by @code{shopt} are printed on the standard output.
|
||||
If the invocation option is @option{+O}, the output is displayed in a format
|
||||
that may be reused as input.
|
||||
|
||||
@item --
|
||||
A @code{--} signals the end of options and disables further option
|
||||
processing.
|
||||
@@ -4421,6 +4487,10 @@ Any arguments after the @code{--} are treated as filenames and arguments.
|
||||
|
||||
@end table
|
||||
|
||||
@cindex login shell
|
||||
A @emph{login} shell is one whose first character of argument zero is
|
||||
@samp{-}, or one invoked with the @option{--login} option.
|
||||
|
||||
@cindex interactive shell
|
||||
An @emph{interactive} shell is one started without non-option arguments,
|
||||
unless @option{-s} is specified,
|
||||
@@ -4930,7 +5000,7 @@ is a decimal number between 2 and 64 representing the arithmetic
|
||||
base, and @var{n} is a number in that base. If @var{base}@code{#} is
|
||||
omitted, then base 10 is used.
|
||||
The digits greater than 9 are represented by the lowercase letters,
|
||||
the uppercase letters, @samp{_}, and @samp{@@}, in that order.
|
||||
the uppercase letters, @samp{@@}, and @samp{_}, in that order.
|
||||
If @var{base} is less than or equal to 36, lowercase and uppercase
|
||||
letters may be used interchangably to represent numbers between 10
|
||||
and 35.
|
||||
@@ -5065,7 +5135,7 @@ Referencing an array variable without a subscript is equivalent to
|
||||
referencing element zero.
|
||||
|
||||
The @code{unset} builtin is used to destroy arrays.
|
||||
@code{unset} @var{name[subscript]}
|
||||
@code{unset} @var{name}[@var{subscript}]
|
||||
destroys the array element at index @var{subscript}.
|
||||
@code{unset} @var{name}, where @var{name} is an array, removes the
|
||||
entire array. A subscript of @samp{*} or @samp{@@} also removes the
|
||||
@@ -5230,6 +5300,8 @@ The time, in 24-hour HH:MM:SS format.
|
||||
The time, in 12-hour HH:MM:SS format.
|
||||
@item \@@
|
||||
The time, in 12-hour am/pm format.
|
||||
@item \A
|
||||
The time, in 24-hour HH:MM format.
|
||||
@item \u
|
||||
The username of the current user.
|
||||
@item \v
|
||||
@@ -5462,6 +5534,10 @@ Alias expansion is always enabled, even in non-interactive shells.
|
||||
When the @code{set} builtin is invoked without options, it does not display
|
||||
shell function names and definitions.
|
||||
|
||||
@item
|
||||
When the @code{set} builtin is invoked without options, it displays
|
||||
variable values without quotes, unless they contain shell metacharacters,
|
||||
even if the result contains nonprinting characters.
|
||||
@end enumerate
|
||||
|
||||
There is other @sc{posix} 1003.2 behavior that Bash does not implement.
|
||||
@@ -5585,9 +5661,11 @@ job 1 in the background, equivalent to @samp{bg %1}
|
||||
The shell learns immediately whenever a job changes state.
|
||||
Normally, Bash waits until it is about to print a prompt
|
||||
before reporting changes in a job's status so as to not interrupt
|
||||
any other output. If the
|
||||
the @option{-b} option to the @code{set} builtin is enabled,
|
||||
any other output.
|
||||
If the @option{-b} option to the @code{set} builtin is enabled,
|
||||
Bash reports such changes immediately (@pxref{The Set Builtin}).
|
||||
Any trap on @code{SIGCHLD} is executed for each child process
|
||||
that exits.
|
||||
|
||||
If an attempt to exit Bash is while jobs are stopped, the
|
||||
shell prints a message warning that there are stopped jobs.
|
||||
@@ -5867,18 +5945,9 @@ The file @file{configure.in} is used to create @code{configure}
|
||||
by a program called Autoconf. You only need
|
||||
@file{configure.in} if you want to change it or regenerate
|
||||
@code{configure} using a newer version of Autoconf. If
|
||||
you do this, make sure you are using Autoconf version 2.10 or
|
||||
you do this, make sure you are using Autoconf version 2.50 or
|
||||
newer.
|
||||
|
||||
If you need to change @file{configure.in} or regenerate
|
||||
@code{configure}, you will need to create two files:
|
||||
@file{_distribution} and @file{_patchlevel}. @file{_distribution}
|
||||
should contain the major and minor version numbers of the Bash
|
||||
distribution, for example @samp{2.01}. @file{_patchlevel} should
|
||||
contain the patch level of the Bash distribution, @samp{0} for
|
||||
example. The script @file{support/mkconffiles} has been provided
|
||||
to automate the creation of these files.
|
||||
|
||||
You can remove the program binaries and object files from the
|
||||
source code directory by typing @samp{make clean}. To also remove the
|
||||
files that @code{configure} created (so you can compile Bash for
|
||||
@@ -5947,7 +6016,9 @@ directories for other architectures.
|
||||
By default, @samp{make install} will install into
|
||||
@file{/usr/local/bin}, @file{/usr/local/man}, etc. You can
|
||||
specify an installation prefix other than @file{/usr/local} by
|
||||
giving @code{configure} the option @option{--prefix=@var{PATH}}.
|
||||
giving @code{configure} the option @option{--prefix=@var{PATH}},
|
||||
or by specifying a value for the @code{DESTDIR} @samp{make}
|
||||
variable when running @samp{make install}.
|
||||
|
||||
You can specify separate installation prefixes for
|
||||
architecture-specific files and architecture-independent files.
|
||||
@@ -5960,13 +6031,13 @@ Documentation and other data files will still use the regular prefix.
|
||||
@section Specifying the System Type
|
||||
|
||||
There may be some features @code{configure} can not figure out
|
||||
automatically, but needs to determine by the type of host Bash
|
||||
automatically, but need to determine by the type of host Bash
|
||||
will run on. Usually @code{configure} can figure that
|
||||
out, but if it prints a message saying it can not guess the host
|
||||
type, give it the @option{--host=TYPE} option. @samp{TYPE} can
|
||||
either be a short name for the system type, such as @samp{sun4},
|
||||
or a canonical name with three fields: @samp{CPU-COMPANY-SYSTEM}
|
||||
(e.g., @samp{sparc-sun-sunos4.1.2}).
|
||||
(e.g., @samp{i386-unknown-freebsd4.2}).
|
||||
|
||||
See the file @file{support/config.sub} for the possible
|
||||
values of each field.
|
||||
@@ -6052,22 +6123,24 @@ Use the curses library instead of the termcap library. This should
|
||||
be supplied if your system has an inadequate or incomplete termcap
|
||||
database.
|
||||
|
||||
@item --with-glibc-malloc
|
||||
Use the @sc{gnu} libc version of @code{malloc} in
|
||||
@file{lib/malloc/gmalloc.c}. This is not the version of @code{malloc}
|
||||
that appears in glibc version 2, but a modified version of the
|
||||
@code{malloc} from glibc version 1. This is somewhat slower than the
|
||||
default @code{malloc}, but wastes less space on a per-allocation
|
||||
basis, and will return memory to the operating system under
|
||||
certain circumstances.
|
||||
|
||||
@item --with-gnu-malloc
|
||||
A synonym for @code{--with-bash-malloc}.
|
||||
|
||||
@item --with-installed-readline
|
||||
@item --with-installed-readline[=@var{PREFIX}]
|
||||
Define this to make Bash link with a locally-installed version of Readline
|
||||
rather than the version in @file{lib/readline}. This works only with
|
||||
Readline 4.1 and later versions.
|
||||
Readline 4.2 and later versions. If @var{PREFIX} is @code{yes} or not
|
||||
supplied, @code{configure} uses the values of the make variables
|
||||
@code{includedir} and @code{libdir}, which are subdirectories of @code{prefix}
|
||||
by default, to find the installed version of Readline if it is not in
|
||||
the standard system include and library directories.
|
||||
If @var{PREFIX} is @code{no}, Bash links with the version in
|
||||
@file{lib/readline}.
|
||||
If @var{PREFIX} is set to any other value, @code{configure} treats it as
|
||||
a directory pathname and looks for
|
||||
the installed version of Readline in subdirectories of that directory
|
||||
(include files in @var{PREFIX}/@code{include} and the library in
|
||||
@var{PREFIX}/@code{lib}).
|
||||
|
||||
@item --with-purify
|
||||
Define this to use the Purify memory allocation checker from Rational
|
||||
@@ -6082,6 +6155,11 @@ There are several @option{--enable-} options that alter how Bash is
|
||||
compiled and linked, rather than changing run-time features.
|
||||
|
||||
@table @code
|
||||
@item --enable-largefile
|
||||
Enable support for @uref{http://www.sas.com/standards/large_file/x_open.20Mar96.html,
|
||||
large files} if the operating system requires special compiler options
|
||||
to build programs which can access large files.
|
||||
|
||||
@item --enable-profiling
|
||||
This builds a Bash binary that produces profiling information to be
|
||||
processed by @code{gprof} each time it is executed.
|
||||
@@ -6533,7 +6611,8 @@ executed with the @code{.} or @code{source} builtins
|
||||
|
||||
@item
|
||||
Bash includes the @code{shopt} builtin, for finer control of shell
|
||||
optional capabilities (@pxref{Bash Builtins}).
|
||||
optional capabilities (@pxref{Bash Builtins}), and allows these options
|
||||
to be set and unset at shell invocation (@pxref{Invoking Bash}).
|
||||
|
||||
@item
|
||||
Bash has much more optional behavior controllable with the @code{set}
|
||||
@@ -6545,11 +6624,17 @@ is slightly different, as it implements the @sc{posix} algorithm,
|
||||
which specifies the behavior based on the number of arguments.
|
||||
|
||||
@item
|
||||
The @code{trap} builtin (@pxref{Bourne Shell Builtins})
|
||||
allows a @code{DEBUG} pseudo-signal specification,
|
||||
similar to @code{EXIT}. Commands specified with a @code{DEBUG} trap are
|
||||
executed after every simple command. The @code{DEBUG} trap is not
|
||||
inherited by shell functions.
|
||||
The @code{trap} builtin (@pxref{Bourne Shell Builtins}) allows a
|
||||
@code{DEBUG} pseudo-signal specification, similar to @code{EXIT}.
|
||||
Commands specified with a @code{DEBUG} trap are executed after every
|
||||
simple command.
|
||||
The @code{DEBUG} trap is not inherited by shell functions.
|
||||
|
||||
The @code{trap} builtin (@pxref{Bourne Shell Builtins}) allows an
|
||||
@code{ERR} pseudo-signal specification, similar to @code{EXIT} and @code{DEBUG}.
|
||||
Commands specified with an @code{ERR} trap are executed after a simple
|
||||
command fails, with a few exceptions.
|
||||
The @code{ERR} trap is not inherited by shell functions.
|
||||
|
||||
@item
|
||||
The Bash @code{type} builtin is more extensive and gives more information
|
||||
|
||||
Reference in New Issue
Block a user