Может любой помогать объяснить, что продолжает tmux
, bash
, и exec
? Я пытаюсь настроить tmux сессию с окном с 4 областями. Идеально, я хочу выполнить команду в 3 из областей: например, Ruby Тонкий сервер и несколько демонов Ruby. Это - то, что я имею до сих пор:
~/.bin/tmux-foo
:
#!/bin/sh
tmux new-session -d -s foo 'exec pfoo "bundle exec thin start"'
tmux rename-window 'Foo'
tmux select-window -t foo:0
tmux split-window -h 'exec pfoo "bundle exec compass watch"'
tmux split-window -v -t 0 'exec pfoo "rake ts:start"'
tmux split-window -v -t 1 'exec pfoo'
tmux -2 attach-session -t foo
~/.bin/pfoo
:
#!/bin/bash
cd ~/projects/foo
rvm use ree
# here I want to execute command1 2 3 or 4...
exec $SHELL
Все это работает..., но когда я ctlr-c
в первой области, которая выполняет тонкий сервер, он останавливает тонкий сервер и возвращается к оболочке. Однако команда не находится в истории; т.е. если я совершил нападки ключ, я не добираюсь bundle exec thin start
команда... Я получаю некоторую другую команду из своей истории удара. Я задаюсь вопросом, существует ли какой-либо способ расположить эти сценарии так, чтобы я получил команды в истории удара.
Также... Я попробовал много комбинаций exec
, exec $SHELL -s ...
, и exec $SHELL -s ... -I
и я не совсем уверен, что продолжается...
Может любой помогать объяснить общее представление о том, что продолжает tmux
и bash
и exec
здесь?
Оказывается, что я хотел что-то вроде этого:
tmux splitw -t 'foo':2
tmux send-keys -t 'foo':2 'rvm use ree' C-m
tmux send-keys -t 'foo':2 'bundle exec compass watch
send-keys
с C-m
выполнит команду в окне/области и сохранит его в истории.