“tmux has-session”搜索是前缀匹配

ytc*_*tch 7 tmux

我正在尝试通过has-session命令确定 tmux 会话是否存在。

如果我有一个名为abcdf的会话:

adm@VirtualBox:/$ tmux -V
tmux 2.1
adm@VirtualBox:/$ tmux ls
abcdf: 1 windows (created Fri Feb  3 16:19:20 2017) [237x56] (attached)
Run Code Online (Sandbox Code Playgroud)

has-session命令将返回名为aababcabcdabcdf 的会话存在(错误代码=0)

adm@VirtualBox:/$ tmux has -t a
adm@VirtualBox:/$ echo $?
0
adm@VirtualBox:/$ tmux has -t ab
adm@VirtualBox:/$ echo $?
0
adm@VirtualBox:/$ tmux has -t abc
adm@VirtualBox:/$ echo $?
0
adm@VirtualBox:/$ tmux has -t abcd
adm@VirtualBox:/$ echo $?
0
adm@VirtualBox:/$ tmux has -t abcdf
adm@VirtualBox:/$ echo $?
0
adm@VirtualBox:/$ 
Run Code Online (Sandbox Code Playgroud)

并且以下不存在(错误代码= 1)

adm@VirtualBox:/$ tmux has -t b
can't find session b
adm@VirtualBox:/$ echo $?
1
adm@VirtualBox:/$ tmux has -t bc
can't find session bc
adm@VirtualBox:/$ echo $?
1
adm@VirtualBox:/$ tmux has -t bcd
can't find session bcd
adm@VirtualBox:/$ echo $?
1
Run Code Online (Sandbox Code Playgroud)

看起来这个命令将通过前缀匹配来匹配会话,这是正确的吗?如何准确搜索我想要的会话名称?

小智 8

解决方案是使用 = eg

-t=会话名称

这完全匹配。

(今天遇到同样的问题,通过:https : //github.com/tmux/tmux/issues/346找到)