What are some tricks for avoiding bash history being logged in a fascist logging environment that does not involve modifying .bashrc
or deleting content from within the history file?
3 Answers
One possible solution is to stop logging bash history is:
set +o history
and to reset, that is to start logging again:
set -o history
I guess you have .bash_profile, and this startup file calling .bashrc? Do you have write permission on .bash_profile?
Otherwise, if you just don't want to log some commands, run
$ unset HISTFILE
then all commands afterwards won't be logged within that session.
On stackoverflow they had some decent answers:
- Add a space to your command.
- Add [ \t]* to HISTIGNORE
- Add ignorespace to your HISTCONTROL environment variable
Although not all of them may apply for your situation, those seems like the only options.
-
1It's important to note that HISTIGNORE/HISTCONTROL stop commands from being added to the history list. This probably keeps them from being logged, too, but it also makes them impossible to access with normal history keys (like up and down arrow, ctrl-R, etc.) So if you're used to editing and repeating previously typed commands, these settings are really annoying.– riciJul 27, 2013 at 4:08
-
1Adding a space specifically requires the first character to be a space, right?– phsJul 28, 2013 at 0:49
-
sh
rm ~/.bash_history; ln -s /dev/null ~/.bash_history
?PROMPT_COMMAND
. This is the default$PROMPT_COMMAND
on a server I have access to:history -a >(tee -a ~/.bash_history | logger -t "$USER[$$] $SSH_CONNECTION")