Die Linux-Shell mit dem csh-Befehl ändern

Die csh Befehl unter Linux ruft die C-Shell auf, eine Unix-Shell, die von Bill Joy in den späten 1970er Jahren entwickelt wurde und sich durch ihre C-ähnliche Syntax auszeichnet. Sie dient sowohl als Befehlsinterpreter als auch als Skriptsprache und bietet Funktionen wie eine Befehlshistorie, Jobkontrolle und Aliasing. Im Gegensatz zur gebräuchlicheren Bourne Again Shell (bash) ist die csh für ihre Syntax bekannt, die der Programmiersprache C ähnelt, so dass sie für diejenigen, die mit C vertraut sind, intuitiv bedienbar ist. Die C-Shell unterstützt die interaktive Nutzung und das Skripting mit Funktionen wie eingebauter Arithmetik und fortgeschrittenen Kontrollstrukturen, wurde jedoch für ihre inkonsistente Syntax und die begrenzten Skripting-Fähigkeiten im Vergleich zu anderen Shells kritisiert.

Funktionen

  • Interaktive Nutzung: csh kann interaktiv genutzt werden, um Befehle auszuführen, die der Benutzer eingibt.
  • Skripting: Du kannst Skripte (Sammlungen von Befehlen) schreiben, die csh dann ausführt.
  • Befehlshistorie: Ermöglicht es dem Benutzer, frühere Befehle aufzurufen, zu bearbeiten und erneut auszuführen.
  • Job-Steuerung: Benutzer können Prozesse anhalten, fortsetzen und im Hintergrund laufen lassen.
  • Alias-Mechanismus: Benutzer können Aliase für Befehle oder Befehlsgruppen erstellen.
  • C-ähnliche Syntax: Die Syntax für Kontrollstrukturen (wie Schleifen und Konditionale) ähnelt der Programmiersprache C.

Um die C-Shell zu starten, gibst du einfach csh in dein Terminal ein. Hier ist ein Beispiel, wie du csh startest und einen einfachen Befehl ausführst:

$ csh
% echo "Hello, world!"
Hello, world!
% exit
$

In diesem Beispiel:

  • Wenn du csh eintippst, wird die C-Shell gestartet.
  • Die Eingabeaufforderung % zeigt an, dass du dich jetzt in der C-Shell befindest.
  • Der Befehl echo gibt „Hallo, Welt!“ auf dem Bildschirm aus.
  • Wenn du exit eintippst, verlässt du die C-Shell und kehrst zur ursprünglichen Shell zurück.

Insgesamt ist die csh eine leistungsstarke Shell, die die Funktionen der interaktiven Befehlsverarbeitung und der Skriptausführung mit einer Syntax kombiniert, die denjenigen vertraut ist, die die Programmiersprache C kennen.

Linux-Shell mit dem csh-Befehl ändern

Mit dem csh-Befehl kannst du die Shell auf einem Linux-System in die C-Shell ändern. Wenn du den csh-Befehl in einem Terminal ausführst, wird eine neue Shell-Sitzung mit der C-Shell gestartet. Dies steht im Gegensatz zu anderen Standard-Shells wie bash (Bourne Again Shell) oder zsh (Z Shell).

Hier ist eine genauere Erklärung, wie `csh` als Befehl zum Wechseln der Shell funktioniert:

C-Shell starten

Wenn du csh in dein Terminal eingibst, wird eine neue Shell-Sitzung mit der C-Shell gestartet. Das kann nützlich sein, wenn du die Syntax oder die Funktionen der C-Shell gegenüber deiner aktuellen Shell bevorzugst.

$ csh
%

In diesem Beispiel zeigt die Eingabeaufforderung „%“ an, dass du dich jetzt in der C-Shell befindest.

Beenden der C-Shell

Um die C-Shell zu verlassen und zu deiner vorherigen Shell (z. B. Bash) zurückzukehren, gibst du exit ein oder drückst Strg-D.

% exit
$

Ändern der Standard-Shell mit csh

Um deine Standard-Login-Shell dauerhaft in csh zu ändern, kannst du den Befehl chsh (change shell) verwenden. Dieser Befehl ändert die Shell, die in den Einstellungen deines Benutzerkontos angegeben ist.

 $ chsh -s /bin/csh

Nachdem du diesen Befehl ausgeführt hast, musst du dich ab- und wieder anmelden, damit die Änderung wirksam wird. Der Pfad /bin/csh kann je nach Systemkonfiguration variieren, daher solltest du den korrekten Pfad zur ausführbaren C-Shell mit überprüfen:

which csh

Vorübergehend eine andere Shell verwenden

Wenn du die C-Shell nur vorübergehend für eine bestimmte Sitzung verwenden willst, kannst du csh aufrufen und dann wie oben beschrieben beenden, wenn du fertig bist.

Zusammenfassend lässt sich sagen, dass csh die Shell vorübergehend wechseln kann , indem eine neue C-Shell-Sitzung gestartet wird, während der csh-Befehl deine Standard-Login-Shell dauerhaft in die C-Shell ändert.

Das könnte dich auch interessieren …