Introduction
In the previous chapter, we learned about the mechanisms for connecting commands and files together using redirection and pipes. In this chapter, we will learn about other ways of composing commands and controlling their execution. Then, we will learn about the basics of regular expressions, which are useful for text processing, and finally, learn about a shell feature called expansion, which has many uses.