有没有一种方法,在 tmux 之外,在特定会话中通过窗口名称获取窗口索引,前提是有
0 或 1 个具有给定名称的窗口?
我需要此信息来防止创建具有相同名称的窗口,
因此我要么获取要附加的窗口索引,要么如果没有具有给定名称的窗口,则创建一个。
答案1
您可以通过 获取此信息tmux list-windows
。要列出所有会话中的所有窗口,请使用该-a
标志或使用 指定会话 ID -t
。
如果您想要窗口 ID,您可以使用类似以下内容的内容:
tmux list-windows -F '#I "#W"' | awk '$2 ~ /"NAME"/ { print $1 }'
如果您只想知道它是否存在:
NAME=foo
if tmux list-windows -F '#W' | grep -q "^$NAME\$"; then
echo $NAME exists
else
# create new window ...
fi