| CARVIEW |
C Shell Scripting
What is C shell?
[edit | edit source]C shell is a Unix shell created in 1979 by Bill Joy soon after the Bourne shell was released in 1977. Although the latter went on to be the standard shell for Unix, C shell is still popular in BSD distributions. C shell's scripting syntax is modeled after the C language in some aspects. Small programs can be created by writing scripts using the C shell syntax.
The Bourne shell is also an option to create Unix scripts but if you are reading this book you probably decided the C shell fits your requirements better. Deciding to use a Unix script at all means that the requirements of the program are rather simple, such as automating the usage of either standard or custom Unix tools. Complex logic or speed sensitive functions should be written in a more appropriate language as custom tools.
Nowadays, tcsh, a compatible descendant of C shell, is more commonly used. This book will cover both versions.
Setup and Installation
[edit | edit source]Learning the Language
[edit | edit source]
Basics
[edit | edit source]This section is about learning basic C shell to create small useful scripts. Useful for programmers of any level.
- How to create a script
— shebang, chmod, echo - Using variables in a script
— set, quoting, wordlists - Passing parameters to a script
— $argv, $0, $1, $2, $3 - Parsing paths using variable modifiers
— :h, :t, :r, :e - Scripting defensively by trapping errors — if, -e, -d, -z, {cmd}, $status, exit
- Assembling the Unix tools to accomplish tasks — |, >, >>, cat, grep, cut
Syntax 
[edit | edit source]- Comparison with Bourne shell
- Use of variables in the shell
- Arithmetic variables
- Expressions and true and false
- Boolean conditions
- Built-in variables
- Array variables
- Switch statements
Cookbook
[edit | edit source]Snippets 
[edit | edit source]- String manipulation — Slicing, Uppercase, Lowercase
- Number formatting— Formatting with Commas
Example scripts
[edit | edit source]- Guppies — Port of a homework assignment to C shell.
- Password Generator — Human readable password generator
Related books
[edit | edit source]Resources
[edit | edit source]- The C Shell tutorial, eng.hawaii.edu - simple overview of C shell language
- The C Shell - warts and all, grymoire.com - list of gotchas with C shell
- C shell Cookbook by Malcolm J. Currie, starlink.rl.ac.uk
- Writing C shell scripts, University of Durham, dur.ac.uk
- Introduction to C Shell Programming, www-cs.canisius.edu
- An Introduction to the C shell, freebsd.org - William Joy's documentation
- UNIX Shell Differences, faqs.org
- USEFUL ONE-LINE SCRIPTS FOR SED, sed.sourceforge.net
- Uses of TR command, softpanorama.org - uppercase, lower case, rotate 13
- SHELLdorado, shelldorado.com - Tons of scripts
- Wikipedia:C shell
- Wikipedia:tcsh
| Wikibook Development Stages | ||||
|---|---|---|---|---|
| Sparse text |
Developing text |
Maturing text |
Developed text |
Comprehensive text |
- Subject:Scripting languages
- Subject:Scripting languages/all books
- Subject:Computer programming languages/all books
- Subject:Computer programming/all books
- Subject:Computer science/all books
- Subject:Computing/all books
- Subject:Books by subject/all books
- Book:Wikibooks Stacks/Books
- Shelf:Scripting languages/all books
- Shelf:Computer programming/all books
- Shelf:Computer programming languages/all books
- Shelf:Computer science/all books
- Department:Computing/all books
- Alphabetical/C
- Partly developed books
- Books by completion status/all books