检测嵌套时退出外部 tmux 会话

检测嵌套时退出外部 tmux 会话

我使用 ssh 连接到远程服务器。在本地和远程计算机上,tmux 在 bash 启动时自动启动。

有没有办法在远程启动 tmux 会话之前分离本地计算机上的 tmux?

更新

并非所有远程计算机都会启动 tmux。我只需要那些启动的技巧,即如果远程未启动,我想将 tmux 会话保存在本地计算机上。

答案1

您可以制作一个使用 detach -E 分离并运行 ssh 的脚本,如下所示:

#!/bin/sh

if [ -n "$TMUX" ]; do
   tmux detach -E "ssh \"$@\""
else
   ssh "$@"
fi

您可以直接运行它或将其别名为 ssh。

请注意,如果您想将标志参数传递给 ssh,这将不起作用。

相关内容