![zsh 中跨会话的持久目录堆栈](https://linux22.com/image/40746/zsh%20%E4%B8%AD%E8%B7%A8%E4%BC%9A%E8%AF%9D%E7%9A%84%E6%8C%81%E4%B9%85%E7%9B%AE%E5%BD%95%E5%A0%86%E6%A0%88.png)
我想dirs
跨会话和 tmux 窗格/窗口共享我的目录堆栈(使用 访问的目录堆栈)。
在里面zshbuiltins
手册页我发现autopushd
将我切换到的每个目录添加到堆栈中。但似乎没有一种本地方法可以让堆栈保留并共享它。
我是否必须将堆栈保存到临时文件中还是有更好的解决方案?
答案1
一般来说,这不是一个好主意。考虑这种情况:
会话一想要临时更改目录,因此它会推送当前目录,并期望稍后在完成新目录后弹出它。
第二次会议尝试同样的事情。
会话一尝试将其原始目录从堆栈中弹出,但获取会话二的目录。
这并不能真正回答你的问题,但我试图说明为什么没有本地方法可以做到这一点。对于将堆栈从一个会话一次性“导出”到另一个会话,最好的选择是写入临时文件并将其读回,但不会有一种通用方法可以使堆栈在各个会话之间保持同步。多个会话。