Advanced Bash-Scripting Guide
Edition: Revision 10
Publisher: The Linux Document Project
Published: 10 Mar 2014
Language: eng
Format: Web Book
Description: This tutorial assumes no previous knowledge of scripting or programming, yet progresses rapidly toward an intermediate/advanced level of instruction . . . *all the while sneaking in little nuggets of UNIX® wisdom and lore.* It serves as a textbook, a manual for self-study, and as a reference and source of knowledge on shell scripting techniques. The exercises and heavily-commented examples invite active reader participation, under the premise that **the only way to really learn scripting is to write scripts.**

This book is suitable for classroom use as a general introduction to programming concepts.

This document is herewith granted to the Public Domain. **No copyright!**
Table of contents: label: Part 1
title: Introduction; label: Chapter 1
title: Shell Programming; label: Chapter 2
title: Starting Off With a Sha-Bang; label: Part 2
title: Basics; label: Chapter 3
title: Special Characters; label: Chapter 4
title: Introduction to Variables and Parameters; label: Chapter 5
title: Quoting; label: Chapter 6
title: Exit and Exit Status; label: Chapter 7
title: Tests; label: Chapter 8
title: Operations and Related Topics; label: Part 3
title: Beyond the Basics; label: Chapter 9
title: Another Look at Variables; label: Chapter 10
title: Manipulating Variables; label: Chapter 11
title: Loops and Branches; label: Chapter 12
title: Command Substitution; label: Chapter 13
title: Arithmetic Expansion; label: Chapter 14
title: Recess Time; label: Part 4
title: Commands; label: Chapter 15
title: Internal Commands and Builtins; label: Chapter 16
title: External Filters, Programs and Commands; label: Chapter 17
title: System and Administrative Commands; label: Part 5
title: Advanced Topics; label: Chapter 18
title: Regular Expressions; label: Chapter 19
title: Here Documents; label: Chapter 20
title: I/O Redirection; label: Chapter 21
title: Subshells; label: Chapter 22
title: Restricted Shells; label: Chapter 23
title: Process Substitution; label: Chapter 24
title: Functions; label: Chapter 25
title: Aliases; label: Chapter 26
title: List Constructs; label: Chapter 27
title: Arrays; label: Chapter 28
title: Indirect References; label: Chapter 29
title: /dev and /proc; label: Chapter 30
title: Network Programming; label: Chapter 31
title: Of Zeros and Nulls; label: Chapter 32
title: Debugging; label: Chapter 33
title: Options; label: Chapter 34
title: Gotchas; label: Chapter 35
title: Scripting With Style; label: Chapter 36
title: Miscellany; label: Chapter 37
title: Bash, Versions 2, 3, and 4; label: Chapter 38
title: Endnotes; label: 38.1
title: Author's Note; label: 38.2
title: About the Author; label: 38.3
title: Where to Go For Help; label: 38.4
title: Tools Used to Produce This Book; label: 38.5
title: Credits; label: 38.6
title: Disclaimer; title: Bibliography; label: Appendix A
title: Contributed Scripts; label: Appendix B
title: Reference Cards; label: Appendix C
title: A Sed and Awk Micro-Primer; label: C.1
title: Sed; label: C.2
title: Awk; label: Appendix D
title: Parsing and Managing Pathnames; label: Appendix E
title: Exit Codes With Special Meanings; label: Appendix F
title: A Detailed Introduction to I/O and I/O Redirection; label: Appendix G
title: Command-Line Options; label: G.1
title: Standard Command-Line Options; label: G.2
title: Bash Command-Line Options; label: Appendix H
title: Important Files; label: Appendix I
title: Important System Directories; label: Appendix J
title: An Introduction to Programmable Completion; label: Appendix K
title: Localization; label: Appendix L
title: History Commands; label: Appendix M
title: Sample .bashrc and .bash_profile Files; label: Appendix N
title: Converting DOS Batch Files to Shell Scripts; label: Appendix O
title: Exercises; label: O.1
title: Analyzing Scripts; label: O.2
title: Writing Scripts; label: Appendix P
title: Revision History; label: Appendix Q
title: Download and Mirror Sites; label: Appendix R
title: To Do List; label: Appendix S
title: Copyright; label: Appendix T
title: ASCII Table; title: Index