# Chapter 3. The Unix Shell: An Overview

#### Contents:

Introduction to the Shell
Purpose of the Shell
Shell Flavors
Common Features
Differing Features

For novice users, this chapter presents basic concepts about the Unix shell. For advanced users, this chapter also summarizes the major similarities and differences between the Bourne, Korn, and C shells. Details on the three shells are provided in Chapter 4, and Chapter 5.

The following topics are presented:

- Introduction to the shell

- Purpose of the shell

- Shell flavors

- Common features

- Differing features

## 3.1. Introduction to the Shell

Let's suppose that the Unix operating system is a car. When you drive, you issue a variety of “commands”: you turn the steering wheel, press the accelerator, or press the brake. But how does the car translate your commands into the action you want? The car's drive mechanism, which can be thought of as the car's user interface, is responsible. Cars can be equipped with front-wheel drive, rear-wheel drive, four-wheel drive, and sometimes combinations of these.

The shell is the user interface to Unix, and by the same token, several shells are available in Unix. Most systems provide more than one for you to choose from. Each shell has different features, but all of them affect how commands will be interpreted and provide tools to create your Unix environment.

The shell is simply a program that allows the system to understand your commands. (That's why the shell is often called a command interpreter.) For many users, the shell works invisibly--“behind the scenes.” Your only concern is that the system does what you tell it to do; you don't care about the inner workings. In our car analogy, this is comparable to pressing the brake. Most of us don't care whether the user interface involves disk brakes or drum brakes, as long as the car stops.

Copyright © 2003 O'Reilly & Associates. All rights reserved.