6 Shell Linux Alternative per Utenti Esperti

Bash, o la Bourne Again Shell, è ciò che viene preinstallato sulla maggior parte delle distribuzioni Linux. Tuttavia, non è l’unica shell disponibile. Ci sono diverse altre da provare. Ecco sei shell alternative che possono sostituire bash. Ognuna di esse ha i suoi pro e contro, quindi devi provarle e vedere quale è la migliore per te.
Indice dei Contenuti
- sh (o la Bourne Shell)
- Dash
- csh (o C Shell)
- ksh (o Korn Shell)
- zsh (o Z Shell)
- Fish
Suggerimento: Stanco di usare Bash? Scopri come cambiare la tua shell predefinita in Linux.
1. sh (o la Bourne Shell)
La Bourne shell, chiamata così in onore del suo creatore Stephen Bourne, è stata una delle prime shell mai create. Si potrebbe dire che è stata utilizzata come base su cui è stata creata Bash. A volte gli utenti confondono entrambe e pensano che siano la stessa cosa, mentre non lo sono. È vero che molti script .sh funzioneranno anche su Bash, perché Bash include molto da Sh, ma il contrario non è vero.

Puoi pensare a Sh come al predecessore di Bash. Non ha molte funzionalità, ma è più standardizzata di Bash.
2. Dash
Dash è essenzialmente Bash sui sistemi Debian. Se stai eseguendo una distribuzione basata su Debian, è probabile che tu stia eseguendo Dash, non Bash. Tuttavia, a causa delle complessità nell’uso di Dash come shell predefinita, Ubuntu (una distribuzione basata su Debian) ha deciso di utilizzare Bash per gli script interattivi, non Dash come shell predefinita.

Dash manca di molte delle funzionalità di Bash, come il completamento automatico e la cronologia dei comandi, ma è più veloce e molto più piccolo in dimensioni (100K vs. 900K), il che è un fattore se lo stai eseguendo su un computer non molto potente.
Leggi anche: Come usare Sed in Linux
3. csh (o C Shell)
I linguaggi di programmazione C e C++ erano abbastanza popolari, e gran parte di Linux stesso è scritto in essi. Ecco perché non è sorprendente che ci sia una shell – la C Shell o Csh – che utilizza il modello di sintassi C. Se sei fluente in C, questa shell sarà naturale per te.

Tuttavia, la shell Csh aveva molti bug e poche funzionalità. Ecco perché è arrivata la shell Tcsh. Tcsh ha risolto la maggior parte dei bug e ha aggiunto nuove funzionalità, come il completamento dei comandi, il controllo dei lavori, la correzione ortografica, ecc. Sfortunatamente, Tcsh e Bash sono molto diversi, il che significa che non puoi eseguire script Bash in Tcsh e viceversa.
Leggi anche: Cos’è Log4Shell e come proteggere il tuo sistema Linux contro di esso
4. ksh (o Korn Shell)
Ksh, o la Korn shell (chiamata così in onore del suo creatore David Korn), è stata introdotta circa nello stesso periodo di Tcsh, ma a differenza di Tcsh, è compatibile con Sh e Bash. Era una shell proprietaria AT&T fino al 2000, ed è per questo che non è diventata così popolare. Ksh aggiunge più funzionalità a Sh, come l’aritmetica in virgola mobile, il controllo dei lavori, l’aliasing dei comandi e il completamento dei comandi.

5. zsh (o Z Shell)
Le shell elencate finora sono state create principalmente negli anni ‘70. I computer hanno fatto molta strada da allora, e questo richiede anche nuove shell. Una delle nuove shell popolari è la Z shell, o Zsh. È stata creata da Paul Falstad nel 1990.

Ha le funzionalità di Bash e alcune in più, come file di avvio, monitoraggio login/logout e funzionalità di programmazione integrate come bytecode, supporto per la notazione scientifica nella sintassi, aritmetica in virgola mobile, commenti di chiusura, concetti, variabili, funzioni e indice delle chiavi. Se stai cercando una shell più avanzata, prova la Z shell.
6. Fish
La ricerca di shell più moderne non è finita con Fish. Il nuovo secolo ha visto nuove shell, come Fish (o Friendly Interactive Shell). È stata rilasciata nel 2005 e non si basa sulla shell Sh. Il suo aspetto più distintivo è che ha una sintassi della riga di comando unica progettata per essere più amichevole per i principianti. Ha anche alcune funzionalità interessanti, come suggerimenti automatici, selezione con i tasti freccia, supporto per il clipboard X, 256 colori del terminale, ecc.

Il principale svantaggio di Fish è che è molto diversa da Bash e da altre shell basate su Bourne. Di conseguenza, non puoi portare codice (e conoscenze) da Fish a Bash e Sh.
Quindi, quale shell è la migliore? Sfortunatamente, questa domanda non può essere risposta. Tutte hanno i loro vantaggi e svantaggi, e dipende davvero da cosa ne hai bisogno. Ma ora che conosci i pro e i contro di ciascuna di queste sei shell alternative, sarà più facile per te decidere in quale situazione quale shell dovresti usare. Anche se, dopo tutto, a dire il vero, questa scelta è in gran parte una questione di preferenze personali – io stesso mi attengo a Bash, e va bene per me. Bash è la shell predefinita per un motivo, lo sai!