You’d like to read more about bash but don’t know where to start.
Well you’re reading this book, which is a great place to start! The other O’Reilly books about bash and shell scripting are: Learning the bash Shell by Cameron Newham (O’Reilly) and Classic Shell Scripting by Nelson H.F. Beebe and Arnold Robbins (O’Reilly).
Unfortunately, the official bash documentation has not been easily accessible online—until now! Previously, you had to download several different tarballs, locate all the files that contain documentation, and then decipher the file names to find what you wanted.
Now, our companion web site (http://www.bashcookbook.com/) has done all this work for you and provides the official bash reference documentation online so it’s easy to refer to.
Check it out, and refer others to it as needed.
Official documentation The official bash FAQ is at: ftp://ftp.cwru.edu/pub/bash/FAQ. See especially “H2)
What kind of bash documentation is there?” The official reference guide is also strongly recommended; see below for details.
Chet Ramey’s (the current bash maintainer) bash page (called bashtop) contains a ton of very useful information (http://tiswww.tis.case.edu/~chet/bash/bashtop.html).
Chet also maintains the following (listed in bashtop):
README
A file describing bash: http://tiswww.tis.case.edu/chet/bash/README
NEWS
A file tersely listing the notable changes between the current and previous versions http://tiswww.tis.case.edu/chet/bash/NEWS
CHANGES
A complete bash change history: http://tiswww.tis.case.edu/chet/bash/CHANGES
INSTALL
Installation instructions: http://tiswww.tis.case.edu/chet/bash/INSTALL
NOTES
Platform-specific configuration and operation notes: http://tiswww.tis.case.edu/chet/bash/NOTES
COMPAT
Compatibility issues between bash3 and bash1:
The latest bash source code and documentation are always available at: http://ftp.gnu.org/gnu/bash/.
We highly recommend downloading both the source and the documentation even if you are using prepackaged binaries.
Here is a brief list of the documentation. See Appendix B for an index of the included examples and source code. See the source tarball’s ./doc directory, for example: http://ftp.gnu.org/gnu/bash/bash-3.1.tar.gz, bash-3.1/doc:
.FAQ
A set of frequently asked questions about bash with answers
.INTRO
A short introduction to bash
article.ms
An article Chet wrote about bash for The Linux Journal
bash.1
The bash manpage
bashbug.1
The bashbug manpage
builtins.1
A manpage that documents the built-ins extracted from bash.1
bashref.texi
The “bash reference manual”
bashref.info
The “bash reference manual” processed by “makeinfo”
rbash.1
The restricted bash shell manpage
readline.3
The readline manpage
The .ps files are postscript versions of the above. The .html files are HTML versions of the manpage and reference manual.
The .0 files are formatted manual pages. The .txt versions are ASCII—the output of groff -Tascii.
In the document tarball, for example: http://ftp.gnu.org/gnu/bash/bash-doc-3.1.tar.gz, bash-doc-3.1:
bash.0
The bash manpage (formatted)(also PDF, ps, HTML)
bashbug.0
The bashbug manpage (formatted)
bashref
The Bash Reference Guide (also PDF, ps, HTML, dvi)
builtins.0
The built-ins manpage (formatted)
.rbash.0
The restricted bash shell manpage (formatted)
• The Advanced Bash-Scripting Guide at http://www.tldp.org/LDP/abs/html/index. html and http://www.tldp.org/LDP/abs/abs-guide.pdf
• Writing Shell Scripts at http://www.linuxcommand.org/writing_shell_scripts.php
• BASH Programming – Introduction HOW-TO at http://www.tldp.org/HOWTO/ Bash-Prog-Intro-HOWTO.html
• Bash Guide for Beginners at http://www.tldp.org/LDP/Bash-Beginners-Guide/html/ and http://www.tldp.org/LDP/Bash-Beginners-Guide/Bash-Beginners-Guide.pdf
• The Bash Prompt HOWTO at http://www.tldp.org/HOWTO/Bash-Prompt- HOWTO/index.html
• Very old, but still useful: UNIX shell differences and how to change your shell at http://www.faqs.org/faqs/unix-faq/shell/shell-differences/
• [Apple’s] Shell Scripting Primer at http://developer.apple.com/documentation/ OpenSource/Conceptual/ShellScripting/