我是 tmux 新手,我想知道如何通过 pane_id 测试窗格是否关闭。
我现在正在使用以下脚本来完成这项工作:
tmux display-message -p -t %21 >/dev/null && echo 123
它有效,但我不确定这是正确的方法。
答案1
你的方式display-message
是一种解决方法。还有另一个命令设计的为了你想要的。从man 1 tmux
:
has-session [-t target-session]
(别名:has
)如果指定的会话不存在,
则报告错误并退出。1
如果确实存在,请使用 退出0
。
它target-session
可能不是一个会话、窗口或窗格。在您的情况%21
下指的是窗格,请使用:
tmux has-session -t %21 2>/dev/null && echo 123
请注意,还指定会话和窗口的语法也应该有效,例如$0:@1.%21
or @1.%21
(记住$0
需要在 shell 中用单引号引起来)。如果您需要测试某些非当前会话/窗口中可能存在的窗格,请使用它们。
答案2
没关系。或者您可以使用例如 lsp -F'#{pane_id}'|grep -q ^%21$。