At this point, we are ready to delve into certain of the
difficult and unusual aspects of scripting. Along the way, we
will attempt to “push the envelope” in various
ways and examine boundary conditions
(what happens when we move into uncharted territory?).
Table of Contents
- 18. Regular Expressions
- 1. A Brief Introduction to Regular Expressions
- 2. Globbing
- 19. Here Documents
- 1. Here Strings
- 20. I/O Redirection
- 1. Using exec
- 2. Redirecting Code Blocks
- 3. Applications
- 21. Subshells
- 22. Restricted Shells
- 23. Process Substitution
- 24. Functions
- 1. Complex Functions and Function Complexities
- 2. Local Variables
- 2.1. Local variables and recursion.
- 3. Recursion Without Local Variables
- 25. Aliases
- 26. List Constructs
- 27. Arrays
- 28. Indirect References
- 29.
/dev
and /proc
- 1.
/dev
- 2.
/proc
- 30. Network Programming
- 31. Of Zeros and Nulls
- 32. Debugging
- 33. Options
- 34. Gotchas
- 35. Scripting With Style
- 1. Unofficial Shell Scripting Stylesheet
- 36. Miscellany
- 1. Interactive and non-interactive shells and scripts
- 2. Shell Wrappers
- 3. Tests and Comparisons: Alternatives
- 4. Recursion: a script calling itself
- 5. “Colorizing” Scripts
- 6. Optimizations
- 7. Assorted Tips
- 7.1. Ideas for more powerful scripts
- 7.2. Widgets
- 8. Security Issues
- 8.1. Infected Shell Scripts
- 8.2. Hiding Shell Script Source
- 8.3. Writing Secure Shell Scripts
- 9. Portability Issues
- 9.1. A Test Suite
- 10. Shell Scripting Under Windows
- 37. Bash, versions 2, 3, and 4
- 1. Bash, version 2
- 2. Bash, version 3
- 2.1. Bash, version 3.1
- 2.2. Bash, version 3.2
- 3. Bash, version 4
- 3.1. Bash, version 4.1
- 3.2. Bash, version 4.2