The C Shell

The C shell (csh) was written in the 1970s by Bill Joy, one of the founders of Sun Microsystems and also a very prolific BSD Unix hacker. One of the main attractions of csh was that its syntax looked a lot more like the C language, which many systems programmers are very familiar with. It was also a better interactive shell than the Bourne shell, providing the history command for the first time. It also added job control and the concept of using the tilde (~) to represent the current user’s home directory. All of these features (but not the C-style syntax) have been taken on by all of the other shells listed here.

In 1996, Tom Christiansen wrote a widely distributed article entitled “Csh Programming Considered Harmful” (http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/), which pointed out some of the ways in which csh syntax can be counterintuitive or limiting to the systems programmer. The issues that Christiansen raises are particularly focused around the areas of redirection and process control.

Get Shell Scripting: Expert Recipes for Linux, Bash, and More 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.