commit bash-20090319 snapshot

This commit is contained in:
Chet Ramey
2011-12-08 20:06:56 -05:00
parent 1231ac4798
commit c302751c7b
99 changed files with 43003 additions and 25662 deletions
+137 -137
View File
@@ -1,137 +1,137 @@
\chapentry{Introduction}{1}{1}
\secentry{What is Bash?}{1}{1}{1}
\secentry{What is a shell?}{1}{2}{1}
\chapentry{Definitions}{2}{3}
\chapentry{Basic Shell Features}{3}{5}
\secentry{Shell Syntax}{3}{1}{5}
\subsecentry{Shell Operation}{3}{1}{1}{5}
\subsecentry{Quoting}{3}{1}{2}{5}
\subsubsecentry{Escape Character}{3}{1}{2}{1}{6}
\subsubsecentry{Single Quotes}{3}{1}{2}{2}{6}
\subsubsecentry{Double Quotes}{3}{1}{2}{3}{6}
\subsubsecentry{ANSI-C Quoting}{3}{1}{2}{4}{6}
\subsubsecentry{Locale-Specific Translation}{3}{1}{2}{5}{7}
\subsecentry{Comments}{3}{1}{3}{7}
\secentry{Shell Commands}{3}{2}{7}
\subsecentry{Simple Commands}{3}{2}{1}{8}
\subsecentry{Pipelines}{3}{2}{2}{8}
\subsecentry{Lists of Commands}{3}{2}{3}{9}
\subsecentry{Compound Commands}{3}{2}{4}{9}
\subsubsecentry{Looping Constructs}{3}{2}{4}{1}{9}
\subsubsecentry{Conditional Constructs}{3}{2}{4}{2}{10}
\subsubsecentry{Grouping Commands}{3}{2}{4}{3}{13}
\subsecentry{Coprocesses}{3}{2}{5}{14}
\secentry{Shell Functions}{3}{3}{14}
\secentry{Shell Parameters}{3}{4}{16}
\subsecentry{Positional Parameters}{3}{4}{1}{16}
\subsecentry{Special Parameters}{3}{4}{2}{16}
\secentry{Shell Expansions}{3}{5}{17}
\subsecentry{Brace Expansion}{3}{5}{1}{18}
\subsecentry{Tilde Expansion}{3}{5}{2}{19}
\subsecentry{Shell Parameter Expansion}{3}{5}{3}{20}
\subsecentry{Command Substitution}{3}{5}{4}{22}
\subsecentry{Arithmetic Expansion}{3}{5}{5}{23}
\subsecentry{Process Substitution}{3}{5}{6}{23}
\subsecentry{Word Splitting}{3}{5}{7}{24}
\subsecentry{Filename Expansion}{3}{5}{8}{24}
\subsubsecentry{Pattern Matching}{3}{5}{8}{1}{25}
\subsecentry{Quote Removal}{3}{5}{9}{26}
\secentry{Redirections}{3}{6}{26}
\subsecentry{Redirecting Input}{3}{6}{1}{27}
\subsecentry{Redirecting Output}{3}{6}{2}{27}
\subsecentry{Appending Redirected Output}{3}{6}{3}{27}
\subsecentry{Redirecting Standard Output and Standard Error}{3}{6}{4}{28}
\subsecentry{Appending Standard Output and Standard Error}{3}{6}{5}{28}
\subsecentry{Here Documents}{3}{6}{6}{28}
\subsecentry{Here Strings}{3}{6}{7}{29}
\subsecentry{Duplicating File Descriptors}{3}{6}{8}{29}
\subsecentry{Moving File Descriptors}{3}{6}{9}{29}
\subsecentry{Opening File Descriptors for Reading and Writing}{3}{6}{10}{29}
\secentry{Executing Commands}{3}{7}{30}
\subsecentry{Simple Command Expansion}{3}{7}{1}{30}
\subsecentry{Command Search and Execution}{3}{7}{2}{30}
\subsecentry{Command Execution Environment}{3}{7}{3}{31}
\subsecentry{Environment}{3}{7}{4}{32}
\subsecentry{Exit Status}{3}{7}{5}{32}
\subsecentry{Signals}{3}{7}{6}{33}
\secentry{Shell Scripts}{3}{8}{34}
\chapentry{Shell Builtin Commands}{4}{35}
\secentry{Bourne Shell Builtins}{4}{1}{35}
\secentry{Bash Builtin Commands}{4}{2}{41}
\secentry{Modifying Shell Behavior}{4}{3}{50}
\subsecentry{The Set Builtin}{4}{3}{1}{50}
\subsecentry{The Shopt Builtin}{4}{3}{2}{54}
\secentry{Special Builtins}{4}{4}{59}
\chapentry{Shell Variables}{5}{61}
\secentry{Bourne Shell Variables}{5}{1}{61}
\secentry{Bash Variables}{5}{2}{61}
\chapentry{Bash Features}{6}{71}
\secentry{Invoking Bash}{6}{1}{71}
\secentry{Bash Startup Files}{6}{2}{73}
\secentry{Interactive Shells}{6}{3}{75}
\subsecentry{What is an Interactive Shell?}{6}{3}{1}{75}
\subsecentry{Is this Shell Interactive?}{6}{3}{2}{75}
\subsecentry{Interactive Shell Behavior}{6}{3}{3}{75}
\secentry{Bash Conditional Expressions}{6}{4}{76}
\secentry{Shell Arithmetic}{6}{5}{78}
\secentry{Aliases}{6}{6}{79}
\secentry{Arrays}{6}{7}{80}
\secentry{The Directory Stack}{6}{8}{81}
\subsecentry{Directory Stack Builtins}{6}{8}{1}{82}
\secentry{Controlling the Prompt}{6}{9}{83}
\secentry{The Restricted Shell}{6}{10}{84}
\secentry{Bash POSIX Mode}{6}{11}{85}
\chapentry{Job Control}{7}{89}
\secentry{Job Control Basics}{7}{1}{89}
\secentry{Job Control Builtins}{7}{2}{90}
\secentry{Job Control Variables}{7}{3}{92}
\chapentry{Command Line Editing}{8}{93}
\secentry{Introduction to Line Editing}{8}{1}{93}
\secentry{Readline Interaction}{8}{2}{93}
\subsecentry{Readline Bare Essentials}{8}{2}{1}{93}
\subsecentry{Readline Movement Commands}{8}{2}{2}{94}
\subsecentry{Readline Killing Commands}{8}{2}{3}{94}
\subsecentry{Readline Arguments}{8}{2}{4}{95}
\subsecentry{Searching for Commands in the History}{8}{2}{5}{95}
\secentry{Readline Init File}{8}{3}{96}
\subsecentry{Readline Init File Syntax}{8}{3}{1}{96}
\subsecentry{Conditional Init Constructs}{8}{3}{2}{102}
\subsecentry{Sample Init File}{8}{3}{3}{103}
\secentry{Bindable Readline Commands}{8}{4}{106}
\subsecentry{Commands For Moving}{8}{4}{1}{106}
\subsecentry{Commands For Manipulating The History}{8}{4}{2}{107}
\subsecentry{Commands For Changing Text}{8}{4}{3}{108}
\subsecentry{Killing And Yanking}{8}{4}{4}{109}
\subsecentry{Specifying Numeric Arguments}{8}{4}{5}{110}
\subsecentry{Letting Readline Type For You}{8}{4}{6}{110}
\subsecentry{Keyboard Macros}{8}{4}{7}{112}
\subsecentry{Some Miscellaneous Commands}{8}{4}{8}{112}
\secentry{Readline vi Mode}{8}{5}{114}
\secentry{Programmable Completion}{8}{6}{115}
\secentry{Programmable Completion Builtins}{8}{7}{116}
\chapentry{Using History Interactively}{9}{121}
\secentry{Bash History Facilities}{9}{1}{121}
\secentry{Bash History Builtins}{9}{2}{121}
\secentry{History Expansion}{9}{3}{123}
\subsecentry{Event Designators}{9}{3}{1}{123}
\subsecentry{Word Designators}{9}{3}{2}{124}
\subsecentry{Modifiers}{9}{3}{3}{125}
\chapentry{Installing Bash}{10}{127}
\secentry{Basic Installation}{10}{1}{127}
\secentry{Compilers and Options}{10}{2}{127}
\secentry{Compiling For Multiple Architectures}{10}{3}{128}
\secentry{Installation Names}{10}{4}{128}
\secentry{Specifying the System Type}{10}{5}{128}
\secentry{Sharing Defaults}{10}{6}{129}
\secentry{Operation Controls}{10}{7}{129}
\secentry{Optional Features}{10}{8}{129}
\appendixentry{Reporting Bugs}{A}{135}
\appendixentry{Major Differences From The Bourne Shell}{B}{137}
\secentry{Implementation Differences From The SVR4.2 Shell}{B}{1}{141}
\appendixentry{GNU Free Documentation License}{C}{143}
\appendixentry{Indexes}{D}{151}
\secentry{Index of Shell Builtin Commands}{D}{1}{151}
\secentry{Index of Shell Reserved Words}{D}{2}{152}
\secentry{Parameter and Variable Index}{D}{3}{152}
\secentry{Function Index}{D}{4}{154}
\secentry{Concept Index}{D}{5}{156}
@numchapentry{Introduction}{1}{Introduction}{1}
@numsecentry{What is Bash?}{1.1}{What is Bash?}{1}
@numsecentry{What is a shell?}{1.2}{What is a shell?}{1}
@numchapentry{Definitions}{2}{Definitions}{3}
@numchapentry{Basic Shell Features}{3}{Basic Shell Features}{5}
@numsecentry{Shell Syntax}{3.1}{Shell Syntax}{5}
@numsubsecentry{Shell Operation}{3.1.1}{Shell Operation}{5}
@numsubsecentry{Quoting}{3.1.2}{Quoting}{6}
@numsubsubsecentry{Escape Character}{3.1.2.1}{Escape Character}{6}
@numsubsubsecentry{Single Quotes}{3.1.2.2}{Single Quotes}{6}
@numsubsubsecentry{Double Quotes}{3.1.2.3}{Double Quotes}{6}
@numsubsubsecentry{ANSI-C Quoting}{3.1.2.4}{ANSI-C Quoting}{6}
@numsubsubsecentry{Locale-Specific Translation}{3.1.2.5}{Locale Translation}{7}
@numsubsecentry{Comments}{3.1.3}{Comments}{7}
@numsecentry{Shell Commands}{3.2}{Shell Commands}{7}
@numsubsecentry{Simple Commands}{3.2.1}{Simple Commands}{8}
@numsubsecentry{Pipelines}{3.2.2}{Pipelines}{8}
@numsubsecentry{Lists of Commands}{3.2.3}{Lists}{8}
@numsubsecentry{Compound Commands}{3.2.4}{Compound Commands}{9}
@numsubsubsecentry{Looping Constructs}{3.2.4.1}{Looping Constructs}{9}
@numsubsubsecentry{Conditional Constructs}{3.2.4.2}{Conditional Constructs}{10}
@numsubsubsecentry{Grouping Commands}{3.2.4.3}{Command Grouping}{13}
@numsubsecentry{Coprocesses}{3.2.5}{Coprocesses}{13}
@numsecentry{Shell Functions}{3.3}{Shell Functions}{14}
@numsecentry{Shell Parameters}{3.4}{Shell Parameters}{15}
@numsubsecentry{Positional Parameters}{3.4.1}{Positional Parameters}{16}
@numsubsecentry{Special Parameters}{3.4.2}{Special Parameters}{16}
@numsecentry{Shell Expansions}{3.5}{Shell Expansions}{17}
@numsubsecentry{Brace Expansion}{3.5.1}{Brace Expansion}{18}
@numsubsecentry{Tilde Expansion}{3.5.2}{Tilde Expansion}{18}
@numsubsecentry{Shell Parameter Expansion}{3.5.3}{Shell Parameter Expansion}{19}
@numsubsecentry{Command Substitution}{3.5.4}{Command Substitution}{22}
@numsubsecentry{Arithmetic Expansion}{3.5.5}{Arithmetic Expansion}{23}
@numsubsecentry{Process Substitution}{3.5.6}{Process Substitution}{23}
@numsubsecentry{Word Splitting}{3.5.7}{Word Splitting}{23}
@numsubsecentry{Filename Expansion}{3.5.8}{Filename Expansion}{24}
@numsubsubsecentry{Pattern Matching}{3.5.8.1}{Pattern Matching}{24}
@numsubsecentry{Quote Removal}{3.5.9}{Quote Removal}{25}
@numsecentry{Redirections}{3.6}{Redirections}{25}
@numsubsecentry{Redirecting Input}{3.6.1}{}{26}
@numsubsecentry{Redirecting Output}{3.6.2}{}{27}
@numsubsecentry{Appending Redirected Output}{3.6.3}{}{27}
@numsubsecentry{Redirecting Standard Output and Standard Error}{3.6.4}{}{27}
@numsubsecentry{Appending Standard Output and Standard Error}{3.6.5}{}{27}
@numsubsecentry{Here Documents}{3.6.6}{}{27}
@numsubsecentry{Here Strings}{3.6.7}{}{28}
@numsubsecentry{Duplicating File Descriptors}{3.6.8}{}{28}
@numsubsecentry{Moving File Descriptors}{3.6.9}{}{28}
@numsubsecentry{Opening File Descriptors for Reading and Writing}{3.6.10}{}{29}
@numsecentry{Executing Commands}{3.7}{Executing Commands}{29}
@numsubsecentry{Simple Command Expansion}{3.7.1}{Simple Command Expansion}{29}
@numsubsecentry{Command Search and Execution}{3.7.2}{Command Search and Execution}{29}
@numsubsecentry{Command Execution Environment}{3.7.3}{Command Execution Environment}{30}
@numsubsecentry{Environment}{3.7.4}{Environment}{31}
@numsubsecentry{Exit Status}{3.7.5}{Exit Status}{31}
@numsubsecentry{Signals}{3.7.6}{Signals}{32}
@numsecentry{Shell Scripts}{3.8}{Shell Scripts}{33}
@numchapentry{Shell Builtin Commands}{4}{Shell Builtin Commands}{35}
@numsecentry{Bourne Shell Builtins}{4.1}{Bourne Shell Builtins}{35}
@numsecentry{Bash Builtin Commands}{4.2}{Bash Builtins}{41}
@numsecentry{Modifying Shell Behavior}{4.3}{Modifying Shell Behavior}{51}
@numsubsecentry{The Set Builtin}{4.3.1}{The Set Builtin}{51}
@numsubsecentry{The Shopt Builtin}{4.3.2}{The Shopt Builtin}{55}
@numsecentry{Special Builtins}{4.4}{Special Builtins}{59}
@numchapentry{Shell Variables}{5}{Shell Variables}{61}
@numsecentry{Bourne Shell Variables}{5.1}{Bourne Shell Variables}{61}
@numsecentry{Bash Variables}{5.2}{Bash Variables}{61}
@numchapentry{Bash Features}{6}{Bash Features}{71}
@numsecentry{Invoking Bash}{6.1}{Invoking Bash}{71}
@numsecentry{Bash Startup Files}{6.2}{Bash Startup Files}{73}
@numsecentry{Interactive Shells}{6.3}{Interactive Shells}{74}
@numsubsecentry{What is an Interactive Shell?}{6.3.1}{What is an Interactive Shell?}{75}
@numsubsecentry{Is this Shell Interactive?}{6.3.2}{Is this Shell Interactive?}{75}
@numsubsecentry{Interactive Shell Behavior}{6.3.3}{Interactive Shell Behavior}{75}
@numsecentry{Bash Conditional Expressions}{6.4}{Bash Conditional Expressions}{76}
@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{78}
@numsecentry{Aliases}{6.6}{Aliases}{79}
@numsecentry{Arrays}{6.7}{Arrays}{80}
@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{81}
@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{81}
@numsecentry{Controlling the Prompt}{6.9}{Printing a Prompt}{82}
@numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{84}
@numsecentry{Bash POSIX Mode}{6.11}{Bash POSIX Mode}{84}
@numchapentry{Job Control}{7}{Job Control}{87}
@numsecentry{Job Control Basics}{7.1}{Job Control Basics}{87}
@numsecentry{Job Control Builtins}{7.2}{Job Control Builtins}{88}
@numsecentry{Job Control Variables}{7.3}{Job Control Variables}{90}
@numchapentry{Command Line Editing}{8}{Command Line Editing}{91}
@numsecentry{Introduction to Line Editing}{8.1}{Introduction and Notation}{91}
@numsecentry{Readline Interaction}{8.2}{Readline Interaction}{91}
@numsubsecentry{Readline Bare Essentials}{8.2.1}{Readline Bare Essentials}{92}
@numsubsecentry{Readline Movement Commands}{8.2.2}{Readline Movement Commands}{92}
@numsubsecentry{Readline Killing Commands}{8.2.3}{Readline Killing Commands}{93}
@numsubsecentry{Readline Arguments}{8.2.4}{Readline Arguments}{93}
@numsubsecentry{Searching for Commands in the History}{8.2.5}{Searching}{93}
@numsecentry{Readline Init File}{8.3}{Readline Init File}{94}
@numsubsecentry{Readline Init File Syntax}{8.3.1}{Readline Init File Syntax}{94}
@numsubsecentry{Conditional Init Constructs}{8.3.2}{Conditional Init Constructs}{100}
@numsubsecentry{Sample Init File}{8.3.3}{Sample Init File}{100}
@numsecentry{Bindable Readline Commands}{8.4}{Bindable Readline Commands}{103}
@numsubsecentry{Commands For Moving}{8.4.1}{Commands For Moving}{103}
@numsubsecentry{Commands For Manipulating The History}{8.4.2}{Commands For History}{104}
@numsubsecentry{Commands For Changing Text}{8.4.3}{Commands For Text}{105}
@numsubsecentry{Killing And Yanking}{8.4.4}{Commands For Killing}{106}
@numsubsecentry{Specifying Numeric Arguments}{8.4.5}{Numeric Arguments}{107}
@numsubsecentry{Letting Readline Type For You}{8.4.6}{Commands For Completion}{107}
@numsubsecentry{Keyboard Macros}{8.4.7}{Keyboard Macros}{109}
@numsubsecentry{Some Miscellaneous Commands}{8.4.8}{Miscellaneous Commands}{109}
@numsecentry{Readline vi Mode}{8.5}{Readline vi Mode}{111}
@numsecentry{Programmable Completion}{8.6}{Programmable Completion}{112}
@numsecentry{Programmable Completion Builtins}{8.7}{Programmable Completion Builtins}{113}
@numchapentry{Using History Interactively}{9}{Using History Interactively}{119}
@numsecentry{Bash History Facilities}{9.1}{Bash History Facilities}{119}
@numsecentry{Bash History Builtins}{9.2}{Bash History Builtins}{119}
@numsecentry{History Expansion}{9.3}{History Interaction}{121}
@numsubsecentry{Event Designators}{9.3.1}{Event Designators}{121}
@numsubsecentry{Word Designators}{9.3.2}{Word Designators}{122}
@numsubsecentry{Modifiers}{9.3.3}{Modifiers}{123}
@numchapentry{Installing Bash}{10}{Installing Bash}{125}
@numsecentry{Basic Installation}{10.1}{Basic Installation}{125}
@numsecentry{Compilers and Options}{10.2}{Compilers and Options}{126}
@numsecentry{Compiling For Multiple Architectures}{10.3}{Compiling For Multiple Architectures}{126}
@numsecentry{Installation Names}{10.4}{Installation Names}{126}
@numsecentry{Specifying the System Type}{10.5}{Specifying the System Type}{126}
@numsecentry{Sharing Defaults}{10.6}{Sharing Defaults}{127}
@numsecentry{Operation Controls}{10.7}{Operation Controls}{127}
@numsecentry{Optional Features}{10.8}{Optional Features}{127}
@appentry{Reporting Bugs}{A}{Reporting Bugs}{133}
@appentry{Major Differences From The Bourne Shell}{B}{Major Differences From The Bourne Shell}{135}
@appsecentry{Implementation Differences From The SVR4.2 Shell}{B.1}{}{139}
@appentry{GNU Free Documentation License}{C}{GNU Free Documentation License}{141}
@appentry{Indexes}{D}{Indexes}{149}
@appsecentry{Index of Shell Builtin Commands}{D.1}{Builtin Index}{149}
@appsecentry{Index of Shell Reserved Words}{D.2}{Reserved Word Index}{150}
@appsecentry{Parameter and Variable Index}{D.3}{Variable Index}{150}
@appsecentry{Function Index}{D.4}{Function Index}{152}
@appsecentry{Concept Index}{D.5}{Concept Index}{154}