Standardmäßig speichert die Bash alle eingegebenen Kommandos in der Datei .bash_history so das man alle eingegebenen Kommandos einfach mit den Pfeil-Auf- und -Ab-Tasten durchblättern und erneut ausführen kann. Wer jedoch möchte, das die Kommandos, die er in der bash ausgeführt hat, nicht gespeichert werden, muss lediglich folgende Kommandos ausführen:
rm -f ~/.bash-history ln -sf /dev/null ~/.bash_history
Diese beiden Kommandos sorgen dafür, das die vorhandene History gelöscht und anschließend ein Soft-Link mit dem Namen .bash_history erstellt wird, der auf das Null-Device von Linux verweist. Somit landet ab sofort alles, was in die .bash-history geschrieben werden soll, stattdessen in /dev/null. Einfach und effektiv 😎
Sorry,
aber was für ein Umstand! Ein simples ‚unset HISTFILE‘ in der .bash_profile tut es genauso gut.
Kann man auch machen. Meine Lösung ist aber unauffälliger 😉 Falls jemand danach sucht, wird er eine .bash_history finden 😎
Ich hab den Artikel trotzdem ergänzt. Dann kann sich jeder aussuchen, wie er es machen möchte 😉
Ok! Aber warum die .bash_history löschen? Wenn ich die Datei mit ‚cat /dev/null > ~/.bash_history‘ leere ist sie weiterhin vorhanden aber wird nicht mehr genutzt! Da ist bei einem ‚ls -l‘ völlig unauffällig! Der Symbolische Link nach ‚/dev/null‘ fällt jedoch auf.
Im weiteren solle man ein ‘unset HISTFILE’ auch in der shell machen die ich nutze! Denn ansonsten landen diese Befehle beim beenden der Shell als letztes in der History!
Ich hab Deinen Weg wieder aus dem Artikel wieder entfernt, weil er schlicht und einfach nicht funktioniert. Ich habs den halben Nachmittag ausprobiert aber die bash hat trotzdem weiter die History angelegt.
Und selbst wenn man sieht, das ~/.bash_history ein Symlink auf /dev/null ist, hilft einem das nix, weil man trotzdem nicht nachvollziehen kann, welche Kommandos zuletzt in der Bash ausgeführt wurden 😉
Füge einfach export HISTFILE=““ am Ende der bash_profile Datei ein, und es sollte keine bash_history mehr, mit einer neuen Bash Session, erstellt werden.