csh (C Shell) wurde 1978 von Bill Joy an der University of California, Berkeley, entwickelt und mit BSD Unix verbreitet. Ihre Syntax lehnt sich an die Programmiersprache C an. csh führte mehrere Komfort-Features ein, die heute selbstverständlich sind: History, Aliase und Job Control.
Erste Schritte
setenv PATH "$PATH:/usr/local/bin"
alias ll 'ls -l'
history
!! # letztes Kommando wiederholen
!$ # letztes Argument wiederholen
Kernkonzepte
- setenv / set: Umgebungs- bzw. lokale Variablen (
set var = wert, Zugriff über$var) - alias: Kurzbefehle definieren
- history: Liste der letzten Kommandos, Wiederholung über
!-Kürzel - Job Control:
jobs,fg,bg,%1für Hintergrund-/Vordergrundprozesse - switch/case: C-artige Verzweigung in Skripten
- foreach: Schleife über Listen
Einordnung
csh war als interaktive Shell sehr beliebt, ihre Skriptsprache gilt jedoch als fehleranfällig und ist nicht POSIX-konform — für Skripte empfiehlt sich bis heute die Bourne-Shell-Familie wie Bash. Die C-Shell-Linie lebt in tcsh weiter, das als direkter Nachfolger fast überall csh ersetzt hat.