Menu Chiudi

Aumentare la “memoria” della bash per fare alcuni trucchetti…

Se avete seguito qualcuno dei miei precedenti post nella categoria “Comodamente Shell” avete imparato alcuni semplici trucchi che vi permettono di velocizzare notevolmente l’inserimento di comandi che avete già utilizzato in passato, o di riutilizzare parti di comandi dati in precedenza per crearne di nuovi…

bashrc.png

In particolare nel post “Shell: usare /etc/inputrc per alcuni trucchetti“, avevo segnalato come impostare il tasto PagUp per scorrere nello storico dei vostri comandi in base ai primi caratteri di una linea… se non avete capito leggete il post, ci sono molti altri trucchi interessanti, sappiate che li uso praticamente tutti giornalmente da anni, e non ne potrei fare a meno!


Quello che voglio far notare oggi è che tutti i trucchetti basati sullo storico della bash, che vi ho presentato in passato, hanno un’unica limitazione: il file che contiene queste informazioni è limitato generalmente a 500 righe. Dopo aver raggiunto quel limite i nuovi comandi sovrascriveranno quelli più vecchi, e voi perderete quelle bellissime poesie che scrivete nelle vostre sessioni con la shell :D

Questo limite di sole 500 righe significa che se scrivete molto è impossibile richiamare un comando dato ad esempio 15 giorni fa, perché magari è stato sovrascritto da un pezzo e vi toccherà studiare di nuovo il manuale dell’oscuro comando di turno :D

Per ovviare a questo basta modificare il valore predefinito per le dimensioni dello storico: io metto la variabile “HISTSIZE” nel file /etc/bash.bashrc, ma per un uso “personale” va bene anche ~/.bashrc, ossia l’equivalente ma per l’utente attuale. Il valore è il seguente, potete metterlo in qualsiasi punto del file:

HISTSIZE=50000

Rispetto al valore originale (500) il mio è scandalosamente alto, ma stiamo parlando di pochi KB di differenza e non credo che nella vita reale questo causi un rallentamento o un appesantimento qualsivoglia.

Quello di cui sono sicuro è che non devo studiare ogni volta il manuale di `convert’ :D

8 commenti

  1. btbbass

    Ottimo.
    Non è che però le operazioni di ricerca dei comandi diventeranno scandalosamente più lente?Non so come sia organizzata la struttura di ricerca, ma se non è molto ottimizata, un aumento di 2 ordini di grandezza può risultare per lo meno percettibile..

  2. btbbass

    Un suggerimento:
    sul forum gentoo avevo trovato un post che indicava come “beautificare” l’aspetto della linea di prompt nella console, mi pare solo quella virtuale, che in k/ubuntu è a dir poco vomitevole.
    Si tratta di apportare modifiche al bashrc relative alla definizione dei colori e della variabile PS1, che definisce la riga di prompt..
    Basterebbero un paio di colori e qualche info aggiuntiva, e tutto sarebbe molto più trendy..(mio dio, coa sto dicendo…)
    Aspettiamo ansiosi tue notizie al riguardo!!

  3. visik7

    le tamarrate non piacciono neanche a me.
    pero’ devo dire che la shell di 2 colori diversi una x root e una x user normale aiuta
    a dire il vero stavo pure pensando di trovare un modo di far capire a konsole che a seconda della sessione ssh aperta mi dovesse fare uno sfondo di colore diverso.
    sarebbe utile quantomeno a distinguere le varie macchine

  4. Anonimo

    al limite si potrebbe usare questo script in ~/.bashrc per archiviare l’history della shell :

    HISTSIZE=4000
    export HISTSIZE

    if [ `wc -l $HOME/.bash_history | awk ‘{print $1}’` -gt 3999 ]; then
    cp -f $HOME/.bash_history $HOME/.bash_history-`date -I`
    fi

  5. felipe

    @Anonimo #9:
    Il punto di questo post però è quello di utilizzare lo storico per andare a pescare vecchi comandi da autocompletare.

    Che tu sappia HISTFILE supporta più valori o c’è qualche hack pulito per poter fare leggere più file storici alla bash?

  6. Mene

    Per il prompt… sono d’accordo anch’io per quanto riguarda il non appesantire il prompt. Trovo comodo però quello di gentoo: nome utente e directory, con nome utente verde, ma rosso se sei “root” (è importante saperelo, per stare più attenti ai comandi che si digitano).
    Gentoo:
    http://spiro.fisica.unipd.it/~menegolo/img/frambuffer_17_10_05.jpg

    E poi un po’ di colore fa venire più voglia di di usare la linea di comando ;-P
    Ciao ciao!

Rispondi

%d blogger hanno fatto clic su Mi Piace per questo:
Vai alla barra degli strumenti