Bash
Da Wikipedia, l'enciclopedia libera.
Bash |
|
---|---|
Sviluppatore | Chet Ramey |
Ultima versione | 3.2.25 / 22 agosto 2007 |
SO | Cross-platform |
Genere | Unix shell |
Licenza | GNU General Public License |
Sito web | Official website |
Bash (acronimo per bourne again shell) è una shell del progetto GNU usata nei sistemi operativi Unix e specialmente in GNU/Linux, ma disponibile anche per Microsoft Windows.
Si tratta di un interprete di comandi che permette all'utente di comunicare col sistema operativo attraverso una serie di funzioni predefinite, o di eseguire programmi. bash è in grado di eseguire i comandi che le vengono passati, utilizzando la redirezione dell'input e dell'output per eseguire più programmi in cascata passando l'output del precedente come input del successivo.
Oltre a questo, bash mette a disposizione un semplice linguaggio di programmazione che permette di svolgere compiti più complessi, non solo raccogliendo in un file una serie di comandi, ma anche utilizzando variabili, funzioni e strutture di controllo del flusso.
Tecnicamente bash è un clone evoluto della shell standard di unix (/bin/sh) chiamata anche Bourne Shell dal nome del suo autore originario Stephen Bourne. L'espansione dell'acronimo bash, Bourne again shell, letteralmente significa un'altra shell Bourne, ma Bourne again può essere interpretato come rinata creando la definizione finale shell rinata (un pessimo gioco di parole, secondo Linus Torvalds).
Alla partenza, bash carica dalla home directory i file .bashrc e .bash_profile, che l'utente può modificare per personalizzare il proprio ambiente di lavoro.
Altre shell alternative a bash e piuttosto diffuse sono csh e tcsh.
[modifica] Esempi esplicativi
Il seguente codice permette di racchiudere all'interno di un file tgz l'intero contenuto di una cartella.
#!/bin/bash
tar -cZf /var/my-backup.tgz /home/me/
Con BASH è possibile anche effettuare automaticamente operazioni quali l'aggiornamento del software utente. Ad esempio, su un sistema basato su debian è possibile aggiornare e pulire il sistema con il seguente codice:
#!/bin/bash
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get autoclean
sudo apt-get clean
Salvando tale file, dotato di permessi d'esecuzione, all'interno di una delle cartelle del PATH, si può ottenere una comoda e semplice utility BASH.
[modifica] Strutture condizionali
#!/bin/bash if cmp a b &> /dev/null then echo "I File a e b sono identici." else echo "I File a e b sono diversi." fi
[modifica] Collegamenti esterni
- Personalizzazione del prompt bash
- Guida avanzata di scripting bash
- Pagine man comandi bash
- (EN) Imparare la shell
- Semplice guida ai principali comandi della bash
- (EN) win-bash una versione della shell Bash per Microsoft Windows]
|
||
---|---|---|
Storia | Manifesto GNU · Progetto GNU · Free Software Foundation · Storia del software libero | ![]() |
Licenze GNU | GNU General Public License · GNU Lesser General Public License · GNU Free Documentation License · GPL linking exception · GNU Affero General Public License | |
Software | GNU (Varianti) · GNOME · Gnuzilla · Gnash · bash · GCC · GNU Emacs · glibc · Coreutils · GNU build system · Lista dei pacchetti GNU | |
Rappresentanti | Robert J. Chassell · Loïc Dachary · Ricardo Galli · Georg C. F. Greve · Federico Heinz · Benjamin Mako Hill · Bradley M. Kuhn · Eben Moglen · Richard Stallman · John Sullivan |
Portale Software libero: accedi alle voci di Wikipedia che parlano di Software libero