You should have a healthy grasp of shell programming techniques now that you have gone through the previous chapters. What you have learned up to this point enables you to write many non-trivial, useful shell scripts and functions.
Still, you may have noticed some remaining gaps in the knowledge you need to write shell code that behaves like the UNIX commands you are used to. In particular, if you are an experienced UNIX user , it might have occurred to you that none of the example scripts shown so far have the ability to handle options preceded by a dash ( - ) on the command line. And if you program in a conventional language like C or Pascal, you will have noticed that the only type of data that we have seen in shell variables is character strings; we haven't seen how to do arithmetic, for example.
These capabilities are certainly crucial to the shell's ability to function as a useful UNIX programming language. In this chapter, we will show how bash supports these and related features.