Entradas no histórico

2

Eu geralmente incluo a senha quando entro no MySQL . Como eu excluo o mysql -u root -pPassword que está sendo coletado e armazenado pelo histórico ?

    
por nicoX 26.09.2014 / 16:08

1 resposta

2

Coloque um espaço antes do seu comando.

Isso funcionará porque, por padrão, a variável $HISTCONTROL contém ignoreboth , o que significa ignorespace e ignoredups ; ignorespace é o que faz com que o bash não salve o comando no histórico quando há um espaço principal.

Em man bash :

  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 regardless
              of the value of HISTCONTROL.

Se você quiser excluir um determinado comando do sistema de histórico do Bash, adicione o seguinte ao seu /etc/bash.bashrc :

HISTIGNORE='mysql*'

Isso excluirá qualquer comando que comece com mysql .

Execute source /etc/bash.bashrc para aplicar as alterações.

  

Fonte:

    
por Alaa Ali 26.09.2014 / 16:55