3

Я пытаюсь определить, существует ли сессия 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 вернет сеанс с именем a, ab, abc, abcd, 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

Кажется, что эта команда будет соответствовать сеансам путем сопоставления префиксов, это правильно? Как мне найти сеанс точно по названию, которое я хочу?

1 ответ1

2

Решение заключается в использовании = например

-t = имя_сеанс

Это делает точное совпадение.

(Имея ту же проблему сегодня и обнаружена через: https://github.com/tmux/tmux/issues/346)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .