En mode gui, lorsqu'un utilisateur a plus d'un terminal ouvert, comment les terminaux réécrivent-ils le fichier historique de cet utilisateur? la raison pour laquelle je demande est parce que, il est tout à fait possible que dans chacun des terminaux, l'utilisateur finisse par exécuter des commandes différentes. Alors, le fichier historique finit-il par sauvegarder les commandes de tous les terminaux ou seulement du premier à ouvrir? Ou existe-t-il un autre type de système qui est utilisé pour faire face à cette situation?
la source
shopt -s histappend
ne fonctionne pas?J'ai d'abord eu cette idée dans le livre O'Reilly "Unix Power Tools".
Dans mon
.profile
je mets:Chaque fois que mon
.profile
est lu, je reçois un nouveau fichier historique nommé avec le PID de ma session. Si j'ai plusieurs connexions, chaque connexion obtient un fichier historique unique. Fonctionne dansksh
etbash
.Si vous ouvrez simplement de nouveaux terminaux dans une session X, ceux-ci ne sont généralement pas des shells de connexion, mais vous pouvez les configurer pour qu'ils agissent comme des shells de connexion. Par exemple,
rxvt +ls
va commencerrxvt
comme un shell de connexion. Vérifiez les documents pour le terminal que vous utilisez.De plus, à moins que vous n'utilisiez un fichier
.logout
ou.bash_logout
(ou tout autre moyen) pour nettoyer, vous finirez par avoir un crapload de.sh_hist
fichiers.la source
tcsh
:set savehist = (5000 merge)
fusionnela source