[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [bash manual] suggestions, fixes, license
From: |
Aaron S. Hawley |
Subject: |
Re: [bash manual] suggestions, fixes, license |
Date: |
Thu, 12 Jun 2003 15:34:03 -0400 (EDT) |
sorry, here's the patch:
*** bashref.texi 2003-06-11 17:27:38-04 1.1
--- bashref.texi 2003-06-12 15:17:09-04
***************
*** 17,34 ****
@finalout
@end iftex
- @setchapternewpage odd
@defcodeindex bt
@defcodeindex rw
@set BashFeatures
! @ifinfo
! @dircategory Utilities
@direntry
! * Bash: (bash). The GNU Bourne-Again SHell.
@end direntry
! @format
This text is a brief description of the features that are present in
the Bash shell.
--- 17,32 ----
@finalout
@end iftex
@defcodeindex bt
@defcodeindex rw
@set BashFeatures
! @dircategory Basics
@direntry
! * Bash: (bash). The GNU Bourne-Again SHell.
@end direntry
! @copying
This text is a brief description of the features that are present in
the Bash shell.
***************
*** 36,65 ****
of @cite{The GNU Bash Reference Manual},
for @code{Bash}, Version @value{VERSION}.
! Copyright (C) 1991-2002 Free Software Foundation, Inc.
! Permission is granted to make and distribute verbatim copies of
! this manual provided the copyright notice and this permission notice
! are preserved on all copies.
!
! @ignore
! Permission is granted to process this file through TeX and print the
! results, provided the printed document carries copying permission
! notice identical to this one except for the removal of this paragraph
! (this paragraph not being relevant to the printed manual).
!
! @end ignore
! Permission is granted to copy and distribute modified versions of this
! manual under the conditions for verbatim copying, provided that the entire
! resulting derived work is distributed under the terms of a permission
! notice identical to this one.
!
! Permission is granted to copy and distribute translations of this manual
! into another language, under the above conditions for modified versions,
! except that this permission notice may be stated in a translation approved
! by the Free Software Foundation.
! @end format
! @end ifinfo
@titlepage
@title Bash Reference Manual
--- 34,55 ----
of @cite{The GNU Bash Reference Manual},
for @code{Bash}, Version @value{VERSION}.
! Copyright (C) 1991-2003 Free Software Foundation, Inc.
! @quotation
! Permission is granted to copy, distribute and/or modify this document
! under the terms of the GNU Free Documentation License, Version 1.1 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 included in the section entitled ``GNU Free Documentation
! License.''
!
! (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
! this GNU Manual, like GNU software. Copies published by the Free
! Software Foundation raise funds for GNU development.''
! @end quotation
! @end copying
@titlepage
@title Bash Reference Manual
***************
*** 70,98 ****
@author Brian Fox, Free Software Foundation
@page
@vskip 0pt plus 1filll
! Copyright @copyright{} 1991-2002 Free Software Foundation, Inc.
!
! Permission is granted to make and distribute verbatim copies of
! this manual provided the copyright notice and this permission notice
! are preserved on all copies.
!
! Permission is granted to copy and distribute modified versions of this
! manual under the conditions for verbatim copying, provided that the entire
! resulting derived work is distributed under the terms of a permission
! notice identical to this one.
!
! Permission is granted to copy and distribute translations of this manual
! into another language, under the above conditions for modified versions,
! except that this permission notice may be stated in a translation approved
! by the Free Software Foundation.
@end titlepage
! @ifinfo
@node Top, Introduction, (dir), (dir)
@top Bash Features
! @end ifinfo
! @ifinfo
This text is a brief description of the features that are present in
the Bash shell.
--- 60,74 ----
@author Brian Fox, Free Software Foundation
@page
@vskip 0pt plus 1filll
! @insertcopying
@end titlepage
! @ifnottex
@node Top, Introduction, (dir), (dir)
@top Bash Features
! @end ifnottex
! @ifnottex
This text is a brief description of the features that are present in
the Bash shell.
***************
*** 145,150 ****
--- 121,128 ----
between Bash and historical
versions of /bin/sh.
+ * GNU Free Documentation License:: License for copying this manual.
+
* Builtin Index:: Index of Bash builtin commands.
* Reserved Word Index:: Index of Bash reserved words.
***************
*** 157,163 ****
* Concept Index:: General index for concepts described in
this manual.
@end menu
! @end ifinfo
@node Introduction
@chapter Introduction
--- 135,141 ----
* Concept Index:: General index for concepts described in
this manual.
@end menu
! @end ifnottex
@node Introduction
@chapter Introduction
***************
*** 174,183 ****
for the @sc{gnu} operating system.
The name is an acronym for the @samp{Bourne-Again SHell},
a pun on Stephen Bourne, the author of the direct ancestor of
! the current Unix shell @code{/bin/sh},
which appeared in the Seventh Edition Bell Labs Research version
of Unix.
Bash is largely compatible with @code{sh} and incorporates useful
features from the Korn shell @code{ksh} and the C shell @code{csh}.
It is intended to be a conformant implementation of the @sc{ieee}
--- 152,165 ----
for the @sc{gnu} operating system.
The name is an acronym for the @samp{Bourne-Again SHell},
a pun on Stephen Bourne, the author of the direct ancestor of
! the current Unix shell @code{sh},
which appeared in the Seventh Edition Bell Labs Research version
of Unix.
+ Bash was originally written by Brian Fox of the Free Software
+ Foundation. The current developer and maintainer is Chet Ramey
+ of Case Western Reserve University.
+
Bash is largely compatible with @code{sh} and incorporates useful
features from the Korn shell @code{ksh} and the C shell @code{csh}.
It is intended to be a conformant implementation of the @sc{ieee}
***************
*** 185,243 ****
It offers functional improvements over @code{sh} for both interactive and
programming use.
! While the @sc{gnu} operating system provides other shells, including
! a version of @code{csh}, Bash is the default shell.
! Like other @sc{gnu} software, Bash is quite portable. It currently runs
! on nearly every version of Unix and a few other operating systems @minus{}
! independently-supported ports exist for @sc{ms-dos}, @sc{os/2},
! Windows @sc{95/98}, and Windows @sc{nt}.
@node What is a shell?
@section What is a shell?
! At its base, a shell is simply a macro processor that executes
! commands. A Unix shell is both a command interpreter, which
! provides the user interface to the rich set of @sc{gnu} utilities,
! and a programming language, allowing these utilitites to be
! combined. Files containing commands can be created, and become
! commands themselves. These new commands have the same status as
! system commands in directories such as @file{/bin}, allowing users
! or groups to establish custom environments.
!
! A shell allows execution of @sc{gnu} commands, both synchronously and
! asynchronously.
! The shell waits for synchronous commands to complete before accepting
! more input; asynchronous commands continue to execute in parallel
! with the shell while it reads and executes additional commands.
! The @dfn{redirection} constructs permit
! fine-grained control of the input and output of those commands.
! Moreover, the shell allows control over the contents of commands'
! environments.
! Shells may be used interactively or non-interactively: they accept
! input typed from the keyboard or from a file.
!
! Shells also provide a small set of built-in
! commands (@dfn{builtins}) implementing functionality impossible
! or inconvenient to obtain via separate utilities.
! For example, @code{cd}, @code{break}, @code{continue}, and
! @code{exec}) cannot be implemented outside of the shell because
! they directly manipulate the shell itself.
! The @code{history}, @code{getopts}, @code{kill}, or @code{pwd}
! builtins, among others, could be implemented in separate utilities,
! but they are more convenient to use as builtin commands.
! All of the shell builtins are described in
! subsequent sections.
While executing commands is essential, most of the power (and
complexity) of shells is due to their embedded programming
languages. Like any high-level language, the shell provides
variables, flow control constructs, quoting, and functions.
! Shells offer features geared specifically for
! interactive use rather than to augment the programming language.
! These interactive features include job control, command line
! editing, history and aliases. Each of these features is
! described in this manual.
@node Definitions
@chapter Definitions
--- 167,235 ----
It offers functional improvements over @code{sh} for both interactive and
programming use.
! While the @sc{gnu} operating system provides other shells, including a
! version of @code{csh}, Bash is the default shell. Like other @sc{gnu}
! software, Bash is quite portable. It currently runs on nearly every
! version of Unix and a few other operating systems @minus{}
! independently-supported ports exist for @sc{ms-dos}, @sc{os/2}, Mac
! @sc{OS X} and Windows platforms.
@node What is a shell?
@section What is a shell?
! At its base, a shell is simply a macro processor that executes commands.
! A macro processor, an increasingly broad term, is generally recognized
! as a functionality where text and symbols are expanded to create larger
! expressions. This aspect of shells decreases the necessary typing by
! humans.
!
! A shell in Unix (and the @sc{gnu} system) is both a command interpreter
! and a programming language. As a command interpreter the shell provides
! the user interface to the rich set of @sc{gnu} utilities. As a
! programming language these utilitites can be combined in to single
! tasks.
!
! The shell programming language code and commands can be placed in files.
! The files containing shell commands can be created, and become commands
! themselves. These new commands have the same status as other system
! commands in directories such as @file{/bin}. Users or groups are
! consequently able to establish custom environments for their common
! tasks.
!
! Shells may be used interactively or non-interactively. They can wait
! patiently for input typed from the keyboard or quickly process commands
! from a file. Non-interactive use is also called ``batch'' processing,
! because batches of commands are executed.
!
! Beyond improving human interaction with computers, shells provide
! control over command execution. A shell allows execution of @sc{gnu}
! commands, both synchronously and asynchronously. The shell waits for
! synchronous commands to complete before accepting more input;
! asynchronous commands continue to execute in parallel with the shell
! while the shell reads and executes additional commands.
!
! Shells provide control over the input and outputs of commands. The
! @dfn{redirection} constructs permit fine-grained control of the input
! and output of those commands. Moreover, the shell allows control over
! the contents of a command's environment.
!
! Shells also provide a small set of built-in commands (@dfn{builtins})
! implementing functionality impossible or inconvenient to obtain via
! separate utilities. For example, @code{cd}, @code{break},
! @code{continue}, and @code{exec}) cannot be implemented outside of the
! shell because they directly manipulate the shell itself. The
! @code{history}, @code{getopts}, @code{kill}, or @code{pwd} builtins,
! among others, could be implemented in separate utilities, but they are
! more convenient to use as builtin commands.
While executing commands is essential, most of the power (and
complexity) of shells is due to their embedded programming
languages. Like any high-level language, the shell provides
variables, flow control constructs, quoting, and functions.
! Shells offer features geared specifically for interactive use rather
! than to augment the programming language. These interactive features
! include job control, command line editing, history and aliases.
@node Definitions
@chapter Definitions
***************
*** 247,253 ****
@item POSIX
@cindex POSIX
! A family of open system standards based on Unix. Bash
is concerned with @sc{posix} 1003.2, the Shell and Tools Standard.
@item blank
--- 239,245 ----
@item POSIX
@cindex POSIX
! A family of open system standards based on UNIX. Bash
is concerned with @sc{posix} 1003.2, the Shell and Tools Standard.
@item blank
***************
*** 310,315 ****
--- 302,314 ----
A @code{control operator} or a @code{redirection operator}.
@xref{Redirections}, for a list of redirection operators.
+ @item pipeline
+ @cindex pipeline
+ @cindex commands, pipelines
+
+ A @code{pipeline} is a sequence of simple commands separated by
+ @samp{|}.
+
@item process group
@cindex process group
A collection of related processes each having the same process
***************
*** 357,364 ****
Bash is an acronym for @samp{Bourne-Again SHell}.
The Bourne shell is
the traditional Unix shell originally written by Stephen Bourne.
! All of the Bourne shell builtin commands are available in Bash,
! and the rules for evaluation and quoting are taken from the @sc{posix}
1003.2 specification for the `standard' Unix shell.
This chapter briefly summarizes the shell's `building blocks':
--- 356,363 ----
Bash is an acronym for @samp{Bourne-Again SHell}.
The Bourne shell is
the traditional Unix shell originally written by Stephen Bourne.
! All of the Bourne shell builtin commands are available in Bash.
! The rules for evaluation and quoting are taken from the @sc{posix}
1003.2 specification for the `standard' Unix shell.
This chapter briefly summarizes the shell's `building blocks':
***************
*** 623,633 ****
@subsection Simple Commands
@cindex commands, simple
! A simple command is the kind of command encountered most often.
! It's just a sequence of words separated by @code{blank}s, terminated
by one of the shell's control operators (@pxref{Definitions}). The
! first word generally specifies a command to be executed, with the
! rest of the words being that command's arguments.
The return status (@pxref{Exit Status}) of a simple command is
its exit status as provided
--- 622,632 ----
@subsection Simple Commands
@cindex commands, simple
! A simple command is the kind of command encountered most often. It is
! recognized as a sequence of words separated by @code{blank}s, terminated
by one of the shell's control operators (@pxref{Definitions}). The
! first word generally specifies a command to be executed, with the rest
! of the words being that command's arguments.
The return status (@pxref{Exit Status}) of a simple command is
its exit status as provided
***************
*** 5942,5949 ****
the various supported platforms. The distribution supports the
@sc{gnu} operating systems, nearly every version of Unix, and several
non-Unix systems such as BeOS and Interix.
! Other independent ports exist for
! @sc{ms-dos}, @sc{os/2}, Windows @sc{95/98}, and Windows @sc{nt}.
@menu
* Basic Installation:: Installation instructions.
--- 5941,5948 ----
the various supported platforms. The distribution supports the
@sc{gnu} operating systems, nearly every version of Unix, and several
non-Unix systems such as BeOS and Interix.
! Other independent ports exist for @sc{ms-dos}, @sc{os/2}, Mac
! @sc{OS X} and Windows platforms.
@menu
* Basic Installation:: Installation instructions.
***************
*** 6475,6481 ****
Bash has one-dimensional array variables (@pxref{Arrays}), and the
appropriate variable expansions and assignment syntax to use them.
Several of the Bash builtins take options to act on arrays.
! Bash provides a number of built-in array variables.
@item
The @code{$'@dots{}'} quoting syntax, which expands ANSI-C
--- 6474,6480 ----
Bash has one-dimensional array variables (@pxref{Arrays}), and the
appropriate variable expansions and assignment syntax to use them.
Several of the Bash builtins take options to act on arrays.
! Bash provides a number of builtin array variables.
@item
The @code{$'@dots{}'} quoting syntax, which expands ANSI-C
***************
*** 6840,6845 ****
--- 6839,6848 ----
The SVR4.2 shell behaves differently when invoked as @code{jsh}
(it turns on job control).
@end itemize
+
+ @appendix Copying This Manual
+
+ @include fdl.texi
@node Builtin Index
@unnumbered Index of Shell Builtin Commands
bashref.texi-suggestions.diff-c
Description: Text document