当尝试从 tmux 会话中附加到新的 tmux 时,会显示错误:
sessions should be nested with care, unset $TMUX to force
为什么会话不应嵌套是可以理解的,但它会使 tmux 会话之间的跳转变得烦人,因为您需要手动分离然后重新附加到新会话。
是否可以创建一个从当前 tmux 会话分离并附加到给定会话的命令,而无需取消设置 $TMUX?
我尝试过alias tm="tmux detach; tmux new -A -s"
,但是这不起作用,这并不奇怪,因为tmux new -A -s
运行的是我刚刚分离的外壳,而不是我要返回的外壳。
答案1
detach-client [-aP] [-E shell-command] [-s target-session] [-t target-client]
[...] 使用
-E
,运行shell-command
以替换客户端。
(来源)
tm() { tmux detach -E "tmux new -A -s '$1'"; }
您可能需要添加一些逻辑来覆盖为空的情况$1
。