Adding upstream version 5.2.37.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
This commit is contained in:
parent
cf91100bce
commit
fa1b3d3922
1435 changed files with 757174 additions and 0 deletions
187
doc/INTRO
Normal file
187
doc/INTRO
Normal file
|
@ -0,0 +1,187 @@
|
|||
BASH - The Bourne-Again Shell
|
||||
|
||||
Bash is the shell, or command language interpreter, that will appear
|
||||
in the GNU operating system. Bash is an sh-compatible shell that
|
||||
incorporates useful features from the Korn shell (ksh) and C shell
|
||||
(csh). It is intended to conform to the IEEE POSIX P1003.2/ISO 9945.2
|
||||
Shell and Tools standard. It offers functional improvements over sh
|
||||
for both programming and interactive use. In addition, most sh scripts
|
||||
can be run by Bash without modification.
|
||||
|
||||
Bash is quite portable. It uses a configuration system that discovers
|
||||
characteristics of the compilation platform at build time, and may
|
||||
therefore be built on nearly every version of UNIX. Ports to
|
||||
UNIX-like systems such as QNX and Minix and to non-UNIX systems such
|
||||
as OS/2, Windows 95, and Windows NT are available.
|
||||
|
||||
Bash includes the following features:
|
||||
|
||||
Editing and Completion
|
||||
|
||||
Bash offers a command-line editing facility which permits users to
|
||||
edit command lines using familiar emacs or vi-style editing commands.
|
||||
Editing allows corrections to be made without having to erase back
|
||||
to the point of error or start the command line anew. The editing
|
||||
facilities include a feature that allows users to complete command and
|
||||
file names.
|
||||
|
||||
The Bash line editing library is fully customizable. Users may define
|
||||
their own key bindings -- the action taken when a key is pressed. A
|
||||
number of variables to fine-tune editing behavior are also available.
|
||||
|
||||
History and Command Re-entry
|
||||
|
||||
The Bash history feature remembers commands entered to the shell and
|
||||
allows them to be recalled and re-executed. The history list may be
|
||||
of unlimited size. Bash allows users to search for previous commands
|
||||
and reuse portions of those commands when composing new ones. The
|
||||
history list may be saved across shell sessions.
|
||||
|
||||
Bash allows users to control which commands are saved on the history
|
||||
list.
|
||||
|
||||
Job Control
|
||||
|
||||
On systems that support it, Bash provides an interface to the
|
||||
operating system's job control facilities, which allow processes
|
||||
to be suspended and restarted, and moved between the foreground
|
||||
and background. Bash allows users to selectively `forget' about
|
||||
background jobs.
|
||||
|
||||
Shell Functions and Aliases
|
||||
|
||||
These mechanisms are available to bind a user-selected identifier to a
|
||||
list of commands that will be executed when the identifier is used as
|
||||
a command name. Functions allow local variables and recursion, and
|
||||
have access to the environment of the calling shell. Aliases may be
|
||||
used to create a mnemonic for a command name, expand a single word to
|
||||
a complex command, or ensure that a command is called with a basic set
|
||||
of options.
|
||||
|
||||
Arrays
|
||||
|
||||
Bash-2.0 supports indexed arrays of unlimited size. The subscript for
|
||||
an array is an arithmetic expression. Arrays may be assigned to with
|
||||
a new compound assignment syntax, and several builtins have options to
|
||||
operate on array variables. Bash includes a number of built-in array
|
||||
variables.
|
||||
|
||||
Arithmetic
|
||||
|
||||
Bash allows users to perform integer arithmetic in any base from two
|
||||
to sixty-four. Nearly all of the C language arithmetic operators are
|
||||
available with the same syntax and precedence as in C. Arithmetic
|
||||
expansion allows an arithmetic expression to be evaluated and the
|
||||
result substituted into the command line. Shell variables can be used
|
||||
as operands, and the value of an expression may be assigned to a
|
||||
variable.
|
||||
|
||||
An arithmetic expression may be used as a command; the exit status of
|
||||
the command is the value of the expression.
|
||||
|
||||
ANSI-C Quoting
|
||||
|
||||
There is a new quoting syntax that allows backslash-escaped characters
|
||||
in strings to be expanded according to the ANSI C standard.
|
||||
|
||||
Tilde Expansion
|
||||
|
||||
Users' home directories may be expanded using this feature. Words
|
||||
beginning with a tilde may also be expanded to the current or previous
|
||||
working directory.
|
||||
|
||||
Brace Expansion
|
||||
|
||||
Brace expansion is a convenient way to generate a list of strings that
|
||||
share a common prefix or suffix.
|
||||
|
||||
Substring Capabilities
|
||||
|
||||
Bash allows new strings to be created by removing leading or trailing
|
||||
substrings from existing variable values, or by specifying a starting
|
||||
offset and length. Portions of variable values may be matched against
|
||||
shell patterns and the matching portion removed or a new value
|
||||
substituted.
|
||||
|
||||
Indirect Variable Expansion
|
||||
|
||||
Bash makes it easy to find the value of a shell variable whose name is
|
||||
the value of another variable.
|
||||
|
||||
Expanded I/O Capabilities
|
||||
|
||||
Bash provides several input and output features not available in sh,
|
||||
including the ability to:
|
||||
|
||||
o specify a file or file descriptor for both input and output
|
||||
o read from or write to asynchronous processes using named pipes
|
||||
o read lines ending in backslash
|
||||
o display a prompt on the terminal before a read
|
||||
o format menus and interpret responses to them
|
||||
o echo lines exactly as input without escape processing
|
||||
|
||||
Control of Builtin Commands
|
||||
|
||||
Bash implements several builtin commands to give users more control
|
||||
over which commands are executed. The enable builtin allows other
|
||||
builtin commands to be selectively enabled or disabled. The command
|
||||
and builtin builtins change the order in which the shell searches for
|
||||
commands.
|
||||
|
||||
On systems that provide dynamic loading, new builtins may be loaded
|
||||
into a running shell from a shared object file. These new builtins
|
||||
have access to all of the shell facilities.
|
||||
|
||||
Help
|
||||
|
||||
Bash includes a built-in help facility.
|
||||
|
||||
Shell Optional Behavior
|
||||
|
||||
There is a great deal of customizable shell behavior. The shopt
|
||||
builtin command provides a unified interface that allows users to
|
||||
alter shell defaults.
|
||||
|
||||
Prompt Customization
|
||||
|
||||
Bash allows the primary and secondary prompts to be customized by
|
||||
interpreting a number of backslash-escaped special characters.
|
||||
Parameter and variable expansion is also performed on the values of
|
||||
the primary and secondary prompt strings before they are displayed.
|
||||
|
||||
Security
|
||||
|
||||
Bash provides a restricted shell environment. It is also possible to
|
||||
control the execution of setuid/setgid scripts.
|
||||
|
||||
Directory Stack
|
||||
|
||||
Bash provides a `directory stack', to which directories may be added
|
||||
and removed. The current directory may be changed to any directory in
|
||||
the stack. It is easy to toggle between two directories in the stack.
|
||||
The directory stack may be saved and restored across different shell
|
||||
invocations.
|
||||
|
||||
POSIX Mode
|
||||
|
||||
Bash is nearly completely conformant to POSIX.2. POSIX mode changes
|
||||
those few areas where the Bash default behavior differs from the
|
||||
standard to match the standard. In POSIX mode, Bash is POSIX.2
|
||||
compliant.
|
||||
|
||||
Internationalization
|
||||
|
||||
Bash provides a new quoting syntax that allows strings to be
|
||||
translated according to the current locale. The locale in which the
|
||||
shell itself runs may also be changed, so that the shell messages
|
||||
themselves may be language-specific.
|
||||
|
||||
The command-line editing facilities allow the input of eight-bit
|
||||
characters, so most of the ISO-8859 family of character sets are
|
||||
supported.
|
||||
|
||||
Command Timing
|
||||
|
||||
Bash allows external commands, shell builtin commands and shell functions
|
||||
to be timed. The format used to display the timing information may be
|
||||
changed by the user.
|
Loading…
Add table
Add a link
Reference in a new issue