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


2

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

如果我有一个名为的会话 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)

has-session 命令将返回名为的会话 一个 AB ABC A B C D ABCDF 存在(错误代码= 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:/$ 

并且以下不存在(错误代码= 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

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


tmux list-session 并解析它 egrep 在解析方面更可控?
Alex

@Alex是的,我目前正在使用 tmux ls -F "#{session_name}"|grep -Fx $session >/dev/null 搜索,但我仍然对这种行为感到好奇,因为它的manpage说: 如果指定的会话不存在,则报告错误并以1退出。
ytch

我同意mapage有太广泛的描述,并留下了假设的空间,这就是我切换到解析的原因 list-session
Alex

Answers:


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.