3.4 Bash - Bourne Again Shell

La shell di default utilizzata dalla maggior parte delle distribuzioni GNU/Linux è la Bourne Again Shell (detta anche Bash) che può essere lanciata tramite il comando bash (man page bash(1)).

____________________________________________________________________

Comando: bash
Path: /bin/bash

SINTASSI  
$ bash [option] [file [argument]]  
DESCRIZIONE

____________________________________________________________________________________________________________________

La shell è detta shell interattiva quando interagisce con l’utente e di conseguenza mostra il prompt come richiesta ad inserire dei comandi. Una shell è detta shell di login se lanciata con il parametro --login e questo indica a bash di eseguire le istruzioni contenute in particolari file al suo avvio e in altri file subito prima della sua terminazione.

La shell lanciata subito dopo la procedura di accesso al sistema è generalmente una shell interattiva di login.

Quando bash è lanciato come shell di login, subito dopo il suo avvio esso esegue, nell’ordine indicato, i seguenti file (se essi esistono e sono eseguibili):
  1. /etc/profile
  2. ~/.bash_profile
  3. ~/.bash_login
  4. ~/.profile

a meno che non sia stata specificata l’opzione --noprofile. Il file /etc/profile è un file di inizializzazione a livello globale (modificabile solo dal superuser), mentre i file ~/.bash_profile, ~/.bash_login, e ~/.profile sono a livello di utente, ovvero l’utente in questione può personalizzarli come crede (si noti la presenza del carattere ‘~’ che indica la home directory dell’utente);

Quando una shell di login sta per terminare la propria esecuzione, essa esegue il file ~/.bash_logout (se esiste ed è eseguibile) e quindi termina.

Se bash è lanciato come shell interattiva (non di login), subito dopo il suo avvio essa esegue il file ~/.bashrc (se esiste ed è eseguibile), a meno che non sia stata specificata l’opzione --norc o --rcfile (in quest’ultimo caso può essere specificato un altro file da eseguire).

Nel caso in cui bash sia lanciato tramite il comando sh, esso si comporta come la shell tradizionale Bourne Shell, ovvero subito dopo il suo avvio esegue i seguenti file nell’ordine indicato (se essi esistono e sono eseguibili):

  1. /etc/profile
  2. ~/.profile

a meno che non sia stata specificata l’opzione --noprofile.

È vivamente consigliato di leggere la man page bash(1) per una spiegazione più completa e dettagliata del funzionamento di Bash.

Alcune caratteristiche della Bourne Again Shell (presenti anche in altre shell) sono riportate nelle sezioni seguenti.


  3.4.1 Il prompt
  3.4.2 Command line editing
  3.4.3 Caratteri particolari
  3.4.4 L’ambiente
  3.4.5 Name completion
  3.4.6 Alias
  3.4.7 Command history
  3.4.8 Comandi interni ed esterni
  3.4.9 Gestione dei metacaratteri
  3.4.10 Scripting language
  3.4.11 Impostazioni
  3.4.12 La redirezione dei comandi
  3.4.13 Job management