We’ve all heard of shell programming, but in the end what we
write are simple scripts composed of strung-together commands,
performing simple operations in a more-or-less linear manner.
But the shell can do much more than what we tend to ask of it.
bash is, in my opinion, the most powerful shell on the market
that doesn’t require you to be a programmer to use it. On the
other hand, for those who want to learn to program it, rather
than just script it, its sound principles and powerful features
offer a wealth of opportunity for writing fast, flexible
programs that can often out-perform most other interpreted
languages. This is a very informal crash tutorial in
intermediate features of shell programming. It assumes a basic
grasp of programming principles and of simple, beginner-level
shell scripting.