Як створити сценарій
Цей скрипт перевірить, чи існує сеанс. Якщо сеансу не існує, створіть новий сеанс та приєднайте до нього. Якщо сеанс існує, нічого не відбувається, і ми приєднуємося до цього сеансу. Замініть `~ / development 'на ім'я проекту.
$ touch ~/development && chmod +x ~/development
# ~/development
tmux has-session -t development
if [ $? != 0 ]
then
tmux new-session -s development
fi
tmux attach -t development
Нова сесія з терміналу
Створимо два відокремлених сеансу, перерахуємо їх, приєднаємо до одного, а потім із циклу tmux через сеанси.
tmux new -s name -d
працює зсередини tmux, тому що ми створюємо новий окремий сеанс. Інакше ви отримаєте помилку введення.
$ tmux new -s development -d
$ tmux new -s foo -d
$ tmux ls
> development: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54]
> foo: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54]
$ tmux attach -t
$ tmux ls
> development: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54] (attached)
> foo: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54]
Новий сеанс зсередини tmux
Зараз ми всередині або більш відомі як додані до нашої цільової сесії. Якщо ми спробуємо створити новий сеанс під час додавання, це призведе до помилки введення.
$ tmux new -s bar
> sessions should be nested with care, unset $TMUX to force
Для вирішення цього питання ми створюємо новий окремий сеанс. наприклад,
$ tmux new -s bar -d
$ tmux ls
> development: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54] (attached)
> foo: 1 windows (created Wed Jan 13 11:31:38 2016) [204x54]
> bar: 1 windows (created Wed Jan 13 17:19:35 2016) [204x54]
Цикл (перемикач) Сеанси
Prefix
(
попередній сеанс
Prefix
)
наступна сесія
Примітка: Prefix
це Ctrl-b
за замовчуванням. Ви можете прив'язати Prefix
до Ctrl-a
Mac OSX і ви можете змінити Caps Lock на ctrlsystem preferences > keyboard > modifier keys
Додайте до сеансу, використовуючи командний режим, перебуваючи всередині tmux
Спроба приєднатися до сеансу, не відриваючись, призведе до помилки.
$ tmux attach -t development
> sessions should be nested with care, unset $TMUX to force
Замість цього використовуйте командний режим, Prefix
:
після чого введіть attach -t session_name
та натисніть клавішу Enter.