Product SiteDocumentation Site

8.6. Ambiente shell

Gli interpreti dei comandi (o shell) possono essere il primo punto di contatto dell'utente con il computer, e devono quindi essere piuttosto amichevoli. Molti usano script di inizializzazione che consentono la configurazione del loro comportamento (completamento automatico, testo del prompt, ecc.).
bash, la shell standard, usa lo script di inizializzazione /etc/bash.bashrc per shell "interattive" e /etc/profile per le shell di "login".
In termini semplici, una shell di login è invocata quando si esegue il login alla console localmente o da remoto usando ssh, oppure eseguendo il comando esplicito bash --login. Che si tratti di una shell di login oppure no, una shell può essere interattiva (per esempio in un terminale tipo xterm) o non interattiva (quando si esegue uno script).
Per bash è utile installare e attivare il "completamento automatico". Il pacchetto bash-completion contiene questi completamenti per i programmi più comuni e solitamente è abilitato se il file di configurazione .bashrc dell'utente era stato copiato da /etc/skel/.bashrc. In alternativa può essere abilitato tramite /etc/bash.bashrc (semplicemente togliendo il commento a poche righe) o /etc/profile.
Oltre a questi script comuni, ogni utente può creare i propri ~/.bashrc e ~/.bash_profile per configurare la propria shell. La modifica più comune riguarda l'aggiunta di alias: sono parole che vengono automaticamente sostituite con l'esecuzione di un comando per rendere più veloce il lancio di tale comando. Per esempio, si può creare l'alias la per il comando ls -la | less, così si dovrà digitare semplicemente la per ispezionare i contenuti di una directory in dettaglio. Notare che la shell necessita di essere reinizializzata dopo aver aggiunto un alias, ad esempio avviando una nuova shell.
L'impostazione di variabili d'ambiente predefinite è un elemento importante della configurazione della shell. Tralasciando le variabili specifiche di una shell, è preferibile inserire le variabili di sistema nel file /etc/environment, poiché è utilizzato dai programmi che possono avviare una sessione di shell. Le variabili tipicamente definite in questo file includono ORGANIZATION, che di solito contiene il nome dell'azienda o dell'organizzazione e HTTP_PROXY, che indica l'esistenza ed i dati di un proxy HTTP. Altre opzioni includono l'impostazione di variabili a livello di sistema tramite gli script in /etc/profile.d o di variabili a livello di sessione tramite .pam_environment o .profile, dove il secondo può sovrascrivere qualsiasi definizione contenuta nel primo. Il file /etc/default/locale è destinato a contenere le variabili d'ambiente relative alla localizzazione del sistema.