6 Alternative Linux-Shells für Power-User

Bash, oder die Bourne Again Shell, ist das, was auf den meisten Linux-Distributionen vorinstalliert ist. Es ist jedoch nicht die einzige Shell, die es gibt. Es gibt mehrere andere, die man ausprobieren kann. Hier sind sechs alternative Shells, die Bash ersetzen können. Jede von ihnen hat ihre Vor- und Nachteile, also musst du sie ausprobieren und sehen, welche die beste für dich ist.
Inhaltsverzeichnis
- sh (oder die Bourne Shell)
- Dash
- csh (oder C Shell)
- ksh (oder Korn Shell)
- zsh (oder Z Shell)
- Fish
Tipp: Hast du genug von Bash? Lerne, wie du deine Standard-Shell in Linux wechselst.
1. sh (oder die Bourne Shell)
Die Bourne-Shell, benannt nach ihrem Schöpfer Stephen Bourne, war eine der ersten Shells überhaupt. Man könnte sagen, sie wurde als Grundlage für Bash verwendet. Manchmal verwechseln Benutzer beide und denken, sie seien gleich, was sie nicht sind. Es ist wahr, dass viele .sh-Skripte auch unter Bash ausgeführt werden, weil Bash viel von Sh enthält, aber das Gegenteil gilt nicht.

Du kannst Sh als den Vorgänger von Bash betrachten. Es hat nicht so viele Funktionen, ist aber standardisierter als Bash.
2. Dash
Dash ist im Wesentlichen Bash auf Debian-Systemen. Wenn du eine Debian-basierte Distribution verwendest, besteht eine gute Chance, dass du Dash und nicht Bash verwendest. Aufgrund der Komplexität, Dash als Standard-Shell zu verwenden, entschied sich Ubuntu (eine Debian-basierte Distribution), Bash für interaktive Skripte und nicht Dash als Standard-Shell zu verwenden.

Dash fehlen viele der Funktionen von Bash, wie z.B. die Tab-Vervollständigung und die Befehlsverlauf, aber es ist schneller und viel kleiner (100K vs. 900K), was ein Faktor ist, wenn du es auf einem nicht so leistungsstarken Computer verwendest.
Lies auch: Wie man Sed in Linux verwendet
3. csh (oder C Shell)
Die Programmiersprachen C und C++ waren ziemlich beliebt, und große Teile von Linux selbst sind in ihnen geschrieben. Deshalb ist es nicht überraschend, dass es eine Shell gibt – die C Shell oder Csh – die das C-Syntaxmodell verwendet. Wenn du in C fließend bist, wird dir diese Shell natürlich erscheinen.

Die Csh-Shell hatte jedoch viele Bugs und nicht viele Funktionen. Deshalb kam die Tcsh-Shell auf den Markt. Tcsh behob die meisten Bugs und fügte neue Funktionen hinzu, wie z.B. Befehlsvervollständigung, Jobkontrolle, Rechtschreibkorrektur usw. Leider sind Tcsh und Bash sehr unterschiedlich, was bedeutet, dass du Bash-Skripte nicht in Tcsh und umgekehrt ausführen kannst.
Lies auch: Was ist Log4Shell und wie schütze ich mein Linux-System dagegen?
4. ksh (oder Korn Shell)
Ksh, oder die Korn-Shell (benannt nach ihrem Schöpfer David Korn), wurde ungefähr zur gleichen Zeit wie Tcsh eingeführt, ist aber im Gegensatz zu Tcsh mit Sh und Bash kompatibel. Es war bis 2000 eine proprietäre Shell von AT&T, weshalb es nicht so populär wurde. Ksh fügt Sh mehr Funktionen hinzu, wie z.B. Fließkomma-Arithmetik, Jobkontrolle, Befehlsaliasierung und Befehlsvervollständigung.

5. zsh (oder Z Shell)
Die bisher aufgelisteten Shells wurden hauptsächlich in den 1970er Jahren erstellt. Computer haben seitdem einen langen Weg zurückgelegt, und das erfordert auch neue Shells. Eine der beliebten neuen Shells ist die Z Shell oder Zsh. Sie wurde 1990 von Paul Falstad erstellt.

Sie hat die Funktionen von Bash und einige mehr, wie z.B. Startdateien, Überwachung von Anmeldungen/Abmeldungen und integrierte Programmierfunktionen wie Bytecode, Unterstützung für wissenschaftliche Notation in der Syntax, Fließkomma-Arithmetik, schließende Kommentare, Konzepte, Variablen, Funktionen und Schlüsselindizes. Wenn du nach einer fortschrittlicheren Shell suchst, probiere die Z Shell aus.
6. Fish
Die Suche nach moderneren Shells endete nicht mit Fish. Das neue Jahrhundert brachte neue Shells, wie Fish (oder Friendly Interactive Shell). Sie wurde 2005 veröffentlicht und basiert nicht auf der Sh-Shell. Ihr auffälligstes Merkmal ist, dass sie eine einzigartige Befehlszeilensyntax hat, die benutzerfreundlicher gestaltet ist. Sie hat auch einige coole Funktionen, wie automatische Vorschläge, Auswahl mit den Pfeiltasten, unterstützt durch die X-Zwischenablage, 256 Terminalfarben usw.

Der Hauptnachteil von Fish ist, dass sie sehr unterschiedlich von Bash und anderen Bourne-basierten Shells ist. Daher kannst du Code (und Wissen) von Fish nicht auf Bash und Sh portieren.
Welche Shell ist also die beste? Leider kann diese Frage nicht beantwortet werden. Alle haben ihre Vor- und Nachteile, und es hängt wirklich davon ab, wofür du sie benötigst. Aber jetzt, da du die Vor- und Nachteile jeder dieser sechs alternativen Shells kennst, wird es dir leichter fallen zu entscheiden, in welcher Situation du welche Shell verwenden solltest. Letztendlich ist diese Wahl ehrlich gesagt größtenteils eine Frage der persönlichen Vorlieben – ich selbst bleibe bei Bash und bin damit zufrieden. Bash ist aus gutem Grund die Standard-Shell, das weißt du ja!