2

У меня есть сценарий оболочки, специфичный для проекта, который создает переменные среды, псевдонимы и запускает некоторые команды.

Я хочу создать сеанс tmux для этого проекта, который будет использовать мой сценарий оболочки при создании новой панели или окна в сеансе tmux.

Как я могу указать tmux для создания файла или запуска команды на каждой новой панели или в окне определенного сеанса?

1 ответ1

0

Установите параметр default-command для сеанса для запуска вашей оболочки (я предполагаю, что это bash) с параметром --rcfile чтобы использовать сценарий оболочки в качестве файла инициализации

set-option -g default-command "bash --rcfile yourscript.sh"

Поскольку --rcfile заменяет .bashrc , вы добавляете source .bashrc в начало yourscript.sh . Если вы обычно запускаете оболочку входа в систему в окне tmux , вместо этого добавьте source .bash_profile .


Чтобы иметь отдельные команды по умолчанию для разных сеансов, вам нужно сначала создать сеанс, а затем установить его команду по умолчанию.

tmux new-session -s projectA
tmux set-option -s -t projectA default-command "bash --rcfile projectA.sh"

Возможно, вы захотите определить функцию оболочки, чтобы упростить настройку нового сеанса, что-то вроде

new_session () {
    tmux new-session -s "$1"
    tmux set-option -s -t "$1" default-command "bash --rcfile $1.sh"
}

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