Bash tips: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
erasedups
(+Comando lungo su più righe)
(erasedups)
Riga 314: Riga 314:


Aumenta la capacità del file <code>.bash_history</code> dalle 500 righe predefinite a 3333:
Aumenta la capacità del file <code>.bash_history</code> dalle 500 righe predefinite a 3333:
export HISTFILESIZE=3333
<pre>export HISTFILESIZE=3333</pre>


Si noti che nel caso non si tenga pulito il file da eventuali errori di digitazione, o non si applicano le successive variabili qui esposte è consigliabile aumentare di molto questo valore in quanto il file verrà troncato una volta raggiunto quel numero. <br>
Si noti che nel caso non si tenga pulito il file da eventuali errori di digitazione, o non si applicano le successive variabili qui esposte è consigliabile aumentare di molto questo valore in quanto il file verrà troncato una volta raggiunto quel numero. <br>
Riga 320: Riga 320:


Non salva nel file della history i comandi doppi (già presenti) e quelli preceduti da uno spazio:
Non salva nel file della history i comandi doppi (già presenti) e quelli preceduti da uno spazio:
export HISTCONTROL=ignoreboth
<pre>export HISTCONTROL=ignoreboth</pre>
Se invece si vuole cancellare dalla cronologia ogni comando uguale all'ultimo comando immesso (comandi duplicati), basta modificare la linea precedente in:
<pre>export HISTCONTROL=ignoreboth:erasedups</pre>


<code>ignoreboth</code> è la combinazione di <code>ignorespace</code> e <code>ignoredups</code>; il primo in particolare è di una comodità assoluta per non inserire comandi che non si vuole mantenere, sia per ragioni di sicurezza che di comodità.
<code>ignoreboth</code> è la combinazione di <code>ignorespace</code> e <code>ignoredups</code>; il primo in particolare è di una comodità assoluta per non inserire comandi che non si vuole mantenere, sia per ragioni di sicurezza che di comodità.


Ma visto che è difficile ricordarsi sempre di preporre uno spazio utilizziamo una variabile che ignorerà per noi certi comandi o pattern:
Ma visto che è difficile ricordarsi sempre di preporre uno spazio utilizziamo una variabile che ignorerà per noi certi comandi o pattern:
export HISTIGNORE="&:su:[bf]g*:v[du]:pwd:ls*:grep*:less*:cat*:rm*:mv*:cp*"
<pre>export HISTIGNORE="&:su:[bf]g*:v[du]:pwd:ls*:grep*:less*:cat*:rm*:mv*:cp*"</pre>


Ognuno è separato dai due punti, dove c'è un <code>'''*'''</code> significa che ignorerà anche il seguito, ad esempio <code>'''ls'''</code> ignorerà solo <code>'''ls'''</code>, <code>'''ls*'''</code> ignorerà anche <code>'''ls /media/'''</code>. <br>
Ognuno è separato dai due punti, dove c'è un <code>'''*'''</code> significa che ignorerà anche il seguito, ad esempio <code>'''ls'''</code> ignorerà solo <code>'''ls'''</code>, <code>'''ls*'''</code> ignorerà anche <code>'''ls /media/'''</code>. <br>
Le parentesi quadre servono a evitare di ripetere comandi simili, quindi nell'esempio verrano considerati sia <code>'''bg'''</code> che <code>'''fg'''</code>, sia <code>'''vd'''</code> che <code>'''vu'''</code>. <br>
Le parentesi quadre servono a evitare di ripetere comandi simili, quindi nell'esempio verrano considerati sia <code>'''bg'''</code> che <code>'''fg'''</code>, sia <code>'''vd'''</code> che <code>'''vu'''</code>. <br>
La <code>'''&'''</code> rappresenta la riga precedente nella cronologia, ovvero evitare di trovarsi una riga aggiunta nel file per ogni volta che si digita un certo comando, se invochiamo <code>'''man bash'''</code> più volte questo verrà inserito ogni volta come se fosse un comando nuovo (sì, a dispetto di <code>ignoredups</code>).
La <code>'''&'''</code> rappresenta la riga precedente nella cronologia, ovvero evitare di trovarsi una riga aggiunta nel file per ogni volta che si digita un certo comando, se invochiamo <code>'''man bash'''</code> più volte questo verrà inserito ogni volta come se fosse un comando nuovo (sì, a dispetto di <code>ignoredups</code>).


==Miscellanea==
==Miscellanea==
6 999

contributi

Menu di navigazione