Bash e Shell

()

Cos’è Bash?

Bash è la shell, o interprete del linguaggio dei comandi, per il sistema operativo GNU . 

Il nome è l’acronimo di ‘Bourne-Ancora Shell‘, un gioco di parole su Stephen Bourne, l’autore dell’antenato diretto dell’attuale shell Unix sh, che è apparso nella settima edizione della versione Bell Labs Research di Unix.

Bash è ampiamente compatibile she incorpora utili funzioni della shell Korn e della kshshell C. cshÈ inteso come un’implementazione conforme della parte IEEE POSIX Shell and Tools della specifica IEEE POSIX ( IEEE Standard 1003.1). 

Offre miglioramenti funzionali shsia per l’uso interattivo che per la programmazione.

Sebbene il sistema operativo GNU fornisca altre shell, inclusa una versione di csh, Bash è la shell predefinita. Come altri software GNU , Bash è abbastanza portatile. Attualmente funziona su quasi tutte le versioni di Unix e pochi altri sistemi operativi: esistono porte supportate in modo indipendente per piattaforme MS-DOS , OS/2 e Windows.

Che cos’è una SHELL?

Alla sua base, una shell è semplicemente un macro processore che esegue comandi. Il termine processore macro significa funzionalità in cui testo e simboli vengono espansi per creare espressioni più grandi.

Una shell Unix è sia un interprete di comandi che un linguaggio di programmazione. Come interprete dei comandi, la shell fornisce l’interfaccia utente al ricco set di utilità GNU . 

Le funzionalità del linguaggio di programmazione consentono di combinare queste utilità. È possibile creare file contenenti comandi e diventare essi stessi comandi. Questi nuovi comandi hanno lo stesso stato dei comandi di sistema nelle directory come/bidone, consentendo a utenti o gruppi di creare ambienti personalizzati per automatizzare le loro attività comuni.

Le shell possono essere utilizzate in modo interattivo o non interattivo. In modalità interattiva, accettano l’input digitato dalla tastiera. Quando vengono eseguite in modo non interattivo, le shell eseguono i comandi letti da un file.

Una shell consente l’esecuzione di comandi GNU , sia in modo sincrono che asincrono. La shell attende il completamento dei comandi sincroni prima di accettare più input; i comandi asincroni continuano a essere eseguiti in parallelo con la shell mentre legge ed esegue comandi aggiuntivi. I costrutti di reindirizzamento consentono un controllo dettagliato dell’input e dell’output di tali comandi. Inoltre, la shell consente il controllo sui contenuti degli ambienti dei comandi.

Le shell forniscono anche una piccola serie di comandi incorporati ( builtin ) che implementano funzionalità impossibili o scomode da ottenere tramite utilità separate. Ad esempio, cdbreakcontinue, e execnon possono essere implementati al di fuori della shell perché manipolano direttamente la shell stessa. historygetoptskillpwd, builtin, tra gli altri, potrebbero essere implementati in utilità separate, ma sono più convenienti da usare come comandi integrati . Tutti i builtin della shell sono descritti nelle sezioni successive.

Sebbene l’esecuzione dei comandi sia essenziale, la maggior parte della potenza (e della complessità) delle shell è dovuta ai loro linguaggi di programmazione incorporati. Come ogni linguaggio di alto livello, la shell fornisce variabili, costrutti di controllo del flusso, citazioni e funzioni.

Le shell offrono funzionalità progettate specificamente per l’uso interattivo piuttosto che per aumentare il linguaggio di programmazione. Queste funzionalità interattive includono il controllo del lavoro, la modifica della riga di comando, la cronologia dei comandi e gli alias. Ognuna di queste funzioni è descritta in questo manuale.

/ 5
Grazie per aver votato!

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?