J'utilise bash et je voudrais éviter que certaines commandes soient conservées dans l'historique.
- Est-il possible de faire cela pour la prochaine commande seulement?
- Est-il possible de faire cela pour toute la session?
J'utilise bash et je voudrais éviter que certaines commandes soient conservées dans l'historique.
Réponses:
et je viens de me rappeler une autre réponse, celle-ci est la réponse réelle à votre question.
si vous avez "ignorespace" dans HISTCONTROL, alors bash ne se souviendra pas de toute ligne commençant par un caractère d'espacement. il n'apparaîtra même pas dans l'historique du shell actuel, encore moins sera sauvegardé dans $ HISTFILE.
par exemple, j'ai exporté HISTCONTROL = 'ignoreboth: erasedups' dans mon ~ / .bashrc
voici les détails de la page de manuel bash:
la source
Voici quelques leçons d'histoire que j'ai apprises en googlant:
Vous pouvez définir l'historique pour ignorer certaines chaînes. Dans cet exemple, j'ai ignoré les commandes ls, passwd et les commandes préfixées par l'espace de caractères.
Pour désactiver l'historique de votre session, vous pouvez émettre:
Référence
la source
Si vous souhaitez simplement supprimer la dernière commande de l'historique, vous pouvez appuyer sur Up-arrow, suivi de Ctrl - U(effacer au début de la ligne), puis à Up-arrownouveau.
Vous pouvez effacer n'importe quelle ligne de l'histoire comme celle-ci. Utilisez simplement la flèche vers le haut, la recherche ou autre chose pour définir la ligne de commande en cours de modification, puis appuyez sur Ctrl - U, puis sur Up-arrowou Down-arrowpour passer à une autre ligne de l'historique.
J'ai découvert cela par accident, il y a un jour et demi. Je ne sais pas si c'est documenté ou non.
En général, cependant, il est moins fastidieux de ne pas sauvegarder l'historique du shell actuel avec:
la source
Vous pouvez désélectionner la
HISTFILE
variable. Deman bash
:Je ne pense pas que cela empêche la commande d'apparaître dans l'historique du shell local avant sa sortie.
la source
Je fais parfois
la source
Je vois que personne n'a écrit cette méthode, alors je le ferai.
history -d
supprime l'entrée mentionnée de l'historique.HISTCMD
stocke le numéro de commande de la commande à exécuter ensuite. Ainsi, (HISTCMD-1) fait référence à la dernière commande exécutée.J'ai fait un court film sur Bash qui montre comment cela fonctionne: https://asciinema.org/a/dtxpuovhty0obhln50soqypt2
Après avoir exécuté la commande et parce qu'elle supprime également la commande elle-même, le fait de monter avec la flèche n'affichera pas la commande. Par conséquent, si vous prévoyez de l'utiliser fréquemment, il serait préférable de créer un alias:
Ensuite, vous pouvez faire:
la source