A volte potrebbe essere utile salvare una sessione di shell, magari per riguardare tutte le operazioni compiute con calma o per postare un howto... .
Il modo più semplice di farlo è di usare il comando script, presente in quasi tutte le distribuzioni.
Basta indicare il nome del file in cui si vuole salvare la sessione:
pmate@pc:~$ script miasessione.log
Una volta lanciato il comando tutto quello che si farà sulla shell verrà "registrato" nel file miasessione.log fino a che non verrà impartito il comando
pmate@pc:~$ exit
Il file miasessione.log conterrà dunque i comandi impartiti, l'output che questi genereranno e il timestamp indicante l'inizio e la fine della registrazione.
Facciamo un esempio:
pmate@pc:~$ script miasessione.log
Script started on mar 18 mar 2008 01:44:23 CET
pmate@pc:~$ uname -a
Linux debian-laptop 2.6.22-3-686 #1 SMP Sun Feb 10 20:20:49 UTC 2008 i686 GNU/Linux
pmate@pc:~$ exit
exit
Script done on mar 18 mar 2008 01:44:38 CET
Se adesso diamo un bel cat:
pmate@pc:~$ cat miasessione.log
Script started on mar 18 mar 2008 01:44:23 CET
$ uname -a
Linux debian-laptop 2.6.22-3-686 #1 SMP Sun Feb 10 20:20:49 UTC 2008 i686 GNU/Linux
$ exit
exit
Per "pulire" il contenuto di miasessione.log dai caratteri di escape, che con il comando cat non vengono visualizzati ma con gli editor di testo (ad esempio vim) disturbano non poco la visualizzazione, basta dare:
pmate@pc:~$ col -bx <miasessione.log >miasessione.txt
Definizione di shell. Panoramica delle shell più diffuse. Introduzione alla bash.