加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

符号链接 – 在创建新窗口/窗格时停止取消引用路径的Tmux

发布时间:2020-12-13 18:30:19 所属栏目:Linux 来源:网络整理
导读:当我在tmux中创建新的窗口/窗格时,例如通过tmux neww或keybindings前缀c,前缀%etc,新窗格获取与前一个窗格相同的工作目录,但在路径中使用解除引用的符号链接. 例如,如果我在 /home/user/my-link/a my-link – / mnt / user /,我得到了 /mnt/user/a 将新目录
当我在tmux中创建新的窗口/窗格时,例如通过tmux neww或keybindings前缀c,前缀%etc,新窗格获取与前一个窗格相同的工作目录,但在路径中使用解除引用的符号链接.

例如,如果我在

/home/user/my-link/a

my-link – > / mnt / user /,我得到了

/mnt/user/a

将新目录显式传递给tmux也不起作用:

tmux neww -c $(pwd)

我可以禁用这种解除引用吗?我想我可以通过tmux环境变量编写一个解决方法,但我想要一个更清晰的解决方案.

我在Ubuntu 14.04上从repos运行tmux 1.8.

解决方法

无法禁用此行为,似乎甚至无法在tmux( source)中实现此功能.

在Linux中,始终将进程的工作目录作为实际目录进行跟踪(解析符号链接).您可以通过在目录/ home / user / my-link / a中发出ls -l / proc / self / cwd来看到这一点,它将显示当前工作目录实际上是/ mnt / user / a.原因可能是当进程在该目录中时删除(甚至更改)符号链接时不会遇到麻烦.

shell将您/ home / user / my-link / a作为工作目录显示的功能完全在shell本身中实现.它在pwd环境变量中跟踪它,但tmux无法访问子进程的环境变量.

我发现创建一个新窗口的最简单方法就是你想要的

tmux neww "cd $(pwd); exec $SHELL"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读