tmux: будет ли он поддерживать регулярное выражение для имени сеанса, когда мы хотим захватить вывод панели - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть ситуация, когда в моем скрипте я продолжаю добавлять текст к исходному имени сеанса

EG: Первый раз, когда я создаю новый сеанс

today=`date +%Y-%m-%d-%H_%M_%S_%N`
tmux new-session -d -s "$today" zsh /home/path/to/script.sh "with_params"

В моем скрипте. sh основываясь на каком-то условии, я хочу добавить текст перед именем сессии:

session_name=`tmux display-message -p "#S"`  #this gets the session name in which the script is running
tmux rename-session -t ${session_name} ABC_${session_name}

.... после некоторого кода я снова переименую его

session_name=`tmux display-message -p "#S"`  #this gets the session name in which the script is running
tmux rename-session -t ${session_name} XYZ_${session_name}

Так что происходит вот

my original session name is "2020-04-10-11_52_01_953906687"
Its gets renamed to XYZ_2020-04-10-11_52_01_953906687 or ABC_2020-04-10-11_52_01_953906687 or KLM_2020-04-10-11_52_01_953906687 etc based on certain conditions.

Теперь я хочу захватить последние пять строк вывода этого сеанса. Я знаю, что у него только одно окно и только одна панель

$ tmux capture-pane -p -S- -E- -e -t *2020-04-10-11_52_01_953906687* |sed '/^$/d'|tail -5
zsh: no matches found: *2020-04-10-11_52_01_953906687*

Так как я могу это сделать.

1 Ответ

0 голосов
/ 10 апреля 2020

Вам нужно экранировать * s, если вы хотите, чтобы они обрабатывались tmux, а не оболочкой. Либо \*, либо поместите все это в ' s.

...