Tipi di shell in Linux

Shell Bourne

L'originale Bourne Shell prende il nome dal suo creatore presso Bell Labs, Steve Bourne. È stata la prima shell utilizzata per il sistema operativo Unix e ha ampiamente superato la funzionalità di molte delle shell più recenti. Tuttavia, tutte le versioni di Linux Unix consentono agli utenti di passare a Shell Bourne originale, noto semplicemente come "sh", se desiderano rinunciare a funzionalità come il completamento dei nomi di file e la cronologia dei comandi che deposita più tardi hanno aggiunto.

Shell C

Shell C, come suggerisce il nome, è stata progettata per consentire agli utenti di scrivere programmi in script di shell con una sintassi molto simile a quella del linguaggio di programmazione C. È noto come "csh".

Shell TC

Shell TC è un'espansione di Shell C. Ha tutte le stesse funzionalità, ma aggiunge la possibilità di utilizzare le sequenze di tasti del programma di elaborazione testi Emacs per modificare il testo sulla riga di comando. Ad esempio, gli utenti possono premere Esc-D per rimuovere il resto della parola selezionata. È anche conosciuto come "tcsh".

Shell Korn

Anche Shell Korn è stato scritto da un programmatore dei Bell Labs, David Korn. Prova a combinare le funzionalità di Shell C, Shell TC e Shell Bourne in un unico pacchetto. Include anche la possibilità di creare nuovi comandi di shell per gli sviluppatori in caso di necessità.

È noto come "ksh".

Shell Bourne-Again

Shell Bourne-Again è una versione aggiornata dell'originale Bourne Shell creata dalla Free Software Foundation nel suo progetto GNU open source. Per questo motivo, è una shell ampiamente utilizzata nella comunità open source.

La sintassi è simile a quella utilizzata da Shell Bourne, tuttavia incorpora alcune delle funzionalità più avanzate disponibili nelle shell C, TC e Korn.

Tra le funzionalità aggiuntive a cui mancava Bourne, c'è la possibilità di completare i nomi dei file premendo il tasto TAB, la possibilità di ricordare una cronologia dei comandi recenti e la possibilità di eseguire più programmi contemporaneamente sullo sfondo.

È noto come "bash".