我正在寻找一种方法来做这样的事情没有附加到会话。
tmux attach-session -c <directory> -t <session>
^^^^^^^^^^^^^^
Per tmux(1)
,没有办法在不附加到整个会话的情况下更改默认工作目录(新窗口和新窗格)。
我无法附加到会话,因为我在一些自动化脚本中执行此操作,其中附加会破坏自动化。
答案1
做
`tmux send-keys -t <session> 'cd <directory>'`
做你想做的事?
不确定这是否适用于此后创建的新窗口/窗格,但穷人的解决方法只是<session>:<windowID>.<paneID>
在创建该窗口/窗格后将其发送到。
答案2
您可以简单地
tmux attach -c directory -t session 2> /dev/null &
由于分叉的后台作业不是终端,因此附加将立即退出。但它将成功更改 tmux 会话的工作目录。
编辑:我纠正-s
了,-t
但这个技巧在 tmux 3.1b 中似乎不再起作用了。