De shell is de commando-interpretor in een besturingssysteem zoals Unix of GNU/Linux, het is een programma dat andere programma’s uitvoert. Het biedt een computergebruiker een interface naar het Unix/GNU Linux-systeem, zodat de gebruiker verschillende commando’s kan uitvoeren of hulpmiddelen/gereedschappen met enkele invoergegevens.
Wanneer de shell een programma heeft uitgevoerd, stuurt het een uitvoer naar de gebruiker op het scherm, wat het standaarduitvoerapparaat is. Daarom wordt het ook wel de ” commando-interpretor ” genoemd.
De shell is veel meer dan alleen een commando-interpretor, het is ook een programmeertaal op zichzelf met volledige programmeerconstructies zoals voorwaardelijke uitvoering, lussen, variabelen, functies en nog veel meer.
Dat is waarom de Unix/GNU Linux-shell krachtiger is vergeleken met de Windows-shell.
In dit artikel zullen we kijken naar enkele van de meest gebruikte open-source shells op Unix/GNU Linux.
1. Bash Shell
De Bash Shell, of gewoon “Bash“, staat voor “Bourne Again SHell“. Het is een verbetering van de oorspronkelijke Bourne Shell (sh) en werd in 1989 geïntroduceerd door Brian Fox.
In de loop der jaren is Bash uitgegroeid tot een van de populairste en meest gebruikte opdrachtregelinterpreters op veel Linuxdistributies en macOS (tot Catalina, na welke het werd vervangen door zsh).
Bash biedt gebruikers de mogelijkheid om opdrachten uit te voeren, het bestandssysteem te navigeren en scripts uit te voeren. Gebruikers kunnen functies gebruiken zoals opdrachtgeschiedenis, tab-voltooiing en scripts om taken te automatiseren en werkstromen te stroomlijnen.
De Bash Shell heeft een cruciale rol gespeeld in de ontwikkeling van open-source computing, door een consistente interface te bieden waarmee gebruikers met hun systemen kunnen communiceren.

2. Tcsh/Csh Shell
De Tcsh (uitgesproken als “tee-shell“) en Csh (uitgesproken als “see-shell“) zijn Unix-gebaseerde opdrachtregel shells die al decennia bestaan. Csh, of de C shell, werd ontwikkeld door Bill Joy eind jaren 70 aan de Universiteit van Californië, Berkeley.
Het introduceerde verschillende functies en scriptsyntaxis die geïnspireerd waren op de C-programmeertaal, waardoor het populair werd onder programmeurs die bekend waren met C.
Tcsh is een verbeterde versie van de originele Csh, wat staat voor “Tenex C Shell”, met “Tenex” als verwijzing naar het TENEX besturingssysteem.
Tcsh bevat alle functies van Csh samen met aanvullende verbeteringen, zoals command-line-bewerking, taakbeheer en commando-voltooiing.
Beide shells hebben een belangrijke invloed gehad in de Unix-wereld, met veel gebruikers die hun unieke scriptsyntaxis en functies appreciëren. Echter, in de loop van de tijd, hebben andere shells zoals bash meer populariteit gekregen vanwege hun uitgebreide functies en wijdverbreide acceptatie.
Toch blijven Tcsh en Csh een integraal onderdeel van Unix’ schaakgeschiedenis.

3. Ksh Shell
De KornShell, algemeen bekend als ksh, is een Unix-shell die werd ontwikkeld door David G. Korn bij AT&T Bell Laboratories in de vroege jaren 1980.
Het combineert functies van zowel de C-shell (csh) als de Bourne-shell (sh), met als doel de beste van beide werelden te bieden. In de loop der jaren is ksh geprezen om zijn geavanceerde scriptschrijfvaardigheden, waardoor het een favoriet is onder veel systeembeheerders en krachtgebruikers.
Een van de opvallende kenmerken van ksh is zijn associatieve arrays, een functie die niet veel voorkwam in shells uit die tijd. Het introduceerde ook de select-constructie, die het maken van menu’s in scripts eenvoudig maakt.
Een ander belangrijk voordeel is zijn opdrachtregelbewerking en geschiedenis mogelijkheden, die later door andere shells zoals bash zijn overgenomen.

4. Zsh Shell
De Zsh shell, vaak simpelweg aangeduid als ” Zsh “, is een krachtige Unix-shell die een grote populariteit heeft verworven onder programmeurs en systeembeheerders.
Geboren als een uitbreiding op de Bourne Shell, Zsh incorporeert functies van andere shells zoals Bash, ksh en tcsh, biedt een rijke verzameling functies en verbeterde interactieve gebruik.
Een van de opvallende kenmerken van Zsh is zijn robuuste automatische afhandeling mogelijkheden. In tegenstelling tot andere shells, is Zsh’s automatische afhandeling contextgevoelig en suggereert relevante opdrachten, bestandspaden en zelfs Git branches, waardoor de gebruikerservaring soepeler en intuïtiever wordt.
Bovendien is Zsh zeer aanpasbaar met behulp van het Oh My Zsh framework, waardoor gebruikers gemakkelijk thema’s en plugins kunnen toepassen, waardoor zowel de esthetische als functionele aspecten van hun terminalomgeving worden verbeterd.

5. Fish
Fish Shell is een moderne, gebruiksvriendelijke command-line shell die erop gericht is om gebruikers een interactieve en intuïtieve interface te bieden.
In tegenstelling tot traditionele shells zoals Bash of Zsh, biedt Fish slimme suggesties standaard mee, waardoor het gemakkelijker is voor zowel beginners als ervaren gebruikers om te navigeren en commando’s uit te voeren.
Een van de opvallende kenmerken van Fish is zijn auto-suggesties, die real-time feedback geven op basis van uw commandohistorie, waardoor snellere commando-uitvoering mogelijk is.
Fish biedt ook een levendige en kleurrijke interface, met syntax highlighting dat het gemakkelijker maakt om commando’s te lezen en te begrijpen. Zijn webgebaseerde configuratie stelt gebruikers in staat om hun shell-ervaring aan te passen zonder zich in complexe configuratiebestanden te verdiepen.
Bovendien heeft Fish een uitgebreide en groeiende verzameling door de community bijgedragen plugins en thema’s, waardoor de functionaliteit en uitstraling worden verbeterd.

Samenvatting
Dit zijn niet de enige shells die beschikbaar zijn in Unix/GNU Linux, maar ze behoren tot de meest gebruikte, afgezien van die welke standaard geïnstalleerd zijn bij verschillende Linux distributies.
I hope you find this article useful. For any additional information, please don’t hesitate to post a comment.
Source:
https://www.tecmint.com/different-types-of-linux-shells/