Skip to main content

Cos'è il Shell Bourne?

La shell Bourne è un piccolo programma che funziona su Unix e Linux sistemi operativi e fornisce un'interfaccia per eseguire programmi sul sistema.Viene spesso definito un'interfaccia della riga di comando o interprete di comando, in quanto non fornisce alcuna interfaccia utente grafica (GUI) all'utente.I comandi e tutti i parametri necessari da eseguire vengono digitati nella shell.Bourne Shell è anche un linguaggio di scripting, che consente agli utenti di creare ed eseguire file di script in grado di elaborare i dati attraverso più programmi tramite un singolo comando.Su sistemi unix reg;-simili, il programma è semplicemente noto come Sh.

I primi di questi conchiglie per Unix I sistemi erano conosciuti come Thompson Shell, creato da Ken Thompson, uno dei creatori originali di Unix sistema operativo.La shell Thompson era limitata all'interpretazione del comando e una serie di funzioni aggiuntive dovevano essere eseguite come operazioni esterne.Più tardi, Stephen Bourne ha creato la shell di Bourne per sostituire la shell Thompson, aggiungendo una serie di nuove funzionalità nella shell stessa, così come il linguaggio di scripting di conchiglie.

In realtà, la shell di Bourne è stata pianificata come un linguaggio di script del GET-andare.Mentre era ancora l'interfaccia della riga di comando per Unix Versione sette, ha anche aperto la possibilità agli utenti di sviluppare script di shell che collegassero i comandi per elaborare i dati.Attraverso l'uso di questa programmazione, l'utente potrebbe stabilire variabili per l'acquisizione di dati noti o sconosciuti da input o output e manipolare l'elaborazione di tali dati attraverso l'uso di istruzioni condizionali nello script tramite una tecnica denominata flusso di controllo.

Questo è stato anche il primo shell a implementare una funzionalità nota come gestione del segnale.Attraverso la shell Bourne, un utente può inviare un tipo specifico di segnale a un processo già in esecuzione sul computer, istruendo tale processo a fare qualcos'altro.Molti di questi sono modi per fermare un processo che sta eseguendo e produrre una sorta di output che può essere utilizzato per il debug, sebbene altri esistano per fermare temporaneamente un processo, riprendere e così via.

La capacità di controllare direttamente i descrittori di file eraUn altro primo per il Shell Bourne.Su un sistema Unix -simile, ogni programma in esecuzione ha una tabella che elenca i descrittori di file per eventuali file aperti.Ciò può includere qualsiasi cosa, da un semplice file di testo a una directory o persino dalle prese di comunicazione che i processi utilizzano per condividere i dati tra loro.Affinché un utente abbia il controllo sui descrittori di file su un sistema consentito per un controllo senza precedenti sull'input e l'output praticamente per tutto sul computer.

Naturalmente, anche se la shell Bourne offriva tale funzionalità aggiuntiva agli utenti, mancava di funzionalitàcome la capacità di controllare i processi in modo interattivo, stabilire alias di comando e conservare una storia.Successivamente, tuttavia, un certo numero di discendenti iniziò a emergere che prese le caratteristiche di shell più utili che erano state ideate nel corso degli anni e le lanciarono in nuove conchiglie.Un esempio comune è il shell di Bourne-Again, o Bash, che è comune su molti Linux sistemi.Di conseguenza, molti di questi discendenti sono pienamente in grado di eseguire normali script di shell Bourne, dando a ogni sistema UNIX -simile a una certa implementazione della shell di Bourne originale in un modo o nell'altro.Su molti Linux sistemi, questo è semplicemente un collegamento da sh a bash o qualche altro discendente abili.