aboutsummaryrefslogtreecommitdiffstats
path: root/doc/INTRO
diff options
context:
space:
mode:
Diffstat (limited to 'doc/INTRO')
-rw-r--r--doc/INTRO187
1 files changed, 187 insertions, 0 deletions
diff --git a/doc/INTRO b/doc/INTRO
new file mode 100644
index 0000000..29f208a
--- /dev/null
+++ b/doc/INTRO
@@ -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.