La shell è un componente importante perchè mette a disposizione dell’utente l’interfaccia che consente di interagire direttamente con i servizi di un sistema operativo. Il portale OpenSource.com ha recentemente dedicato un articolo a 5 shell per ambienti Linux introducendole brevemente ai lettori e riportandone alcuni pregi/difetti. Vediamo di analizzare allora la lista delle shell a cominciare dalla prima proposta (l’ordine non rispecchia alcuna classifica) dell’elenco, la shell bash.
Bash. Nonostante la lunga lista di problematiche (causate anche dalla scarsa “leggibilità” della shell) che si porta dietro fin dall’anno della prima release (1989), GNU Bash (Born Again Shell) è una della shell più diffuse ed utilizzate nell’ecosistema Linux e non solo – presente in svariati sistemi “Unix-Like”: è per questo che in Rete abbondano tutorial e documentazione varia; se non sapete bene cosa fare non sarà quindi difficile trovare aiuto online. Bash, aggiunge l’editorialista, continuerà ad essere una presenza costante anche nell’immediato futuro grazie alla vasta schiera di utilizzatori ed al non trascurabile numero di installazioni.
KornShell (ksh). La shell fu sviluppata da David Korn negli anni ’80 ed a differenza di bash non fu da subito resa disponibile via licenza pubblica (software proprietario). I supporter della shell ritengono che ksh sia superiore alla concorrenza per via di alcune caratteristiche quali la facilità con la quale è possibile replicare i comandi e gli array associativi, una sintassi migliore per l’esecuzione dei loop (esecuzione ripetuta di un determinato set di comandi). L’editorialista osserva che i comandi di input base di ksh sono molto simili alla shell bash mentre si differenzia maggiormente nelle operazioni di scripting avanzato.
Tcsh. Si tratta di una versione migliorata della Berkely Unix C shell. Tra i punti di forza di tcsh il linguaggio di scripting, che risulterà estremamente familiare a chiunque abbia programmato in C, e diverse utili funzionalità (autocompletamento).
Zsh. Una shell nata negli anni ’90 che presenta alcune somiglianze con bash e ksh. Tra le caratteristiche principali apprezzabili dall’utenza sono ricordate la possibilità di usare temi, la correzione automatica degli errori di digitazione, le icone delle directory rinominabili, la possibilità di condividere l’elenco di comandi utilizzati tra vari terminali.
Friendly Interactive Shell (fish). La shell più recente della lista (la prima versione risale al 2005) che si distingue dalle precedenti per uno spiccato senso dell’umorismo, almeno per quanto riguarda la lista delle funzionalità elencate nella pagina ufficiale della shell, ad esempio: “le colors thumbnails fish supportano nativamente term256, lo stato dell’arte nella tecnologia dei terminali. Avrete a disposizione 256 incredibili colori!” . Tra le altre caratteristiche “più utili” ricordiamo invece la revisione degli script, l’autocompletamento delle man pages, possibilità di configurare la shell dal web.