Lors du collage accidentel d'un fichier dans le shell, une tonne d'entrées non-sens laides sont insérées dans l'historique bash. Existe-t-il un moyen propre de supprimer ces entrées? Évidemment, je pourrais fermer le shell et éditer le .bash_history
fichier manuellement, mais peut-être qu’une sorte d’API serait disponible pour modifier l’historique du shell actuel?
la source
tot_lines=$(history | wc -l)
puis en répétanthistory -d $(( tot_lines - $1 ))
.$(history | wc -l)
, il y a la variable$HISTCMD
qui peut être utilisée.Juste cette ligne dans l'invite de commande aidera.
Où START_NUM est la position de départ de l'entrée dans l'historique. N est le nombre d'entrées à supprimer.
ex:
for i in {1..50}; do history -d 1030; done
la source
La réponse de user2982704 a presque fonctionné pour moi, mais pas tout à fait. Je devais faire une petite variation comme celle-ci.
En supposant que mon historique est à 1000 et que je veux supprimer les 50 dernières entrées
la source