Chapter 2
Shell Programming
Having started this book on programming Linux using C, we now take a detour into writing shell programs. Why? Well, Linux isn’t like systems where the command-line interface is an afterthought to the graphical interface. UNIX, Linux’s inspiration, originally had no graphical interface at all; everything was done from the command line. Consequently, the command-line system of UNIX underwent a lot of development and became a very powerful feature. This has been carried into Linux, and some of the most powerful things that you can do are most easily done from the shell. Because the shell is so important to Linux, and is so useful for automating simple tasks, shell programming is covered early.
Throughout this chapter, we’ll be showing you the syntax, structures, and commands available to you when you’re programming the shell, usually making use of interactive (screen-based) examples. These should serve as a useful synopsis of most of the shell’s features and their effects. We will also sneak a look at a couple of particularly useful command-line utilities often called from the shell: grep and find. While looking at grep, we also cover the fundamentals of regular expressions, which crop up in Linux utilities and in programming languages such as Perl, Ruby, and PHP. At the end of the chapter, you’ll learn how to program a real-life script, which is reprogrammed and extended in C throughout the book. This chapter covers the following:
- What a shell is
- Basic ...