zsh 中跨会话的持久目录堆栈

zsh 中跨会话的持久目录堆栈

我想dirs跨会话和 tmux 窗格/窗口共享我的目录堆栈(使用 访问的目录堆栈)。

在里面zshbuiltins手册页我发现autopushd将我切换到的每个目录添加到堆栈中。但似乎没有一种本地方法可以让堆栈保留并共享它。

我是否必须将堆栈保存到临时文件中还是有更好的解决方案?

答案1

一般来说,这不是一个好主意。考虑这种情况:

  1. 会话一想要临时更改目录,因此它会推送当前目录,并期望稍后在完成新目录后弹出它。

  2. 第二次会议尝试同样的事情。

  3. 会话一尝试将其原始目录从堆栈中弹出,但获取会话二的目录。

这并不能真正回答你的问题,但我试图说明为什么没有本地方法可以做到这一点。对于将堆栈从一个会话一次性“导出”到另一个会话,最好的选择是写入临时文件并将其读回,但不会有一种通用方法可以使堆栈在各个会话之间保持同步。多个会话。

相关内容