Leia man bash
, set
incorporado e a seção HISTCONTROL
:
HISTCONTROL
A colon-separated list of values controlling how commands are saved on the history list. If the list of values includes ignorespace, lines
which begin with a space character are not saved in the history list. A value of ignoredups causes lines matching the previous history
entry to not be saved. A value of ignoreboth is shorthand for ignorespace and ignoredups. A value of erasedups causes all previous lines
matching the current line to be removed from the history list before that line is saved. Any value not in the above list is ignored. If
HISTCONTROL is unset, or does not include a valid value, all lines read by the shell parser are saved on the history list, subject to the
value of HISTIGNORE. The second and subsequent lines of a multi-line compound command are not tested, and are added to the history regard‐
less of the value of HISTCONTROL.
No meu ~/.bashrc
eu tenho:
export HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups
Aqui está um exemplo:
w3@aardvark:~(0)$ echo $HISTCONTROL
ignoreboth
w3@aardvark:~(0)$ date
Sat Jun 27 19:50:56 EDT 2015
w3@aardvark:~(0)$ date
Sat Jun 27 19:50:57 EDT 2015
w3@aardvark:~(0)$ date
Sat Jun 27 19:50:58 EDT 2015
w3@aardvark:~(0)$ history
1 cd
2 echo $HISTCONTROL
3 date
4 history
w3@aardvark:~(0)$
As execuções de date
após history
serão registradas e contadas.