Startseite > Umgebung & Hilfsprogramme > csh

csh: C-Shell ausführen und Skripte

csh (C Shell) ist ein Kommandozeileninterpreter und eine Skriptsprache, die in Unix-ähnlichen Systemen verwendet wird. Sie bietet eine an C angelehnte Syntax, die für Programmierer vertraut ist, und umfasst Funktionen wie Befehlshistorie, Aliase und Jobkontrolle. Sie wird hauptsächlich für interaktive Shells oder die Ausführung von Shell-Skripten verwendet.

Übersicht

csh ist eine in den späten 1970er Jahren entwickelte Shell, die im Gegensatz zur Bourne Shell (sh) Kontrollstrukturen (if, while, foreach usw.) bereitstellt, die der C-Sprache ähneln. Sie verfügt über benutzerfreundliche Funktionen und leistungsstarke Skripting-Fähigkeiten, kann jedoch bei einigen erweiterten Funktionen oder beim Schreiben von Skripten komplexer sein oder unerwartetes Verhalten im Vergleich zu Bourne-Shell-Familien (bash, zsh) aufweisen.

Hauptmerkmale

  • An C angelehnte Syntaxstruktur
  • Befehlshistorie und Alias-Funktionen
  • Unterstützung für Jobkontrolle
  • Umgebungsvariablenverwaltung (set, setenv)

Hauptoptionen

Dies sind die Hauptoptionen, die beim Ausführen des csh-Befehls verwendet werden können.

Ausführung und Debugging

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`csh` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele

Dies sind verschiedene Beispiele für die Verwendung des csh-Befehls.

Interaktive C-Shell starten

csh

Startet eine neue interaktive C-Shell-Sitzung.

Einzelnen C-Shell-Befehl ausführen

csh -c 'echo "Hello from Csh!"'

Führt einen bestimmten Befehl mit csh aus und beendet die Shell.

C-Shell-Skript ausführen

csh my_script.csh

Führt die Datei my_script.csh als C-Shell-Skript aus. (Die Skriptdatei muss Ausführungsrechte haben.)

Skript im ausführlichen Modus ausführen

csh -v my_script.csh

Gibt jeden Befehl vor der Skriptausführung auf der Standardfehlerausgabe aus, was für das Debugging nützlich ist.

Skript im Befehlsecho-Modus ausführen

csh -x my_script.csh

Jeder Befehl im Skript wird ausgegeben, bevor er in erweiterter Form ausgeführt wird.

Installation

csh ist auf vielen Unix- und Linux-Systemen standardmäßig installiert, muss aber auf einigen minimal installierten Systemen möglicherweise manuell installiert werden. Hier sind die Installationsmethoden für csh auf den wichtigsten Distributionen.

Debian/Ubuntu-basierte Systeme

sudo apt update
sudo apt install csh

Installiert csh mit dem apt-Paketmanager.

Red Hat/CentOS/Fedora-basierte Systeme

sudo yum install csh  # oder sudo dnf install csh

Installiert csh mit dem yum- oder dnf-Paketmanager.

Tipps & Hinweise

Dies sind nützliche Tipps und zu beachtende Punkte bei der Verwendung von csh.

Unterschiede zur Bourne Shell

csh unterscheidet sich syntaktisch stark von Bourne-Shell-Familien wie bash, sh und zsh. Insbesondere gibt es große Unterschiede bei der Variablendeklaration und -zugriff, bedingten Anweisungen und Schleifen, daher ist Vorsicht beim Schreiben von Skripten geboten.

  • Variablenzuweisung: csh: `set var = value`, `setenv VAR value` Bourne Shell: `var=value`, `export VAR=value`
  • Bedingte Anweisungen: csh: `if (condition) then ... endif` Bourne Shell: `if [ condition ]; then ... fi`
  • Arrays: csh-Arrays beginnen mit dem Index 1.

Verwendung von tcsh empfohlen

csh wird nicht mehr aktiv entwickelt, und auf den meisten modernen Systemen wird die Verwendung der verbesserten Version von csh, tcsh (TENEX C Shell), empfohlen. tcsh enthält alle Funktionen von csh und bietet zusätzliche Funktionen wie Befehlszeilenbearbeitung, verbesserte Historienverwaltung und programmierbare Vervollständigungsfunktionen.

Eher für interaktive Shells als für Skripte

Obwohl csh als interaktive Shell hervorragend geeignet ist, werden für das Schreiben komplexer Skripte im Allgemeinen Bourne-Shell-Familien (bash, zsh) bevorzugt, da sie leistungsfähiger, flexibler sind und unerwartetes Verhalten reduzieren können. csh-Skripte können Portabilitätsprobleme oder Fehler unter bestimmten Umständen verursachen.


Gleiche Kategorie Befehle