Risposte:
Puoi invertire le impostazioni predefinite di Ubuntu impostando due variabili (HISTIGNORE an HISTCONTROL), usa i comandi come di seguito:
HISTIGNORE='!( *)'
HISTCONTROL=ignoredups
HISTCONTROL=ignoredups
cambia il comportamento della cronologia per ignorare solo le linee duplicate e non ignorare le linee che iniziano con uno spazio. (È inoltre possibile impostare HISTCONTROL sulla stringa vuota (con HISTCONTROL=
) se si desidera conservare i duplicati, ma di solito ciò non è desiderato.)
HISTIGNORE='!( *)'
fa in modo che la storia ignori ogni riga che non inizia con uno spazio: ( *)
corrisponderebbe a ogni riga che inizia con uno spazio, ma il primo punto !
nega la corrispondenza, quindi corrisponde a tutto ciò che non inizia con uno spazio. E tutto ciò che corrisponde al modello HISTIGNORE verrà ignorato dalla storia. (Quest'ultima opzione richiede che bash sia eseguito con extglob
acceso, con shopt -s extglob
, ma questa è l'impostazione predefinita su Ubuntu.)
Se vuoi renderlo permanente, non dimenticare di inserire i due comandi sopra nel tuo ~/.bashrc
.
HISTIGNORE='ls*:cd*'
, che farà ignorare la cronologia di ogni riga che inizia con ls
o cd
, puoi estendere tale elenco con altri comandi, basta inserire un :
comando tra . Ma non dimenticare che anche la funzione di richiamo del comando a cui puoi accedere con il "tasto freccia su" utilizza questa cronologia, quindi se imposti qualcosa da ignorare, non sarai in grado di richiamare quei comandi ignorati con " freccia su ".
ssh-copy-id
o ssh-keygen
. In HISTIGNORE
, ho incluso " ssh\ *
" con i miei altri comandi ignorati. La fuga dal carattere spaziale sembra essere obbligatoria.
" I comandi eseguiti nel terminale con prefisso spazi vuoti non sono registrati nel file della cronologia dei comandi "
Sì.
.bashrc
... Ne avevo bisogno per impedire a bash di registrare ognicd
s, sels
e altri comandi quotidiani che uso; e per quei pochi comandi di cui ho bisogno nella storia, ora posso usare il prefisso ..