Просто проверьте, не используете ли вы Linux. Если uname
не существует в Mac, предложение if
также завершится ошибкой.
if [ "$(uname 2> /dev/null)" != "Linux" ]; then
alias emacs='vim'
fi
Простым решением является отсоединение и последующее присоединение непосредственно к сеансу B.
tmux attach-session -t sessionB
Похоже, мой вопрос немного не ясен.
Здесь я хочу выполнять задачи во вложенном сеансе, но после поиска в Google я могу достичь этой цели с помощью send-keys
с опцией, указывающей имя сеанса для действия.Так что нет необходимости переключаться на сеанс, над которым мне нужно работать -Я нахожусь в перспективе zsh
сценария.
Сначала нужно начать сеанс:
tmux new-session -s [session-name] -n [first-tmux-screen-name] -d
Теперь мы можем разделить это окно на секции с помощью параметров splitw:
tmux splitw -h
tmux splitw -v
мы также можем выбрать раздел:
tmux selectp -t0
tmux splitw -v
И в зависимости от того, что мы хотим отобразить или запустить в каждом вложенном окне, мы используем опцию клавиши отправки -. Если мы хотим добавить новое окно в этот сеанс tmux, мы можем использовать эту команду:
tmux new-window -n [name-of-new-window] -t [session-name]
У меня работает zsh:
#!/bin/zsh
tmux new-session -s test -n four-screen -d
tmux splitw -h
tmux splitw -v
tmux selectp -t0
tmux splitw -v
После запуска скрипта :zsh scriptname.zsh затем подключитесь к сеансу :tmux attach