Как начать несколько TMUX AutoScript?

С sed:

echo 'one two' |sed -re 's/([^ ])([^ ]+)( +)([^ ])([^ ]+)/\4\2\3\1\5/'
tne owo

соответствует также пространствам переменных.

0
05.01.2019, 04:51
1 ответ

Вы можете просто передать соответствующие аргументы двум tmuxвызовам:

  • Передайте tmuxпользовательский файл конфигурации с аргументом -fсамому tmux.
  • Для new-sessionвы должны передать имя сеанса, используя аргумент -s.
  • Для attachвы передаете имя сеанса через-t("t" для "цели" ).

Собираем все воедино:

# TmuxWork.sh
if which tmux >/dev/null 2>&1; then
    #if not inside a tmux session, and if no session is started, start a new session
    test -z "$TMUX" && (
        tmux -f ~/.tmux-work.conf attach -t work ||
        tmux -f ~/.tmux-work.conf new-session -s work
    )
fi

(Вероятно, вам нужно передать файл конфигурации только в new-session, так как в большинстве случаев это не имеет значения для других команд, таких как attach, или команд, которые выполняются внутри сеанса.)

Вы можете расширить этот сценарий, чтобы фактически переключать на «работу» сеанса, если вы выполняете его из «домашнего» сеанса или другого сеанса, используя команду switch-client:

if test -n "$TMUX" ; then
    tmux switch-client -t work
else
    tmux attach -t work ||
    tmux -f ~/.tmux-work.conf new-session -s work
fi

С помощью некоторых сценариеввы можете сохранить имя сеанса («work» в этом примере )и имя пользовательского файла конфигурации в переменных оболочки и повторно использовать этот фрагмент для создания пользовательских сценариев для многих сеансов, которыми вы хотели бы управлять.

0
28.01.2020, 04:05

Теги

Похожие вопросы