Comment sauvegarder l'historique des shell plus facilement dans tcsh?

3

J'utilise assez souvent tcsh et pose plusieurs questions sur son histoire:

  • Existe-t-il un moyen de sauvegarder des commandes pour différents onglets de shell séparément?
  • Existe-t-il un moyen de sauvegarder les commandes par session (dans des cas comme celui-ci: ssh autre utilisateur @ autre ordinateur)?
  • Puis-je ajouter des dates à l'historique du shell? (Je sais que cela peut être fait en bash)
White Zebra
la source
Ce m'a aidé à résoudre le problème des dates.
White Zebra

Réponses:

1

Il n’existe pas de méthode intégrée pour enregistrer l’enregistrement de l’historique des commandes séparément ou par session. Vous devrez définir votre variable 'histfile' pour chaque instance. Cela signifie que vous avez besoin de quelque chose d'unique dans votre environnement qui existe déjà lorsque votre fichier .tcshrc est généré, ou que vous vous ajoutez du code au sommet de votre .tcshrc qui trouve une valeur unique, peut-être à partir de la commande tty.

Veillez à ne le faire que lorsque vous êtes dans un shell interactif afin d'éviter tout ralentissement ou toute complication inutile des tâches générant de nouveaux shells tcsh inattendus. Par exemple, si vous utilisez vim et exécutez des commandes shell, la commande tty ne se comportera pas.

J'utilise habituellement la méthode prompt3 ...

if ( $?prompt3 ) then
    #
    # interactive-only things...
    #
endif

Pour une histoire séparée, vous pourriez peut-être vous en tirer avec quelque chose comme:

set mytty = ( `tty` )
set histfile = ( ".history.${mytty}" )
aharrison
la source