【发布时间】:2011-02-18 11:05:55
【问题描述】:
我希望能够查看我的命令历史记录并了解我发出各种命令的上下文——换句话说,“我在哪个目录中?”我可以通过多种方式实现这一点,但所有这些(我能想到的)都需要操纵 zsh 历史记录以添加(例如)带有 $(pwd) 结果的注释行。 (我可以创建名为 cd & pushd & popd 等的函数,或者我可以使用 zsh 的 preexec() 函数和它的periodic() 函数最多每 X 秒添加一次注释行,就在我发出命令之前,或者可能有其他方式。)
问题是,我不想直接操作历史文件并绕过 shell 的历史机制,但我想不出一种方法(例如使用 fc 命令)在没有实际上在命令行上键入它。我怎么能这样做?
【问题讨论】:
-
您的目录更改会转到该历史记录 - 当您登录时,您在 $HOME - 历史记录文件无限长,您始终可以解析您所在的目录
-
是的,谢谢,但这可能很麻烦。如果我输入 cd /some/path/to/some/where 然后几乎立即输入一个可以的命令。但实际上我会有很多 cd ..、popd 等命令,而我想知道的命令在某些情况下可能是目录更改后一百个或更多。我正在寻找可以让我快速和轻松查看我发出命令时所处位置的东西。
-
@Kimvais 对在命令行会话过程中可能发生的所有可能事情的看法相当狭窄。一个脚本可以把你放到一个完全不同的目录中。当然你也不建议解析这样的脚本?