Originally published at: https://korben.info/dintimite-lhistorique-bash.html
Avoir un peu d’intimité pour faire ses propres expériences c’est toujours bien. C’est pourquoi il peut être utile de mieux comprendre comment fonctionne le fichier d’historique bash sous Linux et savoir y effacer les machins un peu honteux, voire les lignes de commandes entrées par erreur avec des mots de passe en clair (bouuuuh, c’est…
Et si on ne veut pas qu’une commande soit dans l’historique, un petit coup sur la barre espace avant de rentrer sa commande
J’allais le dire, tu as été plus rapide
sur quel système ça fonctionne la coup de la barre d’espace ?
je viens d’essayer sur
CentOS 5,6,7
Debian lenny, jessie
macOS X
sans succès
voilà le bince que j’ai mis dans mon profil
export HISTTIMEFORMAT="%F %T - "
config
shopt -s histverify
helper
function h(){
history | grep --color – “${@}”
}
avoid duplicates…
export HISTCONTROL=ignoredups:erasedups
append history entries…
shopt -s histappend
function change_prompt_2() {
export PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$’\n’}history -a; history -c; history -r"
PS1=’[\e[1;48;5;31m] \u [\e[48;5;240m] \W [\e[0m] '
}
change_prompt_2
J’aime bien avoir plusieurs session (avec le même compte) et que ce ne soit pas la dernière qui se termine et qui écrase tout, donc a chaque commande je sauve et recharge l’historique, ainsi d’une session a l’autre je peux réutiliser les commandes précédentes
De toute façon je trouve cette fonction cassé ça ne correspond pas a la réalité sauf du temps ou on ouvrait une seule session en console point barre
J’aimerai pouvoir enregistrer l’historique et le ressortir par session, login utilisateur ou par date sans aucun écrasement possible
Le coup de l’espace ça marche si :
HISTCONTROL=ignorespace
La plupart du temps l’historique est sauvegardé dans le fichier .bash_history a la fin de la session bash, donc pour killer sa session sans enregistrer l’historique :
kill -9 $$
Normalement c’est l’option par défaut sur la plupart des systèmes : https://stackoverflow.com/questions/6475524/how-to-prevent-commands-to-show-up-in-bash-history/29188490#29188490
Il y a un foule d’options et raccourcis autour du “history”, je n’arrive pas à retrouver un post de blog qui était très impressionnant, mais voici un petit aperçu de ce qui est possible : https://www.thegeekstuff.com/2011/08/bash-history-expansion/
Désactiver l’historique du shell courant
HISTFILE=/dev/null