Una delle caratteristiche della filosofia di Unix è che l'impostazione del sistema non vuole prevedere tutte le necessità dell'utente, ma tenta di rendere semplice per ciascuno modificarsi l'ambiente a seconda delle proprie necessità.
Ogni shell prevede uno o più "file di configurazione" che viene processato ogni volta che viene invocata. Di fatto, gli script di inizializzazione di una shell, sono normali script che si eseguono all'avvio delle shell stessa.
Questi file di configurazione sono noti anche come "file init", "file rc"" (per "run control", controllo dell'esecuzione) o anche "file punto", perché il loro nome di solito inizia con ".".
La shell di default di Linux è la bash.
I file di configurazione della bash di default sono:
/etc/bashrc
: Contiene gli alias e le funzioni valide per l'intero sistema;
/etc/profile
: Contiene le variabili d'ambiente per l'intero sistema e i programmi di avvio;
$HOME/.bashrc
: Contiene gli alias e le funzioni dell'utente;
$HOME/.bash_profile
: Contiene le variabili d'ambiente e i programmi di avvio dell'utente;
$HOME/.inputrc
: Contiene definizioni di tasti e altre funzioni.
Per personalizzare il proprio ambiente bash è necessario modificare il file $HOME/.bashrc
.
E' possibile creare alias per comandi che vengono usati spesso (alias "alias"= "comando") o modificare il prompt utilizzando il linguaggio bash o eseguire determinati programmi all'avvio della shell ecc.
Oltre agli script eseguiti al login, la shell può eseguire uno script al momento del logout da parte dell'utente.
Per la bash, questo script, se esiste, è : $HOME/.bash_logout
L'ambiente shell e lo scripting: variabili d'ambiente, cicli, strutture base.
Amministrazione di sistemi LinuxOverview delle attività di amministrazione dei sistemi Linux
Usa /etc/skel
Crea in /etc/skel/ un file .bash_logout con i comandi che vuoi.
Quando crei un nuovo utente questo file verrà copiato automaticamente nella sua home (ma potrà essere modificato dell'utente stesso e vale solo per nuovi utenti)
.bash_logout
come si fa a far si che on logout di ogni utente venga eseguito un comando?