Mac OS X Shells

In essence, all shells do the same thing; they just differ in the way they do it, the options and settings they recognize, and the special features they offer. The following list describes the Mac OS X shells, all of which are included with the /bin directory, and are available to all users on the system.

tcsh

tcsh is an evolved version of csh , a shell whose syntax is based loosely on the C programming language. It’s quite popular for interactive use, and is the default shell for new users on Mac OS X.

Mac OS X includes a /bin/csh command, but it’s really just an alias to /bin/tcsh.

bash

The Bourne Again Shell (a pun on the Bourne Shell, the very first Unix shell program) is, like tcsh, a conceptual child of the earlier csh shell, but it is more commonly used, and is probably the most popular shell in use across Unix systems today. Many Mac OS X newcomers will recognize it as the default shell on most Linux distributions.

bash is aliased to /bin/sh, so that shell scripts run in Darwin will actually run through bash.

zsh

Among the popular shell programs in the whole Unix sphere, zsh is the newest. It attempts to meld the better features of bash and tcsh into a single shell, as well as add a lot more—one of its more well-known unique features is programmable tab completion.

For general information about changing and using shells, see Section 19.1.1.1 in Chapter 19.

Common Features

The following table displays features that are common to Mac OS X’s shells.

Symbol/Command ...

Get Mac OS X in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.