Advanced Bash-Scripting GuideorderPart 1. {Introduction}1. {Why do I need shell programming?}2. {#! To get started}2.1. {Executing a script}2.2. {Preliminary Exercises}Part 2. {Basic steps}3. {Exit and Exit Status}4. {Special characters}5. {variable and parameter introduction}5.1. {Variable Substitution}5.2. {Variable Assignment}5.3. {Bash variable is untyped}5.4. {Special variable type}6. {Quoting}7. {Test}7.1. {Test Constructs}7.2. {File test operator}7.3. {Comparison operator (binary)}7.4. {Nested if / then condition test}7.5. {Test how you understand the test statement}8. {Operations and Related Topics}8.1. {Operators}8.2. {Numerical Constants}Part 3. {Beyond the Basics}9. {Variables Revisited}9.1. {Internal Variables}9.2. {String manipulation}9.3. {Parameter Substitution}9.4. {Specify variable type: declare or typeset}9.5. {Variable indirect reference}9.6. {$ RANDOM: Create a random integer}9.7. {The Double Parentheses Construct}10. {Loops and Branches}10.1. {Loop}10.2. {Nested loops}10.3. {Loop control}10.4. {Testing and Branching}11. {Internal Commands and Builtins}11.1. {Job control command}12. {External filter, program, command}12.1. {Basic command}12.2. {Complex Instructions}12.3. {Time / date command}12.4. {Text processing instruction}12.5. {File, archive command}12.6. {Communication command}12.7. {Terminal control command}12.8. {Math instruction}12.9. {Other command}13. {System and Administrator Commands}14. {Command Substitution}15. {Arithmetic Expansion}16. {I / O Redirection}16.1. {write exec}16.2. {Code block redirection}16.3. {Applications}17. {Here Documents}18. {Go to the top}Part 4. {Advanced Topics}19. {Regular Expressions}19.1. {Brief introduction of regular expressions}19.2. {Globbing}20. {Subshells}21. {Restricted Shells}22. {Process Substitution}23. {function}23.1. {Complex Functions and Function Complexities}23.2. {Local Variables and Recursion}24. {Aliases}25. {List Constructs}26. {array}27. {files}28. {/ dev and / proc}28.1. {/ dev}28.2. {/ proc}29. Of Zeros and Nulls30. {Debug}31. {OPTION}32. {Some dirty things (Gotchas)}33. {Script with style}33.1. {Unofficial shell scripting style sheet}34. {Nutty things}34.1. {Interactive and non-interactive mode shells and scripts}34.2. {Shell Wrappers}34.3. {Compare to test: another way}34.4. {optimization}34.5. {Assorted Tips}34.6. {Oddities}34.7. {Portability Issues}34.8. {Shell scripting on Windows}35. {Bash, version 2}36. {Endnotes}36.1. {Authors Note}36.2. {About the author}36.3. {The tools I used to make this book}36.3.1. {hardware}36.3.2. {Software and printware}36.4. {CREDIT}