J'aimerais pouvoir parcourir mon historique de commandes et connaître le contexte à partir duquel j'ai émis diverses commandes - en d'autres termes, «dans quel répertoire étais-je? Il y a plusieurs façons d'y parvenir, mais toutes (auxquelles je peux penser) nécessiteraient de manipuler l'historique de zsh pour ajouter (par exemple) une ligne commentée avec le résultat de $ (pwd). Je pourrais créer des fonctions nommées cd & pushd & popd etc, ou je pourrais utiliser la fonction preexec() de zsh et peut-être sa fonction periodic() pour ajouter la ligne de commentaire au plus toutes les X secondes, juste avant d'émettre une commande, ou peut-être Le problème est que je ne veux pas manipuler directement le fichier historique et contourner le mécanisme d'historique du shell, mais je n'arrive pas à trouver un moyen (avec la commande fc, par exemple) de ajouter quelque chose à l'historique sans réellement le taper sur la ligne de commande. Comment pourrais-je faire ça?Comment puis-je (à partir d'un script) ajouter quelque chose à l'historique de la commande zsh?
3
A
Répondre
3
Vous pouvez utiliser la commande print -s
(voir man zshbuiltins
) pour ajouter tout ce que vous voulez à l'historique. Il y a aussi une fonction de hook que vous pouvez créer, appelée zshaddhistory
(voir man zshmisc
) qui peut manipuler le contenu de l'historique au fur et à mesure de sa création.
Voir my Bash history logging functions pour l'inspiration.
Questions connexes
- 1. Ajouter quelque chose à jna.library.path sur OSX
- 2. ajouter quelque chose à la sélection Jquery et le format
- 3. UNIX sort: trier quelque chose à partir du presse-papiers
- 4. Ajouter quelque chose à ruby charge le chemin
- 5. XSLT - Ajouter une classe à quelque chose avec une classe?
- 6. Ajouter quelque chose comme ShowDialog à un contrôle utilisateur personnalisé?
- 7. Mootools ajouter une classe à 'a' href = "quelque chose"
- 8. Comment vérifier quelque chose à intervalles réguliers?
- 9. Comment créer un arbre d'expression pour faire quelque chose de similaire à la commande SQL "J'aime"
- 10. Le script PHP fonctionne à partir de la ligne de commande, pas à partir de cron
- 11. Comment ajouter des en-têtes HTTP personnalisés à IIS à partir de la ligne de commande
- 12. Comment accéder à quelque chose à partir d'une base de données SQLite sur un iPhone?
- 13. VS2010 constamment à la recherche de quelque chose
- 14. Quelque chose de semblable à WAMP?
- 15. Comment faire valoir quelque chose à la compilation en Java?
- 16. expresssion régulière pour correspondre à quelque chose et ne pas correspondre à quelque chose
- 17. Comment ajouter quelque chose à la partie du document HTML avec docutils
- 18. Comment ajouter la condition « LIKE?% Quelque chose% » au titre du produit à cette jointure
- 19. Comment générer quelque chose dans PowerShell
- 20. Comment entrer quelque chose à l'invite DOS par programme?
- 21. Exécuter la commande à partir des variables du script shell
- 22. Comment supprimer quelque chose dans Action Script 3
- 23. Impossible d'exécuter la commande crontab à partir d'un script PHP ... à partir de l'hôte partagé
- 24. Comment mapper ceci à quelque chose de lisible en Java?
- 25. Suggestion de package Zsh
- 26. Fais récurer quelque chose à ma boucle
- 27. besoin quelque chose de bizarre à faire dans MySQL
- 28. Ajax.BeginForm, contrôles utilisateur et mise à jour de quelque chose
- 29. Exécution du script AutoIt à partir de l'invite de commande
- 30. Exécuter le script PowerShell à partir de C# avec les arguments de la ligne de commande
Vos changements de répertoire vont à cet historique - lorsque vous vous connectez, vous êtes à votre $ HOME - avec un fichier historique qui est infiniment long, vous pouvez toujours analyser le répertoire que vous étiez – Kimvais
Oui, merci, mais il peut être un tracas. Si je tape cd/some/path/to/some/where alors tapez presque immédiatement une commande qui serait correcte. Mais en réalité, je vais avoir beaucoup de commandes cd .., popd, etc, et la commande que je me pose peut dans certains cas être une centaine ou plus après le changement de répertoire. Je cherche quelque chose qui me permet de * rapidement * et * facilement * voir où j'étais quand j'ai émis une commande. – iconoclast
@Kimvais Une vue étroite de toutes les choses possibles qui peuvent se produire au cours d'une session de ligne de commande. Un script peut vous déposer dans un répertoire complètement différent. Vous ne suggérez sûrement pas d'analyser un tel script? –