Je travaille sous OS X 10.9.1 (Mavericks), en utilisant Terminal, qui rapporte qu'il s'agit de GNU bash, version 3.2.51(1)-release (x86_64-apple-darwin13)
J'ai remarqué des problèmes étranges où l'historique ne fonctionnait pas correctement : history -a
y history -a filename.txt
ne pas faire tout ce qui est . history
montre l'histoire à laquelle je m'attendais. Cela brise la synchronisation de l'historique de mon .bashrc entre les terminaux.
J'ai commencé à enquêter en modifiant manuellement les variables HIST de bash. Voici comment je parviens à reproduire mon problème dans des conditions quelque peu contrôlées :
-
J'ai désactivé mon .bashrc
-
J'ai ouvert une nouvelle fenêtre de terminal et effacé l'historique.
history -c
-
J'ai confirmé que ma PROMPT_COMMAND est revenue à la normale/par défaut :
echo $PROMPT_COMMAND
Cela renvoie : update_terminal_cwd ;
-
J'ai défini manuellement les variables HIST pertinentes :
export HISTFILE="/Users/rsage/temp_history.txt" export HISTSIZE=20000 export HISTFILESIZE=20000
-
Je confirme que mes fichiers d'historique de test sont supprimés :
ls *history*.txt # To make sure I know what I'm about to delete rm *history*.txt
-
Je tente de sauvegarder l'historique en utilisant
history -a
sans succèshistory -a history -a history_a.txt ls -ltr ; date
Ce dernier ne présente aucun fichier historique :
... drwx------+ 40 rsage staff 1360 Dec 20 14:16 Desktop drwxr-xr-x 4 rsage staff 136 Dec 20 18:48 webApps drwxr-xr-x 8 rsage staff 272 Dec 22 09:11 code drwxr-xr-x 17 rsage staff 578 Dec 22 09:26 stuff
Sun Dec 22 10:17:50 PST 2013
-
...mais je suis tombée sur la
history -w
(je sais que cela écrase le fichier, ce qui est bien avec mon bashrc nominal) et cela semble fonctionner correctement :history -w history -w history_w.txt ls -ltr ; date
ce qui donne les résultats escomptés :
... drwx------+ 40 rsage staff 1360 Dec 20 14:16 Desktop drwxr-xr-x 4 rsage staff 136 Dec 20 18:48 webApps drwxr-xr-x 8 rsage staff 272 Dec 22 09:11 code drwxr-xr-x 17 rsage staff 578 Dec 22 09:26 stuff -rw------- 1 rsage staff 461 Dec 22 10:19 temp_history.txt -rw------- 1 rsage staff 494 Dec 22 10:19 history_w.txt
Une dernière note. Il m'est venu à l'esprit que mes tailles étaient peut-être trop grandes, alors j'ai juste essayé 200 et aucun changement de comportement (les trente sont les chiffres de sortie de l'histoire) :
34 export HISTFILESIZE=200
35 export HISTSIZE=200
36 history -a
37 history -a history_a.txt
38 ls -ltr ; date
Les sorties ls ne montrent aucun nouveau fichier.
0 votes
Je viens de répéter l'expérience sur un autre ordinateur avec OS X 10.8.5, GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin12). Je suppose que ce n'est pas Mavericks...