如何检测 tmux 是否附加到 bash 中的会话?

Gib*_*boK 1 bash tmux

我有一个.sh文件,它为 tmux 创建一个新会话并添加一些窗口,该文件应该仅在不存在会话时使用。例如:

tmux new-session -A -s `ax` -n ui -d
# add windows and other magic here...
Run Code Online (Sandbox Code Playgroud)

我想防止创建具有相同名称的会话并重新创建窗口,以防文件.sh意外重新执行并且会话正在运行。

基本上我需要的是:

如果不存在具有该会话名称的 tmux 会话轴,则创建该会话。如果我没有附加到 tmux 会话,请附加到该会话。

我想知道如何检测 tmux 会话是否存在以及 tmux 是否附加到它,在本例中ax正在运行并阻止脚本的执行.sh,或者如果会话不退出我想重新执行脚本.sh

目前我正在考虑使用:

tmux ls | grep attached

我想知道您是否知道更好的方法。

小智 5

您可以用来$TMUX检测是否已附加,我的代码是:

if [ ! "$TMUX" ]; then
        tmux attach -t main || tmux new -s main
fi
Run Code Online (Sandbox Code Playgroud)