Ján Vorčák Ján Vorčák - 6 months ago 29
Linux Question

Execute command without keeping it in history

I want to execute some commands but don't want to store them in the command history. So that nobody will be able to search it in the

.bash_history
file.

Is there any way how to execute bash commands this way?

Answer

Start your command with a space and it won't be included in the history.

Be aware that this does require the environment variable $HISTCONTROL to be set.

  • Check that the following command returns ignorespace or ignoreboth

    #> echo $HISTCONTROL
    
  • To add the environment variable if missing, the following line can be added to the bash profile. E.g. %HOME/.bashrc

    export HISTCONTROL=ignorespace
    

After sourcing the profile again space prefixed commands will not be written to $HISTFILE