In this chapter, we'll be going through some of the commands essential for good Bash scripting. Bash programming, and shell script programming in general, is different from most other programming languages because it is designed to run other programs, mixing the commands it provides with commands installed on the local system.
It may seem strange that in a Bash book, we would spend half a chapter explaining how to use commands that are neither part of Bash, nor written in the Bash language! The reason we do this is that most useful Bash scripts will use several of these external commands to do their work, particularly to do things that in the Bash language are difficult, awkward, or even impossible.