dimanche 16 décembre 2007
Historique des commandes bash (HISTIGNORE)
Par haypo, dimanche 16 décembre 2007 à 15:04 :: Logiciel libre
Un ami, toady, m'a appris une super astuce pour l'interpréteur bash : la variable d'environnement $HISTIGNORE. Elle permet d'éviter que certaines commandes soient mises dans l'historique. Voici ma configuration actuelle :
export HISTIGNORE='&:[bf]g:exit:*>|*:history*:svn revert*:svnrevert*:*rm*-rf*:*rm*-f*'
- « & » évite de sauver plusieurs fois la même commande
- « [bf]g » ignore les commandes « bg » et « fg »
- « *>|* » ignore toutes les commandes contenant >| (redirige la sortie dans un fichier même s'il existe déjà )
- « history* » ignore les commandes contenant « history » (ex: "history|tail")
- « svn revert* » et « svnrevert* » ignore la commande svn revert (et mon alias svnrevert)
- « *rm*-rf* » et « *rm*-f* » ignorent « rm -rf » et « rm -f »
Cette configuration m'empêche en particulier de reproduire la boulette suivante :
svn diff > ~/patch (...) svn diff >| ~/patch svnrevert >| ~/patch # aïe !