Bash sembra un nome strano per un'interfaccia a riga di comando che accoglie gli utenti che accedono a qualsiasi distribuzione Linux. Cos'è esattamente Bash? Per cosa puoi usarlo? Scopriamolo.
Anche se Bash è solitamente associato a Linux, puoi anche usarlo su Windows. macOS include già Bash, anche se ha cambiato la shell predefinita in Zsh, una versione avanzata di Bash con alcune funzionalità aggiuntive.
Cos'è una Shell?
Il termine shell Bash viene spesso utilizzato, ma cos'è una shell? Perché è necessario? E perché Bash sembra essere l'unica shell disponibile?
I moderni sistemi operativi, con le loro interfacce utente grafiche intuitive, hanno fatto sembrare facile l'uso del computer. Ma agli albori dei computer, dire a un sistema cosa fare non era così semplice.
I programmatori dovevano conoscere i dettagli di basso livello del sistema per cui stavano codificando e istruire manualmente ogni componente hardware. I sistemi operativi sono stati progettati per colmare questa lacuna, ma come istruiresti il sistema operativo stesso?
Entra nella Shell. Lo strato più esterno del sistema operativo è stato progettato per essere un ambiente interattivo che espone tutte le funzionalità del computer in un'interfaccia semplice. Questa shell era la cosa più profonda in cui un utente del computer doveva addentrarsi, poiché conteneva tutti i comandi necessari per far funzionare il sistema.
Bourne Again: come è nato Bash
Un malinteso comune è che Bash sia stato creato da Linus Torvalds per il sistema operativo Linux. In realtà, Bash è stato semplicemente portato su Linux, già utilizzato nel suo predecessore, Unix.
Per molti versi, Unix è il luogo in cui tutto ha avuto inizio per i moderni sistemi operativi. Ha eliminato gran parte della complessità contorta che affliggeva le prime implementazioni del sistema operativo, presentando le funzioni di un computer in un'interfaccia basata su testo relativamente semplice.
Naturalmente, Unix stesso ha preso in prestito la maggior parte delle sue idee da Multics, compreso il concetto di shell. Ma è stato Unix a rendere popolare la tecnica, con la Thompson Shell lanciata con la sua prima versione.
Tuttavia, le sue funzionalità erano piuttosto limitate e molti programmatori finirono per modificare la shell per renderla più facile da usare per gli script. La Bourne Shell è stata la sostituzione ufficiale della shell Unix, aggiungendo il supporto per gli script di shell..
La Bourne Again Shell è stata rilasciata molto più tardi, offrendo un ulteriore miglioramento nelle sue capacità di scripting e trasformandola in una shell di licenza GNU open source gratuita che poteva essere utilizzata da qualsiasi sistema operativo. Ed è stata rapidamente adottata da Linux, diventando la shell predefinita per le sue varie distribuzioni.
Ma cosa può fare Bash?
Bash è fondamentalmente un ambiente di scripting completo con accesso completo al sistema Linux. Dalla gestione dei file all'esecuzione delle applicazioni, puoi eseguire ogni attività informatica con i comandi Bash.
Per la maggior parte degli utenti Linux, questo si traduce solo in comandi manuali della shell. Dopotutto, lo scopo principale di Bash è quello di fungere da interfaccia per il sistema operativo.
E ci sono parecchi di questi comandi integrati. Puoi gestire la proprietà dei file con chown, configurare le impostazioni di rete con ifconfig, individuare le directory con Trovare : l'elenco potrebbe continuare.
Ma Bash non esisterebbe se i comandi di Linux fossero tutto ciò a cui gli utenti fossero interessati. No, il vero potere della shell di Linux risiede nello scripting.
L'importanza dello scripting
L'idea di creare script di comandi è semplice. Invece di inserire manualmente tutti i comandi che vuoi che il sistema esegua uno per uno, salvi i comandi in un file di testo che può essere eseguito su richiesta.
Ciò trasforma l'interfaccia della shell in una sorta di linguaggio di programmazione, consentendo agli utenti di automatizzare qualsiasi azione in uno script riutilizzabile. Ovviamente va oltre, poiché qualsiasi linguaggio di programmazione ha bisogno di cose come variabili e funzioni oltre alla capacità di salvare il codice.
E Bash ha tutte queste funzionalità. Questo è il motivo per cui la shell, e in una certa misura Linux in generale, è così popolare per la gestione di server e sistemi commerciali.
Un utente domestico può farlo facendo clic su una serie di pulsanti, ma un amministratore di sistema deve essere in grado di eseguire qualsiasi azione su un gran numero di computer in remoto. Gli script Bash sono ciò che rende possibile questo tipo di gestione automatizzata del sistema.
Ad esempio, considera la nostra guida su rinominare file e cartelle su Linux. La guida illustra entrambi i metodi: GUI e script. Come puoi vedere, il metodo di scripting è molto più scalabile quando sono coinvolti un gran numero di file.
Iniziare con Bash.
L'aspetto positivo di Bash è che non è limitato solo a Linux. Ora puoi installare Linux su Windows tramite il sottosistema Windows per Linux (WSL), fornito con Bash per impostazione predefinita.
Ciò significa che puoi iniziare a sperimentare con Bash senza dover passare completamente a Linux. Anche se sei un utente occasionale che non intende lavorare con i server Linux, le interessanti funzionalità di una shell Bash possono esserti utili.
Non che Bash sia la tua unica opzione per automatizzare le attività informatiche. PowerShell è un'interfaccia simile che funziona con Windows, a parte ciò che puoi gestire con il prompt dei comandi, ovviamente.